如果我有
cc_binary(
name = "stooges",
srcs = [ "larry.cc", "curly.cc", "moe.cc" ],
)
是否存在将返回"larry.cc", "curly.cc", "moe.cc"
的Bazel查询?
目前我唯一能想到的就是
$ bazel query --output=build //:stooges | perl -nwle 'print $1 if /srcss*=s*[([^]]*)]/'
获取srcs
属性中列出的所有标签:
bazel query 'labels(srcs,//your_package:your_target)'
在您的案例中为bazel query 'labels(srcs,//:stooges)'
。
应返回:
//:larry.cc
//:curly.cc
//:moe.cc
如果您想拥有所有hdrs
和srcs
标签:
bazel query 'labels(srcs,//your_package:your_target) union labels(hdrs,//your_package:your_target)'
您还可以使用Bazel特性来查询源文件。更多详细信息请点击此处。