A question about gRPC codegen with tonic (uses protoc) under the hood.
The third party protos I am using are have package names like thirdparty.specificpackage, for example:
syntax = "proto3";
package thirdparty.common;
import "google/protobuf/empty.proto";
import "google/protobuf/wrappers.proto";
service CommonService {
...
}
and a build.rs that looks like this:
tonic_build::configure()
.protoc_arg("--experimental_allow_proto3_optional") // for older systems
.build_client(true)
.build_server(true)
.out_dir("./src")
.compile(
&[
"src/myprotoproject/protos/services/decision_engine.proto"],
&["src"],
)?;
the generated code from my cargo build is named thirdparty.common.rs - how do I import this into my Rust code?
mod thirdparty.common is not a valid Rust identifier because of the . - are there best practices around this?