Bazel查询特定类型的源文件
有没有一种方法可以使用Bazel查询特定类型的源文件,bazel,Bazel,有没有一种方法可以使用bazel query返回规则内部特定属性的内容?我希望能够打印出具有完整(工作空间相关)路径的导出标题列表(cc\u库的hdrs属性) 完整的故事是我想执行一个bazel构建,然后使用一个外部脚本来打包工件以供另一个构建系统使用,因此我需要能够获取头文件和编译的库 对于头文件,我想我将查询标记为公共可见的cc_库目标,获取它们的依赖项的传递闭包,然后将它们的hdrs属性的并集作为我需要复制的头文件 我可以使用以下方法获取依赖项列表: bazel query 'kind("
bazel query
返回规则内部特定属性的内容?我希望能够打印出具有完整(工作空间相关)路径的导出标题列表(cc\u库的hdrs
属性)
完整的故事是我想执行一个bazel构建
,然后使用一个外部脚本来打包工件以供另一个构建系统使用,因此我需要能够获取头文件和编译的库
对于头文件,我想我将查询标记为公共可见的cc_库
目标,获取它们的依赖项的传递闭包,然后将它们的hdrs
属性的并集作为我需要复制的头文件
我可以使用以下方法获取依赖项列表:
bazel query 'kind("cc_library",
deps(attr("visibility",
"//visibility:public",
//... except //tools/...)
)
)'
通过嵌套上述内容,我可以获得完整的源文件列表:
bazel query 'kind("source file",
deps(kind("cc_library",
deps(attr("visibility",
"//visibility:public",
//... except //tools/...)
)
))
)' --noimplicit_deps
但是,从源列表中不清楚哪些标题是在hdrs
属性中“导出”的,哪些是通过srcs
属性未导出的。是否有一个bazel查询函数可以选择生成规则的特定属性的内容?您需要