操作

报告问题 查看源代码

在规则分析期间创建的操作。

此对象出于测试目的可见,并且可以从 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

内容

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