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