geçiş

Sorun bildir Kaynağı görüntüle Nightly · 7.4 . 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 için bağımlı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)

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 required
Bu geçişi uygulayan işlev. Bu işlevin her zaman iki parametresi vardır: settings ve attr. settings parametresi, anahtar grubu inputs parametresi tarafından tanımlanan bir sözlüktür. Dolayısıyla, her derleme ayarı --//foo=bar için inputs, //foo içeriyorsa settings'da bir settings['//foo']='bar' girişi olur.

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

Bu işlev, derleme ayarı tanımlayıcısından derleme ayarı değerine bir dict döndürmelidir. Bu, yapılandırma geçişini temsil eder: Döndürülen dict'teki her giriş için geçiş, ilgili 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.list

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/dize; gerekli
Bu geçiş tarafından yazılabilecek derleme ayarlarının listesi. Bu, bu geçiş tarafından döndürülen sözlüğün anahtar kümesinin bir üst kümesi olmalıdır.