template_ctx

传递给操作模板扩展函数的上下文对象。

成员

args

Args template_ctx.args()

返回一个 Args 对象,该对象可用于构建内存高效的命令行。

declare_file

File template_ctx.declare_file(filename, *, directory)

声明实现会在指定目录中创建一个具有给定文件名的文件。

请注意,除了声明文件之外,您还必须单独创建一个用于发出文件的操作。创建该操作需要将返回的 File 对象传递给操作的构造函数。

参数

参数 说明
filename string; 必需
目录中文件的相对路径。
directory 文件; 必需
应在其中创建文件的目录。

run

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

创建用于运行可执行文件的操作。

参数

参数 说明
outputs 文件序列;必需属性
操作的输出文件列表。
inputs 文件序列;或 depset; 默认值为 []
操作的输入文件的列表或 depset。
executable 文件;或字符串;或 FilesToRunProvider;必需
操作要调用的可执行文件。
tools 序列;或 depset;或 None; 默认值为 None
操作所需的任何工具的列表或 depset。工具是可执行的输入,可能具有自己的运行文件,这些文件会自动提供给操作。

如果提供的是列表,则可以是以下各项的异构集合:

  • File
  • FilesToRunProvider 个实例
  • depset 秒的 File
来自 ctx.executable 和直接位于列表中的 FilesToRunProviderFile 将自动添加其 runfile。所有工具都会隐式添加为输入。

arguments 序列;默认值为 []
操作的命令行实参。必须是字符串列表或 actions.args() 对象。
progress_message 字符串;或 None; 默认值为 None
在 build 期间向用户显示的进度消息。