2017-12-14 8 views
1

bazelを使用すると、BUILD.bazelファイルの始めにload()関数が繰り返し呼び出されます。すべてのサブパッケージBUILD.Bazelファイルにコード/マクロを適用

さらに、私は自分のコード(bazelを別の言語に拡張しています)をテストするのを見ています。私はすべてのビルドファイルでいくつかのマクロ関数を呼び出す必要があります。

すべてのサブパッケージにカスタムコードを適用する方法はありますか(BUILD.bazelファイルに何も書き込む必要はありません)。

+0

これは、buildozerが行うべき機能のようです。ここに機能要求をファイルしますか? https://github.com/bazelbuild/buildtools/tree/master/buildozer – Jin

+1

推奨事項はコードを繰り返すことです。 (他の言語と同様に)ファイルの先頭に 'load()'文を置いても構いません。 – Laurent

答えて

1

作業領域のtools/build_rules/prelude_bazelファイルにloadステートメントを入れることができます。たとえば、Skydoc rules documentationルールには、prelude_bazelファイルに次のものが追加されています。

load(
    "@io_bazel_skydoc//skylark:skylark.bzl", 
    "skydoc_repositories", 
    "skylark_library", 
    "skylark_doc", 
) 
関連する問題