我正在尝试遵循贡献者的说明:
https://bazel.build/contributing.html
我有一个成功的主人建立(即bazel build // src:bazel),但是文档也建议"你可能想要构建Bazel使用的各种工具。"我试图这样做,例如:
cd src/java_tools/singlejar
bazel build //...
但它失败了:
ERROR: /Users/.../bazel/third_party/protobuf/3.2.0/BUILD:621:1: no such target '//external:gtest': target 'gtest' not declared in package 'external' defined by /Users/plaird/scone/public/bazel/WORKSPACE and referenced by '//third_party/protobuf/3.2.0:test_plugin'.
我是否需要在本地构建gtest,然后将其添加到WORKSPACE文件中?
答案 0 :(得分:1)
bazel build //...
,无论你在哪里调用它,都会构建项目中的所有内容。看起来你可能想要的是bazel build //src/java_tools/singlejar/...
,它将构建该目录下的所有目标。
但是,一般情况下,您可能不需要单独编译singlejar。我已经在Bazel工作了好几年,99%的时间你没有必要单独构建工具。
就你所得到的错误而言,如果我们能够建造//...
会很好,但它并不是一个重要的优先事项。 protobuf代码构建很奇怪,我不建议尝试调试它,只是跳转到你想要实际工作的任何东西。