所有的 bazel 规则都将构建目标放在特定位置。
我可以通过 bazel-bin/
找到目标,但它们都递归地分散在其他我不关心的非目标文件中。
如何编写一个构建规则,将我的所有程序放在一个 bin/
目录中?
我是否应该编写自己的程序来遍历 bazel-bin/
并将所有程序同步到类似 usr/local/bin
的地方,或者是否有查询我可以?我希望它只是构建规则的一部分,但默认规则似乎不支持此类内容。而且我不喜欢必须运行构建,然后运行第二步将我所有的二进制文件同步到同一个文件夹的想法。
推荐的做法是什么?希望所有程序和所有测试都在相同的特定目录中是很常见的。
最佳答案
考虑使用 pkg_tar ,您可以使用它来声明您实际想要分发的文件/输出和 package_dir
属性将文件放在 usr/local/bin
或您想要的任何地方压缩包。
关于target - 如何移动 bazel 构建目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47488635/