表示依赖边上的配置转换。例如,如果 //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'。
 此函数必须返回一个  | 
| inputs | 字符串的序列;必需 可供此过渡读取的 build 设置的列表。这会成为实现函数形参的设置形参的键集。 | 
| outputs | 字符串的序列;必需 可由此过渡写入的 build 设置的列表。这必须是相应转换所返回的字典的键集的超集。 |