ex: the following rule is marked as a build setting by setting the build_setting parameter of the rule() function. Specifically it is a build setting of type int and is a flag which means this build setting is callable on the command line.
my_rule = rule(
implementation = _impl,
build_setting = config.int(flag = True),
...
)Members
bool
BuildSetting config.bool(*, flag=False)
Parameters
| Parameter | Description |
|---|---|
flag
|
bool;
default is FalseWhether or not this build setting is callable on the command line. |
exec
ExecTransitionFactory config.exec(exec_group=None)
Parameters
| Parameter | Description |
|---|---|
exec_group
|
string; or None;
default is NoneThe name of the exec group whose execution platform this transition will use. If not provided, this exec transition will use the target's default execution platform. |
int
BuildSetting config.int(*, flag=False)
Parameters
| Parameter | Description |
|---|---|
flag
|
bool;
default is FalseWhether or not this build setting is callable on the command line. |
none
transition config.none()
string
BuildSetting config.string(*, flag=False, allow_multiple=False)
Parameters
| Parameter | Description |
|---|---|
flag
|
bool;
default is FalseWhether or not this build setting is callable on the command line. |
allow_multiple
|
bool;
default is FalseDeprecated, use a string_list setting with repeatable = True instead. If set, this flag is allowed to be set multiple times on the command line. The Value of the flag as accessed in transitions and build setting implementation function will be a list of strings. Insertion order and repeated values are both maintained. This list can be post-processed in the build setting implementation function if different behavior is desired.
|
string_list
BuildSetting config.string_list(*, flag=False, repeatable=False)
--//my/setting=foo,bar.
Parameters
| Parameter | Description |
|---|---|
flag
|
bool;
default is FalseWhether or not this build setting is callable on the command line. |
repeatable
|
bool;
default is FalseIf set, instead of expecting a comma-separated value, this flag is allowed to be set multiple times on the command line with each individual value treated as a single string to add to the list value. Insertion order and repeated values are both maintained. This list can be post-processed in the build setting implementation function if different behavior is desired. |
string_set
BuildSetting config.string_set(*, flag=False, repeatable=False)
--//my/setting=foo,bar.Unlike with a string_list, the order of the elements doesn't matter and only a single instance of each element is maintained. This is recommended over string_list for flags where these properties are not needed as it can improve build performance by avoiding unnecessary configurations forking.
Parameters
| Parameter | Description |
|---|---|
flag
|
bool;
default is FalseWhether or not this build setting is callable on the command line. |
repeatable
|
bool;
default is FalseIf set, instead of expecting a comma-separated value, this flag is allowed to be set multiple times on the command line with each individual value treated as a single string to add to the set value. Only a single instance of repeated values is maintained and the insertion order does not matter. |
target
transition config.target()
cfg = "target" in attr.label().