代表跨依附元件邊緣的設定轉換。舉例來說,如果 //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
|
callable;
required 實作這項轉換的函式。這個函式一律有兩個參數: settings 和 attr。settings 參數是字典,其鍵組是由 inputs 參數定義。因此,對於每個建構設定 --//foo=bar,如果 inputs 包含 //foo,settings 就會有一個項目 settings['//foo']='bar'。
此函式必須傳回從建構設定 ID 到建構設定值的 |
inputs
|
字串的序列;必須提供 可供這項轉換讀取的建構設定清單。這會成為實作函式參數的設定參數鍵組。 |
outputs
|
字串的序列;
必要 可透過這項轉換寫入的建構設定清單。此集合必須是此轉換作業所傳回字典的鍵集合的超集合。 |