Bağımlılık kenarında bir yapılandırma geçişini temsil eder. Örneğin, //package:foo
bir yapılandırma geçişiyle //package:bar
'e bağlıysa bu iki hedefin yapılandırması farklı olur: //package:bar
'ün geçişi, bir geçiş nesnesi tarafından tanımlanan işleve tabi olarak //package:foo
'ün geçişine göre belirlenir.
Üyeler
geçiş
transition transition(implementation, inputs, outputs)Bir giriş derleme ayarları grubunu okuyan ve bir çıkış derleme ayarları grubu yazan geçiş.
Örnek:
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"], )
Daha fazla bilgiyi burada bulabilirsiniz.
Parametreler
Parametre | Açıklama |
---|---|
implementation
|
çağrılabilir;
zorunlu Bu geçişi uygulayan fonksiyon. Bu işlev her zaman iki parametreye sahiptir: settings ve attr . settings parametresi, anahtar grubu giriş parametresiyle tanımlanan bir sözlüktür. Bu nedenle, inputs //foo içeriyorsa her derleme ayarı --//foo=bar için settings için bir settings['//foo']='bar' girişi olur.
Bu işlev, derleme ayarı değerine kadar derleme ayarı tanımlayıcısından bir |
inputs
|
Dize dizisi;
zorunlu Bu geçiş tarafından okunabilen derleme ayarlarının listesi. Bu, uygulama işlevi parametresinin ayarlar parametresinin anahtar kümesi olur. |
outputs
|
sequence of dize;
gerekli Bu geçiş tarafından yazılabilecek derleme ayarlarının listesi. Bu değer, bu geçiş tarafından döndürülen sözlük anahtar kümesinin üst kümesi olmalıdır. |