BazelCon 2022, 16 नवंबर से 17 नवंबर तक न्यूयॉर्क में और ऑनलाइन उपलब्ध है.
आज ही रजिस्टर करें!

ट्रांज़िशन

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

कॉन्फ़िगरेशन पर निर्भर करता है. उदाहरण के लिए, अगर //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' होगी.

attr पैरामीटर ctx.attr का रेफ़रंस है. इससे एट्रिब्यूट के पैरामीटर वाले ट्रांज़िशन को संभावित बनाने के लिए, नियम की विशेषताओं को लागू करने का फ़ंक्शन ऐक्सेस मिल जाता है.

इस फ़ंक्शन को सेटिंग मान बनाने के लिए बिल्ड सेटिंग पहचानकर्ता से dict देना होगा; यह कॉन्फ़िगरेशन ट्रांज़िशन को दिखाता है: लौटाए गए dict की हर एंट्री के लिए, ट्रांज़िशन की वैल्यू उस सेटिंग को नए मान पर अपडेट करती है. बाकी सभी सेटिंग में कोई बदलाव नहीं हुआ है. बांटे गए ट्रांज़िशन के मामले में, यह फ़ंक्शन dict में से list या dict में से dict भी दिखा सकता है.

inputs sequence of strings; ज़रूरी है
बिल्ड सेटिंग की सूची, जिसे इस ट्रांज़िशन के ज़रिए पढ़ा जा सकता है. इससे, लागू करने के फ़ंक्शन पैरामीटर के सेटिंग पैरामीटर का मुख्य सेट बन जाता है.
outputs sequence of strings; ज़रूरी है
बिल्ड सेटिंग की सूची, जिसे इस ट्रांज़िशन के ज़रिए लिखा जा सकता है. यह इस संक्रमण के लिए लौटाए गए शब्दकोश के कुंजी सेट का सुपरसेट होना चाहिए.