对 proto 文件使用共享的外部包?

Nat*_*and 6 go protocol-buffers

我们有几个项目依赖于共享类型进行通信。团队决定使用具有这些类型的共享包,并希望在此实现中使用协议缓冲区。如果重要的话,语言是 Go,而且所有这些项目都不是公开的。

我们如何使用项目中未定义的协议缓冲区类型?我似乎找不到在应用程序之间共享完全外部类型的方法。我读到的所有内容都倾向于解释如何使用子包.proto文件,而不是由另一个开发人员/团队在您的项目中的另一个项目中定义的类型。

Mat*_*teo 1

您可以使用protoc并指定包含路径,例如:

protoc -I/usr/local/include -I. \
-I${GOPATH}/src \
-I${GOPATH}/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis \
--go_out=$DST_DIR \ 
my-proto.proto
Run Code Online (Sandbox Code Playgroud)

希望这有帮助