Mewakili transisi konfigurasi di seluruh tepi dependensi. Misalnya, jika //package:foo
bergantung pada //package:bar
dengan transisi konfigurasi, konfigurasi kedua target ini akan berbeda: transisi //package:bar
akan ditentukan oleh //package:foo
, sesuai dengan fungsi yang ditentukan oleh objek transisi.
Anggota
transition
transition transition(implementation, inputs, outputs)Transisi yang membaca satu set setelan build input dan menulis satu set setelan build output.
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
|
dapat dipanggil;
wajib Fungsi yang menerapkan transisi ini. Fungsi ini selalu memiliki dua parameter: settings dan attr . Parameter settings adalah kamus yang kumpulan kuncinya 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
|
urutan string;
wajib Daftar setelan build yang dapat dibaca oleh transisi ini. Ini menjadi kumpulan kunci parameter setelan dari parameter fungsi penerapan. |
outputs
|
urutan string;
wajib Daftar setelan build yang dapat ditulis oleh transisi ini. Ini harus berupa superset dari kumpulan kunci kamus yang ditampilkan oleh transisi ini. |