表示依附元件邊緣的設定轉換。舉例來說,如果 //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 參數是字典,其索引鍵集是由輸入參數定義。因此,針對每個建構設定 --//foo=bar,如果 inputs 包含 //foo,則 settings 會包含項目 settings['//foo']='bar'。
這個函式必須從建構設定 ID 傳回建構設定值,這代表設定轉場效果:對於傳回的 |
inputs
|
sequence of strings;
required List of build settings that can be read by this transition. 這會成為實作函式參數的設定參數鍵集。 |
outputs
|
sequence of strings;
required List of build settings that can be written by this transition. 這必須是這個轉換傳回的字典鍵集的超集。 |