Skip to main content
This is a top-level module for creating configuration transitions and build setting descriptors which describe what kind of build setting (if any) a rule is. 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.

Members

bool

A bool-typed build setting

Parameters

exec

Creates an execution transition.

Parameters

int

An integer-typed build setting

Parameters

none

Creates a transition which removes all configuration, unsetting all flags. Intended for the case where a dependency is data-only and contains no code that needs to be built, but should only be analyzed once.

string

A string-typed build setting

Parameters

string_list

A string list-typed build setting. On the command line pass a list using comma-separated value like --//my/setting=foo,bar.

Parameters

string_set

A string set-typed build setting. The value of this setting will be a set of strings in Starlark. On the command line, pass a set using a comma-separated value like --//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

target

Creates a target transition. This is a no-op transition intended for the case where a transition object is needed, but doesn’t want to actually change anything. Equivalent to cfg = "target" in attr.label().