所有的bazel规则都将构建目标放置在特定位置。
我可以通过
如何编写构建规则以将所有程序放在单个
我应该编写自己的程序来遍历
最佳实践是什么?将所有程序和测试放在相同的特定目录中非常常见。
我可以通过
bazel-bin/
找到这些目标,但它们会散布在其他我不关心的非目标文件中。如何编写构建规则以将所有程序放在单个
bin/
目录中?我应该编写自己的程序来遍历
bazel-bin/
并将所有程序rsync到类似于usr/local/bin
的位置,还是有一个查询语句可以使用? 我希望它只是构建规则的一部分,但好像默认规则不支持这样的功能。而且我不喜欢先运行构建,然后再运行第二步将所有二进制文件同步到相同的文件夹中的想法。最佳实践是什么?将所有程序和测试放在相同的特定目录中非常常见。
pkg_tar
的接受答案。您还可以使用bazel build
中的--sandbox_writable_path
使程序在系统上输出文件。假设您将要发布的构建规则的data
工件已准备好,这似乎是一个不错的解决方案。 - Trevor Hickey