Skip to content

Commit

Permalink
feat: initial public SDK release
Browse files Browse the repository at this point in the history
  • Loading branch information
dogun-anduril committed Dec 3, 2024
0 parents commit 5e0dd5a
Show file tree
Hide file tree
Showing 205 changed files with 210,403 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @anduril/lattice-sdk-maintainers
21 changes: 21 additions & 0 deletions .github/workflows/commit-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: "Lint commit"

on:
pull_request_target:
types:
- opened
- edited
- synchronize
- reopened
permissions:
pull-requests: read
jobs:
main:
name: Validate PR title
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
requireScope: false
28 changes: 28 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Release
on:
push:
branches:
- master

permissions:
contents: read

jobs:
release:
name: Release
runs-on: ubuntu-latest
permissions:
contents: write # to be able to publish a GitHub release
issues: write # to be able to comment on released issues
pull-requests: write # to be able to comment on released pull requests
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Semantic Release
uses: cycjimmy/semantic-release-action@v4
with:
semantic_version: 24.2.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
46 changes: 46 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

# CMake
CMakeLists.txt.user
CMakeCache.txt
CMakeFiles
CMakeScripts
Testing
Makefile
cmake_install.cmake
install_manifest.txt
compile_commands.json
CTestTestfile.cmake
_deps
CMakeUserPresets.json
5 changes: 5 additions & 0 deletions .releaserc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
plugins: [
"@semantic-release/commit-analyzer",
'@semantic-release/release-notes-generator',
"@semantic-release/github"
]
31 changes: 31 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
include(CMakePackageConfigHelpers)

cmake_minimum_required(VERSION 3.16)
project(lattice-sdk-cpp LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED on)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(ABSL_PROPAGATE_CXX_STD ON)
set(ABSL_ENABLE_INSTALL ON)

## Get all the Proto generated files
file(GLOB_RECURSE lattice-sdk_SOURCES src/*.cc)
set(SOURCES ${lattice-sdk_SOURCES})

file(GLOB_RECURSE lattice-sdk_HEADERS src/*.h)
set(HEADERS ${lattice-sdk_HEADERS})

add_library(${PROJECT_NAME} ${SOURCES} ${HEADERS})

target_include_directories(${PROJECT_NAME}
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
$<INSTALL_INTERFACE:include>
)

# Find system-installed gRPC and Protobuf libraries
find_package(gRPC 1.68.0 CONFIG REQUIRED)
find_package(protobuf 29.0.0 CONFIG REQUIRED)

target_link_libraries(${PROJECT_NAME} PUBLIC gRPC::grpc++ protobuf::libprotobuf)
188 changes: 188 additions & 0 deletions LICENSE.md

Large diffs are not rendered by default.

48 changes: 48 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Lattice SDK C++

[![Version](https://img.shields.io/github/v/release/anduril/lattice-sdk-cpp)](https://github.com/anduril/lattice-sdk-cpp/releases)

The official [Anduril](https://www.anduril.com/) Lattice SDK for C++.

## Documentation

See the documentation for [Lattice C++ SDK](https://docs.anduril.com/sdks/cpp).

## Requirements

⚠️ It's very important that the versions of lib protobuf match the version that it was compiled with as C++ requires very specific [guarantees](https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp). The current requirements are:

* `gRPC == 1.68.0`
* `Protobuf == 29.0.0`
* `CMake >= 3.16`

## Installation

The only supported way of install the C++ SDK is by fetching the package using CMake. Please use a fixed version of `GIT_TAG` to ensure that
you are not impacted by dependency updates of `gRPC` or `Protobuf`. The latest version is available [here](https://github.com/anduril/lattice-sdk-cpp/releases/latest).

### CMakeLists.txt

```cmake
cmake_minimum_required(VERSION 3.14.0)
project(lattice-sdk-example)
# Download the SDK from github and add it as part of the project
include(FetchContent)
FetchContent_Declare(
lattice-sdk-cpp
GIT_REPOSITORY https://github.com/anduril/lattice-sdk-cpp.git
GIT_TAG v1.0.0
)
FetchContent_MakeAvailable(lattice-sdk-cpp)
# Other build instructions
....
# Link SDK with your sample application.
target_link_libraries(sample_app lattice-sdk-cpp)
```

## Support

For support with this library please [file an issue](https://github.com/anduril/lattice-sdk-cpp/issues/new) or reach out to your Anduril representative.
5 changes: 5 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Security Policy

## Reporting a Vulnerability

Please report any security issues to the Anduril Information Security team using the email [email protected]. Additional information including our pgp key can be found in the [security.txt page](https://www.anduril.com/.well-known/security.txt) of our website.
29 changes: 29 additions & 0 deletions src/anduril/entitymanager/v1/classification.pub.grpc.pb.cc

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

37 changes: 37 additions & 0 deletions src/anduril/entitymanager/v1/classification.pub.grpc.pb.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 5e0dd5a

Please sign in to comment.