【发布时间】:2018-10-12 21:41:12
【问题描述】:
这感觉太明显了,无法回答,但如果答案就在那里,我还没有找到。就上下文而言,我正在将其他人的现有代码合并到 Bazel 构建中,所以我真的不是在寻找“不要那样做”类型的答案。
代码会生成许多相关文件:库、编译的二进制文件(如果重要的话,来自 C 和 C++)、python 和 shell 脚本等。这些文件希望在特定位置找到彼此(例如,shell 脚本通过以下方式引用二进制文件)相对或绝对路径),我需要打包并安装全部。
有没有办法在 Bazel 中做到这一点?挑选出一堆 bazel 生成的文件(在这种情况下,是一堆我们通过未修改的输入文件)并将它们放在一个 tarball 或标准包格式(例如.deb)中,甚至只是放置它们在已知位置的本地文件系统中?
我见过的最接近的想法基本上是手动完成(例如,编写一个 shell 脚本进入 Bazel 的输出目录并复制出感兴趣的文件),但这似乎很容易出错。必须有一种方法可以利用构建系统的智能来捆绑一堆目标和数据文件,对吧?
【问题讨论】: