डिपेंडेंसी एज के लिए, कॉन्फ़िगरेशन ट्रांज़िशन दिखाता है. उदाहरण के लिए, अगर //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
|
स्ट्रिंग की श्रृंखला;
ज़रूरी है यह उन बिल्ड सेटिंग की सूची है जिन्हें इस ट्रांज़िशन से पढ़ा जा सकता है. यह, लागू करने वाले फ़ंक्शन पैरामीटर के सेटिंग पैरामीटर का कुंजी सेट बन जाता है. |
outputs
|
स्ट्रिंग की स्ट्रिंग की सूची;
ज़रूरी है यह उन बिल्ड सेटिंग की सूची है जिन्हें इस ट्रांज़िशन से लिखा जा सकता है. यह, इस ट्रांज़िशन से दिखाई गई डिक्शनरी के कुंजी सेट का सुपरसेट होना चाहिए. |