2017-11-09 10 views
0

bazel queryを使用して、ルール内の特定の属性の内容を返す方法はありますか?私はエクスポートされたヘッダ(hdrs属性はcc_libraryです)のリストをフル(ワークスペース相対)パスで出力することができるようにしたいと思います。特定の種類のソースファイルのBazelクエリ

私はbazel buildを実行し、外部スクリプトを使用して別のビルドシステムで使用する成果物をパッケージ化したいので、ヘッダーとコンパイルされたライブラリを取得する必要があります。ヘッダの

、私は、のように公開さマークされているcc_libraryターゲットを照会その依存関係の推移閉包を取得し、その後、私はコピーする必要があるヘッダファイルとしてその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属性ではエクスポートされません。 BUILDルールの特定の属性の内容を選択できるbazelクエリ関数はありますか?

答えて

関連する問題