Menunjukkan transisi konfigurasi di seluruh tepi dependensi. Misalnya, jika //package:foo bergantung pada //package:bar dengan transisi konfigurasi, maka konfigurasi kedua target ini akan berbeda: transisi //package:bar akan ditentukan oleh transisi //package:foo, sebagaimana tunduk pada fungsi yang ditentukan oleh objek transisi.
Anggota
transition
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. |