config

これは、ルールがどのようなビルド設定であるかを記述する構成遷移とビルド設定記述子を作成するための最上位モジュールです。

例: 次のルールは、rule() 関数の build_setting パラメータを設定することで、ビルド設定としてマークされます。具体的には、int タイプのビルド設定であり、flag です。つまり、このビルド設定はコマンドラインで呼び出すことができます。

  my_rule = rule(
    implementation = _impl,
    build_setting = config.int(flag = True),
    ...
  )

メンバー

ブール値

BuildSetting config.bool(*, flag=False)

ブール型のビルド設定

パラメータ

パラメータ 説明
flag bool; デフォルトは False
このビルド設定がコマンドラインで呼び出し可能かどうか。

exec

ExecTransitionFactory config.exec(exec_group=None)

実行の遷移を作成します。

パラメータ

パラメータ 説明
exec_group 文字列、または None。デフォルトは None
です。 このトランジションで使用する実行プラットフォームの実行グループの名前。指定しない場合、この exec 遷移ではターゲットのデフォルトの実行プラットフォームが使用されます。

int

BuildSetting config.int(*, flag=False)

整数型のビルド設定

パラメータ

パラメータ 説明
flag bool; デフォルトは False
このビルド設定がコマンドラインで呼び出し可能かどうか。

なし

transition config.none()

すべての構成を削除し、すべてのフラグの設定を解除する移行を作成します。依存関係がデータのみで、ビルドする必要があるコードを含まないが、一度だけ分析する必要がある場合を想定しています。

文字列

BuildSetting config.string(*, flag=False, allow_multiple=False)

文字列型のビルド設定

パラメータ

パラメータ 説明
flag bool; デフォルトは False
このビルド設定がコマンドラインで呼び出し可能かどうか。
allow_multiple bool; デフォルトは False
非推奨。代わりに repeatable = True を使用した string_list 設定を使用してください。設定されている場合、このフラグはコマンドラインで複数回設定できます。遷移とビルド設定実装関数でアクセスされるフラグの値は、文字列のリストになります。挿入順序と重複する値の両方が維持されます。異なる動作が必要な場合は、ビルド設定実装関数でこのリストを後処理できます。

string_list

BuildSetting config.string_list(*, flag=False, repeatable=False)

文字列リスト型のビルド設定。コマンドラインで、--//my/setting=foo,bar のようにカンマ区切りの値を使用してリストを渡します。

パラメータ

パラメータ 説明
flag bool; デフォルトは False
このビルド設定がコマンドラインで呼び出し可能かどうか。
repeatable bool。デフォルトは False
です。 設定されている場合、カンマ区切りの値が想定される代わりに、このフラグをコマンドラインで複数回設定できます。各個別の値は、リスト値に追加される単一の文字列として扱われます。挿入順序と重複する値の両方が維持されます。異なる動作が必要な場合は、ビルド設定実装関数でこのリストを後処理できます。

string_set

BuildSetting config.string_set(*, flag=False, repeatable=False)

文字列セット型のビルド設定。この設定の値は、Starlark の文字列のセットになります。コマンドラインで、--//my/setting=foo,bar などのカンマ区切りの値を使用してセットを渡します。

string_list とは異なり、要素の順序は関係なく、各要素の単一インスタンスのみが維持されます。これらのプロパティが不要なフラグには string_list よりもこちらが推奨されます。不要な構成のフォークを回避することで、ビルドのパフォーマンスを改善できるためです。

パラメータ

パラメータ 説明
flag bool; デフォルトは False
このビルド設定がコマンドラインで呼び出し可能かどうか。
repeatable bool; デフォルトは False
設定されている場合、カンマ区切り値が想定されるのではなく、このフラグをコマンドラインで複数回設定できます。各個別の値は、設定値に追加される単一の文字列として扱われます。繰り返し値のインスタンスは 1 つだけ保持され、挿入順序は重要ではありません。

ターゲット

transition config.target()

ターゲット遷移を作成します。これは、トランジション オブジェクトが必要だが、実際には何も変更したくない場合を想定した no-op トランジションです。attr.label()cfg = "target" と同等です。