template_ctx

Report an issue View source Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

A context object that is passed to the action template expansion function.

Members

args

Args template_ctx.args()

Returns an Args object that can be used to build memory-efficient command lines.

declare_file

File template_ctx.declare_file(filename, *, directory)

Declares that implementation creates a file with the given filename within the specified directory.

Remember that in addition to declaring a file, you must separately create an action that emits the file. Creating that action will require passing the returned File object to the action's construction function.

Parameters

Parameter Description
filename string; required
The relative path of the file within the directory.
directory File; required
The directory in which the file should be created.

run

None template_ctx.run(*, outputs, inputs=[], executable, tools=None, arguments=[], progress_message=None)

Creates an action that runs an executable.

Parameters

Parameter Description
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.
executable File; or string; or FilesToRunProvider; required
The executable file to be called by the action.
tools sequence; or depset; or None; default is None
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 actions.args() objects.
progress_message string; or None; default is None
Progress message to show to the user during the build.