Our solution is to have a dedicated repo for proto/grpc definitions, and to generate code libraries from those in the various languages needed. Then for application code (in different repos) we reference the appropriate build packages. This way there's a single source of truth for the definitions and all clients/servers are working from the same definitions. Along with that we use semantic versioning for changes to the shared definitions.
On Wednesday, April 15, 2020 at 10:54:29 AM UTC-7, Penn (Dapeng) Zhang wrote: > > This is an open question and there might not be the best practice, but > google provides a guidance for API owners to release their protobuf with > semantic > versioning <https://semver.org/> ( > https://cloud.google.com/apis/design/versioning) for best effort on > backward compatibility and API stability. > > On Friday, April 10, 2020 at 9:46:24 PM UTC-7 [email protected] wrote: > >> Hi everyone, I'm currently importing proto definitions for gRPC services >> using git submodules but I found it quite not elegant. I always have to >> sync the submodules manually, and it's quite easy to lose track. I wonder >> how people have been dealing with the situation. Mono-repo pattern appears >> as another solution to the issue, but I don't think that's in favor for Git >> either. >> > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/6ed6a765-dabc-46e5-bd2b-9e3d72b7b6e2%40googlegroups.com.
