该对象出于测试目的可见,并且可从 Actions 提供程序中获取。通常不需要在规则的实现函数中访问 Action
对象或其字段。建议您参阅“规则”页面,查看有关如何使用操作在定义自定义规则的一般性讨论,或查看用于创建操作的 API 参考文档。
此对象的某些字段仅适用于特定类型的操作。将不适用的字段设置为 None
。
成员
args
sequence Action.args已冻结的 Args 对象列表,其中包含有关操作参数的信息。这些对象包含准确的参数信息,包括涉及扩展操作输出目录的参数。但是,Args 对象在分析阶段不可读。关于分析阶段提供的参数的不太准确,请参阅 argv。
请注意,某些类型的操作尚不支持显示此字段。对于此类操作类型,此属性为 None
。
可能会返回 None
。
argv
sequence Action.argv对于通过 ctx.actions.run() 或 ctx.actions.run_shell() 创建的操作,要执行的命令行的不可变参数列表。请注意,对于 shell 操作,前两个参数将是 shell 路径和
"-c"
。
可能会返回 None
。
content
string Action.content对于通过 ctx.actions.write() 或 ctx.actions.expand_template() 创建的操作,需要写入的文件的内容(前提是可在分析阶段计算这些内容)。如果直到执行阶段(例如 Args 对象中的某个目录需要展开时)才能确定内容,则值为
None
。
可能会返回 None
。
env
dict Action.env此操作的“已修复”环境变量。这仅包含操作定义明确设置的环境设置,因此会忽略仅在执行环境中预先设定的设置。
输入
depset Action.inputs此操作的一组输入文件。
助记符
string Action.mnemonic此操作的助记符。
输出
depset Action.outputs此操作的一组输出文件。
substitutions
dict Action.substitutions对于通过 ctx.actions.expand_template() 创建的操作,存储替换映射的不可变字典。 可能会返回
None
。