代表跨依附元件邊緣的設定轉換。舉例來說,如果 //package:foo
依附於設定轉換的 //package:bar
,則這兩個目標的設定會有所不同:系統會根據 //package:foo
的函式,判斷 //package:bar
的轉場效果,具體取決於轉換物件定義的函式。
成員
轉換
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 參數是一種字典,其鍵組合是由輸入參數定義。因此,在每個建構設定 --//foo=bar 中,如果 inputs 包含 //foo ,settings 就會有一個項目 settings['//foo']='bar' 。
此函式必須從建構設定 ID 傳回 |
inputs
|
sequence of strings ;必要這項轉換作業可讀取的建構設定清單。這個項目會成為實作函式參數的設定參數鍵組合。 |
outputs
|
sequence of strings ;必要可透過這項轉換作業寫入的建構設定清單。這個引數必須是這個轉換傳回的字典鍵集。 |