コンテンツにスキップ

Pants でディレクトリ配下の設定を統一する

概要

Pants の__defaults__を使うと、ディレクトリ配下のターゲットへ同じ設定をまとめて適用できる。lint やテストのスキップ設定と、下位のディレクトリで設定を変える例を示す。

詳細

BUILD ファイルに設定を記述することでディレクトリ配下の設定を統一できるので、特定のディレクトリでリンターやテストをスキップしたい時に一括で設定できる。上位のディレクトリで設定した値は下位のディレクトリで上書き可能だ。

src/example/BUILD
    # タグを付与して、blackをスキップする
    __defaults__(all=dict(tags=["example"], skip_black=True))
src/example/override/BUILD
1
2
3
4
    # `files` と `resources` のターゲットの設定を上書きする
    __defaults__({
      (files, resources): dict(tags=["example", "overridden"], description="Our assets")
    })
src/example/extend/BUILD
    # extend=True の場合、任意のターゲットに対して、デフォルトを置き換えるのではなく、追加で付与する。
    __defaults__(extend=True, all=dict(description="Add default description to the defaults."))
src/example/nodefaults/BUILD
    # 変更されたデフォルトをリセットするには、空のdictで上書きすればよい
    __defaults__(all={})

参考