Bağımlılık ucundaki bir yapılandırma geçişini temsil eder. Örneğin, //package:foo, bir yapılandırma geçişiyle //package:bar öğesine bağlıysa bu iki hedefin yapılandırılması farklılık gösterir: //package:bar hedefinin geçişi, bir geçiş nesnesi tarafından tanımlanan işleve bağlı olarak //package:foo ile belirlenir.
Üyeler
geçiş
transition transition(implementation, inputs, outputs)
Ö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
|
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 --//foo=bar derleme ayarı 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
|
sequence of strings;
gerekliBu geçiş tarafından okunabilen derleme ayarlarının listesi. Bu, uygulama işlevi parametresinin ayarlar parametresinin anahtar grubu haline gelir. |
outputs
|
sequence of strings;
gerekliBu 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. |