यह किसी डिपेंडेंसी किनारे पर होने वाले कॉन्फ़िगरेशन के ट्रांज़िशन को दिखाता है. उदाहरण के लिए, अगर //package:foo, कॉन्फ़िगरेशन ट्रांज़िशन के साथ //package:bar पर निर्भर है, तो इन दो टारगेट का कॉन्फ़िगरेशन अलग होगा: //package:bar का ट्रांज़िशन, //package:foo के हिसाब से होगा. यह ट्रांज़िशन, ट्रांज़िशन ऑब्जेक्ट के लिए तय किए गए फ़ंक्शन के हिसाब से तय होगा.
सदस्य
ट्रांज़िशन
transition transition(implementation, inputs, outputs)
उदाहरण:
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"],
)ज़्यादा जानकारी के लिए यहां देखें.
पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
| implementation | ज़रूरी है इस ट्रांज़िशन को लागू करने वाला फ़ंक्शन. इस फ़ंक्शन में हमेशा दो पैरामीटर होते हैं: settingsऔरattr.settingsपैरामीटर एक डिक्शनरी है, जिसका 'की' सेट, इनपुट पैरामीटर से तय होता है. इसलिए, हर बिल्ड सेटिंग--//foo=barके लिए, अगरinputsमें//fooहै, तोsettingsमें एकsettings['//foo']='bar'एंट्री होगी.
 इस फ़ंक्शन को बिल्ड सेटिंग आइडेंटिफ़ायर से बिल्ड सेटिंग वैल्यू तक,  | 
| inputs | sequence of strings;
                                     ज़रूरी हैबिल्ड सेटिंग की सूची, जिसे इस ट्रांज़िशन के ज़रिए पढ़ा जा सकता है. यह, लागू करने वाले फ़ंक्शन पैरामीटर के सेटिंग पैरामीटर का मुख्य सेट बन जाता है. | 
| outputs | sequence of strings;
                                     ज़रूरी हैबिल्ड सेटिंग की सूची, जिसे इस ट्रांज़िशन के हिसाब से लिखा जा सकता है. यह शब्दकोश के उस कुंजी सेट का सुपरसेट होना चाहिए जो इस ट्रांज़िशन के बाद मिलता है. |