【发布时间】:2018-10-30 16:37:36
【问题描述】:
我有一个父目录foo,子目录bar、baz 和qux。所有四个目录都包含一个 bazel BUILD 文件并定义 filegroup 包含子目录中所有文件的规则(以及各种其他规则)。这样做的问题是父目录foo 中的filegroup 不能使用glob 来确保包含所有文件(因为glob 不会跨越包边界)。相反,我目前在foo 中手动将所有子规则列为srcs,并且此手动列表容易出错,因为当添加foo 的另一个子规则时,作者必须记住将其添加到srcs 的 foo。我试图通过查看在foo 中添加genquery 规则来解决这个问题取得一些进展(认为我可以在构建时以某种方式以编程方式从中提取srcs 列表),但在@987654335 中不允许使用递归模式@ 的 genquery 规则,所以这不成功。
创建这样一个文件组最不容易出错的方法是什么?通过列出srcs,有什么比我目前手动构建它更好的吗?
【问题讨论】:
-
你怎么知道哪些子组应该在超组中?
标签: bazel