如何移动 bazel 构建目标?

How do I move a bazel build target?

所有 bazel 规则都将构建目标放在特定位置。
我可以通过 bazel-bin/ 找到目标,但它们都递归地分散在我不关心的其他非目标文件中。

如何编写构建规则,将我的所有程序放在一个 bin/ 目录中?

我是否应该编写自己的程序来遍历 bazel-bin/ 并将所有程序同步到 usr/local/bin 之类的东西,或者我可以做一个查询吗?我希望它只是构建规则的一部分,但默认规则似乎不支持此类内容。而且我不喜欢必须 运行 构建,然后 运行 第二步将我所有的二进制文件同步到同一个文件夹的想法。

推荐的方法是什么?希望所有程序和所有测试都在相同的特定目录中是很常见的。

考虑使用 pkg_tar,您可以使用它来声明您实际想要分发的 files/outputs 和 package_dir 属性以将文件放入 usr/local/bin 或在 tarball 中的任何位置。