geçiş

Sorun bildir Kaynağı görüntüle Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

Bağımlılık kenarı boyunca yapılandırma geçişini temsil eder. Örneğin, //package:foo, yapılandırma geçişiyle //package:bar'ye bağlıysa bu iki hedefin yapılandırması farklı olur: //package:bar'nin geçişi, geçiş nesnesiyle tanımlanan işleve tabi olarak //package:foo'nın geçişiyle belirlenir.

Üyeler

geçiş

transition transition(implementation, inputs, outputs)

Bir dizi giriş derleme ayarını okuyup bir dizi çıkış derleme ayarını 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 callable; required
Bu geçişi uygulayan işlev. Bu işlevin her zaman iki parametresi vardır: settings ve attr. settings param, anahtar kümesi inputs parametresiyle tanımlanan bir sözlüktür. Bu nedenle, her derleme ayarı --//foo=bar için inputs, //foo içeriyorsa settings, settings['//foo']='bar' girişine sahip olur.

attr parametresi, ctx.attr öğesine yapılan bir referanstır. Bu, uygulama işlevinin, özellik parametreli geçişleri mümkün kılmak için kuralın özelliklerine erişmesini sağlar.

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 içindeki her giriş için geçiş, bu ayarı yeni değerle günceller. Diğer tüm ayarlar değiştirilmez. Bu işlev, bölünmüş geçiş durumunda list veya dict değerini de döndürebilir.dictdict

inputs sequence of strings; required
Bu geçiş tarafından okunabilen derleme ayarlarının listesi. Bu, uygulama işlevi parametresinin ayarlar parametresinin anahtar grubu olur.
outputs Dizelerin sırası; gerekli
Bu geçiş tarafından yazılabilecek derleme ayarlarının listesi. Bu, geçiş tarafından döndürülen sözlüğün anahtar kümesinin üst kümesi olmalıdır.