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 //package:bar'nin (ve bağımlılıklarının) yapılandırması, //package:foo'nın yapılandırması artı geçiş işlevi tarafından belirtilen değişiklikler olur.
Ü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
|
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.
Bu işlev, derleme ayarı tanımlayıcısından derleme ayarı değerine bir |
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
|
string'lerin sequence'ı;
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. |
and_then
transition transition.and_then(transition)
Bileşen geçişlerinin kullanılabildiği her yerde bir kompozisyon, kural veya özellik geçişi olarak kullanılabilir. Oluşturulan geçişlerden en fazla biri yürütme yapılandırmasını hedefleyebilir (ör.config.exec). Zincirdeki iki geçiş yapılandırmayı böldüğünde sonuç, bu bölümlerin çapraz ürünü olur. Birleştirilmiş her bölümün anahtarı, bileşen anahtarlarının virgülle ayrılmış birleştirilmiş halidir.
Parametreler
| Parametre | Açıklama |
|---|---|
transition
|
transition;
required Bundan sonra uygulanacak geçiş. |