Skip to main content
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

ParameterDescriptionfilenamestring; required The relative path of the file within the directory. directoryFile; 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

ParameterDescriptionoutputssequence of File s; required List of the output files of the action. inputssequence of File s; or depset; default is [] List or depset of the input files of the action. executableFile; or string; or FilesToRunProvider; required The executable file to be called by the action. toolssequence; 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:
  • File s
  • FilesToRunProvider instances
  • depset s of File s
File s from ctx.executable and FilesToRunProvider s which are directly in the list will have their runfiles automatically added. All tools are implicitly added as inputs. argumentssequence; default is [] Command line arguments of the action. Must be a list of strings or actions.args() objects. progress_messagestring; or None; default is None Progress message to show to the user during the build.