例: 次のルールは、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)
--//my/setting=foo,bar
などのカンマ区切りの値を使用してセットを渡します。string_list
とは異なり、要素の順序は関係なく、各要素の単一インスタンスのみが維持されます。これらのプロパティが不要なフラグには string_list
よりもこちらが推奨されます。不要な構成のフォークを回避することで、ビルドのパフォーマンスを改善できるためです。
パラメータ
パラメータ | 説明 |
---|---|
flag
|
bool;
デフォルトは False このビルド設定がコマンドラインで呼び出し可能かどうか。 |
repeatable
|
bool; デフォルトは False 設定されている場合、カンマ区切り値が想定されるのではなく、このフラグをコマンドラインで複数回設定できます。各個別の値は、設定値に追加される単一の文字列として扱われます。繰り返し値のインスタンスは 1 つだけ保持され、挿入順序は重要ではありません。 |
ターゲット
transition config.target()
attr.label()
の cfg = "target"
と同等です。