geçiş

. Sorun bildirin Kaynağı göster Gece · 7,3 · 7,2 · 7,1 · 7,0 · 6,5

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.

attr parametresi, ctx.attr öğesine referans verir. Bu, özellik parametrelenmiş geçişleri mümkün kılmak için uygulama işlevine kuralın özelliklerine erişim sağlar.

Bu işlev, derleme ayarı değerine kadar derleme ayarı tanımlayıcısından bir dict döndürmelidir; bu, yapılandırma geçişini temsil eder: Döndürülen dict içindeki her giriş için geçiş, bu ayarı yeni değerle günceller. Diğer tüm ayarlar değişmez. Bu işlev, bölünmüş geçiş durumunda dict dict veya dict dict döndürebilir.

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.