【发布时间】:2021-06-16 17:06:07
【问题描述】:
Bazel genquery 文档说:
与 BUILD 文件中的命令行和其他地方相比,这里的标签是相对于工作区的根目录进行解析的。例如,文件 a/BUILD 中此属性中的标签 :b 将引用目标 //:b。
这意味着,在pkg 包中我必须写//pkg:b 而不是b 或:b。但是,如果将 genquery 包装在宏中,这会导致用户混淆:用户必须了解实现才能了解附加要求,例如:
my_cc_binary(
name = "app",
deps = ["foo", ":bar", "//baz:qux"],
)
如果my_cc_binary 包装了一个在deps 上运行的genquery(除了cc_binary),标签的语义就会改变。如何使指定的相对标签在宏中成为绝对标签?
【问题讨论】:
标签: bazel