是否可以使用 Bazel 构建 Go 库而不是二进制文件?

我有一个实现 GRPC API 的应用程序。Bazel 使用存储库中的 .proto 文件生成 Go 代码,然后构建一个二进制文件。

我的问题:是否可以配置一个新目标,以便 Bazel 生成(除了二进制文件之外)其他应用程序可以使用的 Go 库?

我知道 Bazel 将生成的代码存储在其沙箱深处的某个地方,但是我希望有一种更可靠的方式,因为路径可能会在未来的 Bazel 版本中发生变化。

UPD:如果使用 Bazel 无法实现,请提供有关如何使用不同工具实现相同目标的任何提示。


月关宝盒
浏览 109回答 1
1回答

青春有我

您可以使用go_proto_library就像是go_proto_library(    name = "date_go_proto",    importpath = "google.golang.org/genproto/googleapis/type/date",    protos = [":date_proto"],)这个例子来自这个文件但是,如果您正在寻找生成源文件而不是二进制编译库的东西,请查看rules_go#512中的票证,这个功能正在开展工作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go