Menampilkan transisi konfigurasi di seluruh tepi dependensi. Misalnya, jika //package:foo bergantung pada //package:bar dengan transisi konfigurasi, maka konfigurasi //package:bar (dan dependensinya) akan menjadi konfigurasi //package:foo ditambah perubahan yang ditentukan oleh fungsi transisi.
Anggota
transisi
transition transition(*, implementation, inputs, outputs)
Contoh:
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"],
)Untuk mengetahui detail selengkapnya, lihat di sini.
Parameter
| Parameter | Deskripsi |
|---|---|
implementation
|
callable;
required Fungsi yang menerapkan transisi ini. Fungsi ini selalu memiliki dua parameter: settings dan attr. Parameter settings adalah kamus yang set kunci-nya ditentukan oleh parameter input. Jadi, untuk setiap setelan build --//foo=bar, jika inputs berisi //foo, settings akan memiliki entri settings['//foo']='bar'.Parameter Fungsi ini harus menampilkan |
inputs
|
sequence dari string;
required Daftar setelan build yang dapat dibaca oleh transisi ini. Ini menjadi set kunci parameter setelan dari parameter fungsi penerapan. |
outputs
|
sequence dari string;
required Daftar setelan build yang dapat ditulis oleh transisi ini. Ini harus berupa superset dari set kunci kamus yang ditampilkan oleh transisi ini. |
and_then
transition transition.and_then(transition)
Komposisi dapat digunakan sebagai aturan atau transisi atribut di mana pun transisi komponennya dapat digunakan. Paling banyak satu transisi gabungan dapat menargetkan konfigurasi eksekusi (misalnya, config.exec). Jika dua transisi dalam rantai membagi konfigurasi, hasilnya akan memiliki cross product dari pembagiannya; kunci untuk setiap pembagian gabungan adalah penggabungan yang dipisahkan koma dari kunci komponen.
Parameter
| Parameter | Deskripsi |
|---|---|
transition
|
transition;
required Transisi yang akan diterapkan setelah transisi ini. |