如何在Bazel中使用Google API

时间:2017-05-16 11:51:01

标签: go google-api bazel

我目前正试图在Bazel的Go中使用Google API(目前仅由于注释选项)。

proto API有official repo。他们将Go用户重定向到special go variant

两者都只定义了一个存根Bazel包。因此似乎没有一个可以直接使用。

所以这样做的一种方法是fork the latter,引入Packages来构建{{1}},并希望目录结构安抚go rules。 问题:

  1. 是否已有另一个可以简单使用的存储库?
  2. 如果不是:

    1. 后者的回购标记为实验性的。变化的可能性有多大?
    2. 后者的回购是否保持同步?
    3. 是否应该使用后者的资源或从头开始用Bazel制作的新资源?
    4. 有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

我问过去的团队,答案是:

  对于这种情况,

https://github.com/bazelbuild/rules_go/blob/master/proto/go_proto_library.bzl没有一个很好的解决方案,其中.proto与.pb.go文件完全不同,只是使用genrule从源代码复制.proto文件然后一个go_proto_library来操作它。

     

https://github.com/pubref/rules_protobuf/blob/master/go/rules.bzl有一个go_proto_library,允许.proto来自一个地方而.pb.go来自另一个地方,但免责声明:此代码不归Google所有或维护。

     

关于问题:

     

1)否

     

2)不知道

     

3)见2

     

4)bazel始终建议从源(在本例中为.proto文件)生成

     

5)还没有