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查询函数可以选择生成规则的特定属性的内容?

您需要