Details
cd native/cpp/CommonCpp/grpc/grpc_client && cargo build
Diff Detail
- Repository
- rCOMM Comm
- Branch
- identity-client (branched from master)
- Lint
No Lint Coverage - Unit
No Test Coverage
Event Timeline
native/cpp/CommonCpp/grpc/grpc_client/build.rs | ||
---|---|---|
6 ↗ | (On Diff #16678) | no reason to use C++11 since C++14 works |
native/cpp/CommonCpp/grpc/grpc_client/src/identity_client.rs | ||
1 ↗ | (On Diff #16678) | changing the location of the cxx bridge to identity_client.rs changed the name of the generated files from lib.rs.cc and lib.rs.h to identity_client.rs.cc and identity_client.rs.h |
native/ios/Comm.xcodeproj/project.pbxproj | ||
886 ↗ | (On Diff #16678) |
|
If this diff is blocking people we could land it and follow up later in a separate task, though
native/cpp/CommonCpp/grpc/grpc_client/cxx.h | ||
---|---|---|
1 ↗ | (On Diff #16772) | decided against manually editing the generated files. we are tracking adding the generated tag programmatically here https://linear.app/comm/issue/ENG-1810/improve-rust-library-integration-in-xcode |
Some more restructuring and added another script for cleanup (this was originally in Xcode but was unreadable there).
Going back to a single CXX bridge module in lib.rs because CXX generates files for each bridge, which we don't want.
My comment can be address in another revision if this is blocking other work
scripts/clean-up-rust-native-library.sh | ||
---|---|---|
2–6 | Why do we need to cd into grpc_client ? also, should target the other files which are being copied. $ echo {cxx.h,lib.rs.{h,cc}} cxx.h lib.rs.h lib.rs.cc |
If the output files are known ahead of time, we should probably be using a "build rule" rather than a "build phase". The difference being phases are ran regardless (so this script gets ran on every build), where as "build rules" can have the "the output is newer than the input" early exit behavior.
scripts/clean-up-rust-native-library.sh | ||
---|---|---|
2–6 | you're right, we don't need to cd |
We need scripts to build the library and generate the cxx bridge files. Is that possible with build rules?
native/cpp/CommonCpp/grpc/grpc_client/build.rs | ||
---|---|---|
5 | no reason to use 11 since 14 works | |
native/cpp/CommonCpp/grpc/grpc_client/cxx.h | ||
1 | these generated header files are deleted altogether in the next diff | |
native/cpp/CommonCpp/grpc/grpc_client/src/lib.rs | ||
74 | needs to be pub so it's accessible from identity_client.rs |