Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add vcpkg target to provide API source only #332

Merged
merged 4 commits into from
Aug 5, 2024
Merged

Conversation

abeltrano
Copy link
Contributor

@abeltrano abeltrano commented Aug 3, 2024

Type

  • Bug fix
  • Feature addition
  • Feature update
  • Documentation
  • Build Infrastructure

Side Effects

  • Breaking change
  • Non-functional change

Goals

  • Allow netremote consumers via vcpkg acquire the protocol buffer + gRPC source (.proto) only, instead of the fully built C++ bindings. This allows consumption with zero dependencies.

Technical Details

  • Rename protocol directory to api.
  • Separate pure API definitions from generation and compilation of C++ bindings.
  • Add vcpkg feature api which only provides the .proto files.
  • Rename existing vcpkg feature protocol to api-bindings.
  • Remove all dependencies from vcpkg manifest except cmake tools, relocating them to the appropriate features.

Test Results

  • Built project locally to ensure development builds succeed.
  • TBD: consume project using updated portfile.cmake and vcpkg.json.

Reviewer Focus

  • None

Future Work

  • Since the API can now be consumed separately from the server binary, some attention should be given to versioning as the client and server may not match API version.

Checklist

  • Build target all compiles cleanly.
  • clang-format and clang-tidy deltas produced no new output.
  • Newly added functions include doxygen-style comment block.

@abeltrano abeltrano requested a review from a team as a code owner August 3, 2024 21:25
@abeltrano abeltrano merged commit d839307 into develop Aug 5, 2024
5 checks passed
@abeltrano abeltrano deleted the vspkgfeatproto branch August 5, 2024 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant