【发布时间】:2020-02-01 21:36:57
【问题描述】:
我想要一个能够一次构建多个目标的 Bazel 规则。所以基本上是这样的:
build_all(
name = "build_all",
targets = [
"//services/service1:build",
"//services/service2:build",
"//services/service3:build",
]
)
所以我会跑
bazel build //:build_all
用一个简单的命令构建我的所有服务(测试也是如此)。但我找不到任何当前的解决方案。
有没有办法做到这一点?
【问题讨论】:
-
我用谷歌搜索找到了这个。也许有帮助:github.com/atlassian/bazel-tools/tree/master/multirun
-
是的,我在几分钟前尝试过,但它似乎只适用于“可运行”目标。测试和构建给了我一个错误。但也许你可以证明我错了:)
-
您应该将您的服务设置为 build_all 的依赖项。通常,“数据”是最灵活的属性。但也要知道 bazel build //... 将构建所有内容,而 bazel build //services/... 将构建所有服务下的内容。
标签: bazel bazel-rules