config

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

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

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

メンバー

ブール値

BuildSetting config.bool(*, flag=False)

ブール値型のビルド設定

パラメータ

パラメータ 説明
flag ブール値。 デフォルトは False
このビルド設定をコマンドラインで呼び出すことができるかどうか。

exec

ExecTransitionFactory config.exec(exec_group=None)

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

パラメータ

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

int

BuildSetting config.int(*, flag=False)

整数型のビルド設定

パラメータ

パラメータ 説明
flag ブール値。 デフォルトは False
このビルド設定をコマンドラインで呼び出すことができるかどうか。

なし

transition config.none()

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

文字列

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

文字列型のビルド設定

パラメータ

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

string_list

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

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

パラメータ

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

string_set

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

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

string_list とは異なり、要素の順序は関係なく、各要素のインスタンスは 1 つだけ保持されます。これらのプロパティが不要なフラグには、string_list よりもこちらを使用することをおすすめします。不要な構成のフォークを回避することで、ビルドのパフォーマンスを向上させることができます。

パラメータ

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

ターゲット

transition config.target()

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