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 isNoneThe 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_listsetting withrepeatable = Trueinstead. 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().