outputs | sequence of Files; required List of the output files of the action. |
inputs | sequence of Files; or depset; default is [] List or depset of the input files of the action. |
unused_inputs_list | File; or None; default is None File containing list of inputs unused by the action. The content of this file (generally one of the outputs of the action) corresponds to the list of input files that were not used during the whole action execution. Any change in those files must not affect in any way the outputs of the action. |
executable | File; or string; or FilesToRunProvider; required The executable file to be called by the action. |
tools | sequence; or depset; default is unbound List or depset of any tools needed by the action. Tools are executable inputs that may have their own runfiles which are automatically made available to the action. When a list is provided, it can be a heterogenous collection of: Files FilesToRunProvider instances depsets of Files Files from ctx.executable and FilesToRunProviders which are directly in the list will have their runfiles automatically added. All tools are implicitly added as inputs. |
arguments | sequence; default is [] Command line arguments of the action. Must be a list of strings or a list of actions.args() objects. |
mnemonic | string; or None; default is None A one-word description of the action, for example, CppCompile or GoLink. |
progress_message | string; or None; default is None Progress message to show to the user during the build, for example, “Compiling foo.cc to create foo.o”. The message may contain %{label}, %{input}, or %{output} patterns, which are substituted with label string, first input, or output’s path, respectively. Prefer to use patterns instead of static strings, because the former are more efficient. |
use_default_shell_env | bool; default is False Whether the action should use the default shell environment, which consists of a few OS-dependent variables as well as variables set via --action_env. If both use_default_shell_env and env are set to True, values set in env will overwrite the default shell environment. |
env | dict; or None; default is None Sets the dictionary of environment variables. If both use_default_shell_env and env are set to True, values set in env will overwrite the default shell environment. |
execution_requirements | dict; or None; default is None Information for scheduling the action. See tags for useful keys. |
input_manifests | sequence; or None; default is None Legacy argument. Ignored. |
exec_group | string; or None; default is None Runs the action on the given exec group’s execution platform. If none, uses the target’s default execution platform. |
shadowed_action | Action; default is None Runs the action using the given shadowed action’s inputs and environment added to the action’s inputs list and environment. The action environment can overwrite any of the shadowed action’s environment variables. If none, uses only the action’s inputs and given environment. |
resource_set | callable; or dict; or None; default is None A callback function or dictionary used to estimate resource usage at execution time if this action is run locally.If a dictionary is passed directly, it may contain the following entries, each of which may be a float or an int: - “cpu”: number of CPUs; default 1
- ”memory”: in MB; default 250
- ”local_test”: number of local tests; default 1
If a callback function is passed, it accepts two positional arguments: a string representing an OS name (e.g. “osx”), and an integer representing the number of inputs to the action. It must return a dictionary with the same entries described above. The callback must be top-level (lambda and nested functions aren’t allowed). If this parameter is set to None, the default values are used. |
toolchain | Label; or string; or None; default is unbound Toolchain type of the executable or tools used in this action. If executable and tools are not coming from a toolchain, set this parameter to None. If executable and tools are coming from a toolchain, toolchain type must be set so that the action executes on the correct execution platform. Note that the rule which creates this action needs to define this toolchain inside its ‘rule()’ function. When toolchain and exec_group parameters are both set, exec_group will be used. An error is raised in case the exec_group doesn’t specify the same toolchain. |
stdout | File; or None; default is None If set to a File, the standard output of the action is redirected into that file. The file becomes a regular additional output of the action (it must not also be listed in outputs). When the standard output is captured into the file, it is not displayed in the terminal as regular action output. This is incompatible with persistent worker execution (the supports-workers or supports-multiplex-workers execution requirements). |