规则
action_listener
查看规则来源action_listener(name, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, extra_actions, features, licenses, mnemonics, restricted_to, tags, target_compatible_with, testonly, visibility)
警告:额外操作已废弃。使用 方面 。
action_listener
规则本身不会生成任何输出。
而是允许工具开发者
extra_action
进入构建系统,
方法是提供从操作到extra_action
的映射
。
此规则的参数将操作助记符映射到
extra_action
规则。
通过指定
--experimental_action_listener=<label>
,
构建将使用指定的 action_listener
插入
extra_action
添加到构建图中。
示例
action_listener( name = "index_all_languages", mnemonics = [ "Javac", "CppCompile", "Python", ], extra_actions = [":indexer"], ) action_listener( name = "index_java", mnemonics = ["Javac"], extra_actions = [":indexer"], ) extra_action( name = "indexer", tools = ["//my/tools:indexer"], cmd = "$(location //my/tools:indexer)" + "--extra_action_file=$(EXTRA_ACTION_FILE)", )
参数
属性 | |
---|---|
name |
姓名;必需 此目标的唯一名称。 |
extra_actions
|
标签列表;必需 extra_action 目标的列表
此 action_listener 应添加到构建图。
例如:[ "//my/tools:analyzer" ] 。
|
mnemonics
|
字符串列表;必需 此action_listener 应监听的操作助记符列表
例如[ "Javac" ] 。
助记符不是公共接口。 我们无法保证助记符及其操作不会改变。 |
extra_action
查看规则来源extra_action(name, data, cmd, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, licenses, out_templates, requires_action_output, restricted_to, tags, target_compatible_with, testonly, toolchains, tools, visibility)
警告:额外操作已废弃。使用 方面 。
extra_action
规则不会生成任何有意义的输出
(当被指定为常规构建目标时)。而是让工具开发者
将其他操作插入构建图以覆盖现有操作。
如需了解详情,请参阅 action_listener
了解如何启用 extra_action
。
extra_action
可作为命令行运行。命令行工具
访问包含协议缓冲区的文件,如 $(EXTRA_ACTION_FILE)
其中包含覆盖的原始操作的详细信息。
它还可以访问原始操作有权访问的所有输入文件。
请参阅 extra_actions_base.proto
了解协议缓冲区内存储数据的详情。每个 proto 文件
包含 ExtraActionInfo 消息。
与所有其他操作一样,额外操作也在沙盒中进行处理,而这些操作也应通过沙盒加以处理。
参数
属性 | |
---|---|
name |
姓名;必需 此目标的唯一名称。 您可以在extra_actions 参数中通过 label 引用此规则
共 action_listener 条规则。
|
cmd
|
String;必需 要运行的命令。类似于 genrule cmd 属性,其中包含以下内容 差异:
|
out_templates
|
字符串列表;默认值为 extra_action 命令生成的文件的模板列表。
该模板可以使用以下变量:
|
requires_action_output
|
布尔值;默认值为 extra_action 需要
原始操作作为输入呈现到此 extra_action 中。
如果为 true(默认值为 false),extra_action 可以假定 原始操作输出可用作其输入的一部分。 |
tools
|
标签列表;默认值为 tool 依赖项列表。
如需了解详情,请参阅依赖项的定义 信息。
构建系统确保在运行
所有工具及其数据依赖关系都整合到单个树中 该命令可以使用相对路径工作目录将 作为该统一树的根。 |