表示跨依赖项边的配置过渡。例如,如果 //package:foo 依赖于 //package:bar 并进行配置过渡,则 //package:bar(及其依赖项)的配置将是 //package:foo 的配置加上过渡函数指定的更改。
成员
过渡
transition transition(*, implementation, inputs, outputs)
示例:
def _transition_impl(settings, attr):
# This transition just reads the current CPU value as a demonstration.
# A real transition could incorporate this into its followup logic.
current_cpu = settings["//command_line_option:cpu"]
return {"//command_line_option:compilation_mode": "dbg"}
build_in_debug_mode = transition(
implementation = _transition_impl,
inputs = ["//command_line_option:cpu"],
outputs = ["//command_line_option:compilation_mode"],
)如要了解详情,请点击此处。
参数
| 参数 | 说明 |
|---|---|
implementation
|
可调用对象;
必需 实现此过渡的函数。此函数始终具有两个形参: settings 和 attr。settings 形参是一个字典,其键集由 inputs 形参定义。因此,对于每个 build 设置 --//foo=bar,如果 inputs 包含 //foo,则 settings 将包含条目 settings['//foo']='bar'。
此函数必须返回从 build 设置标识符到 build 设置值的 |
inputs
|
字符串序列;
必需 此过渡可以读取的 build 设置列表。这会成为实现函数形参的设置形参的键集。 |
outputs
|
字符串序列;
必需 此过渡可以写入的 build 设置列表。这必须是此过渡返回的字典的键集的超集。 |