在规则分析期间创建的操作。
此对象可供测试之用,并且可以从 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
。