如何在 bazel 中查询规则的属性?
How can I query the attribute of a rule in bazel?
如果我有
cc_binary(
name = "stooges",
srcs = [ "larry.cc", "curly.cc", "moe.cc" ],
)
是否有一个 bazel 查询将 return "larry.cc", "curly.cc", "moe.cc"
?
目前我唯一能想到的就是
$ bazel query --output=build //:stooges | perl -nwle 'print if /srcs\s*=\s*\[([^]]*)\]/'
获取 srcs
属性中列出的所有标签:
bazel query 'labels(srcs,//your_package:your_target)'
你的情况bazel query 'labels(srcs,//:stooges)'
。
应该return:
//:larry.cc
//:curly.cc
//:moe.cc
如果您想要所有 hdrs
和 srcs
标签:
bazel query 'labels(srcs,//your_package:your_target) union labels(hdrs,//your_package:your_target)'
您还可以使用 Bazel Aspects 来查询源文件。更多详情 here.
如果我有
cc_binary(
name = "stooges",
srcs = [ "larry.cc", "curly.cc", "moe.cc" ],
)
是否有一个 bazel 查询将 return "larry.cc", "curly.cc", "moe.cc"
?
目前我唯一能想到的就是
$ bazel query --output=build //:stooges | perl -nwle 'print if /srcs\s*=\s*\[([^]]*)\]/'
获取 srcs
属性中列出的所有标签:
bazel query 'labels(srcs,//your_package:your_target)'
你的情况bazel query 'labels(srcs,//:stooges)'
。
应该return:
//:larry.cc
//:curly.cc
//:moe.cc
如果您想要所有 hdrs
和 srcs
标签:
bazel query 'labels(srcs,//your_package:your_target) union labels(hdrs,//your_package:your_target)'
您还可以使用 Bazel Aspects 来查询源文件。更多详情 here.