कॉन्फ़िगरेशन

किसी समस्या की शिकायत करें सोर्स देखें Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

यह कॉन्फ़िगरेशन ट्रांज़िशन और बिल्ड सेटिंग डिस्क्रिप्टर बनाने के लिए टॉप-लेवल मॉड्यूल है. इससे यह पता चलता है कि कोई नियम किस तरह की बिल्ड सेटिंग है (अगर कोई है).

उदाहरण: rule() फ़ंक्शन के build_setting पैरामीटर को सेट करके, नीचे दिए गए नियम को बिल्ड सेटिंग के तौर पर मार्क किया गया है. खास तौर पर, यह int टाइप की एक बिल्ड सेटिंग है और यह flag है. इसका मतलब है कि इस बिल्ड सेटिंग को कमांड लाइन पर कॉल किया जा सकता है.

  my_rule = rule(
    implementation = _impl,
    build_setting = config.int(flag = True),
    ...
  )

सदस्य

बूल

BuildSetting config.bool(flag=False)

बूल टाइप की बिल्ड सेटिंग

पैरामीटर

पैरामीटर ब्यौरा
flag bool; डिफ़ॉल्ट रूप से False
पर सेट होती है यह बताता है कि इस बिल्ड सेटिंग को कमांड लाइन से कॉल किया जा सकता है या नहीं.

exec

ExecTransitionFactory config.exec(exec_group=None)

एक एक्सीक्यूशन ट्रांज़िशन बनाता है.

पैरामीटर

पैरामीटर ब्यौरा
exec_group स्ट्रिंग या None; डिफ़ॉल्ट तौर पर None
उस एक्सेक्यूशन ग्रुप का नाम जिसका एक्सेक्यूशन प्लैटफ़ॉर्म इस ट्रांज़िशन में इस्तेमाल किया जाएगा. अगर यह जानकारी नहीं दी जाती है, तो यह एक्सेक्यूशन ट्रांज़िशन, टारगेट के डिफ़ॉल्ट एक्सेक्यूशन प्लैटफ़ॉर्म का इस्तेमाल करेगा.

int

BuildSetting config.int(flag=False)

इंटीजर टाइप की बिल्ड सेटिंग

पैरामीटर

पैरामीटर ब्यौरा
flag bool; डिफ़ॉल्ट रूप से False
पर सेट होती है यह बताता है कि इस बिल्ड सेटिंग को कमांड लाइन से कॉल किया जा सकता है या नहीं.

कोई नहीं

transition config.none()

यह एक ऐसा ट्रांज़िशन बनाता है जो सभी फ़्लैग को अनसेट करके, सभी कॉन्फ़िगरेशन हटा देता है. यह तब इस्तेमाल किया जाता है, जब कोई डिपेंडेंसी सिर्फ़ डेटा पर निर्भर हो और उसमें ऐसा कोई कोड न हो जिसे बिल्ड करने की ज़रूरत हो. हालांकि, इसका विश्लेषण सिर्फ़ एक बार किया जाना चाहिए.

स्ट्रिंग

BuildSetting config.string(flag=False, allow_multiple=False)

स्ट्रिंग टाइप की बिल्ड सेटिंग

पैरामीटर

पैरामीटर ब्यौरा
flag bool; डिफ़ॉल्ट रूप से False
पर सेट होती है यह सेटिंग, कमांड लाइन से कॉल की जा सकती है या नहीं.
allow_multiple bool; डिफ़ॉल्ट रूप से False
होता है इस्तेमाल नहीं किया जा सकता. इसके बजाय, repeatable = True के साथ string_list सेटिंग का इस्तेमाल करें. अगर यह फ़्लैग सेट है, तो कमांड लाइन पर इसे कई बार सेट किया जा सकता है. ट्रांज़िशन और बिल्ड सेटिंग लागू करने वाले फ़ंक्शन में ऐक्सेस किए गए फ़्लैग की वैल्यू, स्ट्रिंग की सूची होगी. इंसर्शन ऑर्डर और दोहराई गई वैल्यू, दोनों को बनाए रखा जाता है. अगर आपको अलग तरह का व्यवहार चाहिए, तो इस सूची को बिल्ड सेटिंग लागू करने वाले फ़ंक्शन में पोस्ट-प्रोसेस किया जा सकता है.

string_list

BuildSetting config.string_list(flag=False, repeatable=False)

स्ट्रिंग की सूची वाली बिल्ड सेटिंग. कमांड लाइन पर, कॉमा लगाकर अलग की गई वैल्यू का इस्तेमाल करके सूची पास करें, जैसे कि --//my/setting=foo,bar.

पैरामीटर

पैरामीटर ब्यौरा
flag bool; डिफ़ॉल्ट रूप से False
पर सेट होती है यह बताता है कि इस बिल्ड सेटिंग को कमांड लाइन से कॉल किया जा सकता है या नहीं.
repeatable bool; डिफ़ॉल्ट रूप से False
है अगर सेट किया जाता है, तो कॉमा से अलग की गई वैल्यू के बजाय, इस फ़्लैग को कमांड लाइन पर कई बार सेट किया जा सकता है. साथ ही, सूची की वैल्यू में जोड़ने के लिए, हर वैल्यू को एक स्ट्रिंग के तौर पर माना जाता है. इंसर्शन ऑर्डर और दोहराई गई वैल्यू, दोनों को बनाए रखा जाता है. अगर आपको अलग तरह का व्यवहार चाहिए, तो इस सूची को बिल्ड सेटिंग लागू करने वाले फ़ंक्शन में पोस्ट-प्रोसेस किया जा सकता है.

टारगेट

transition config.target()

टारगेट ट्रांज़िशन बनाता है. यह कोई ट्रांज़िशन नहीं है. इसका मकसद, ट्रांज़िशन ऑब्जेक्ट की ज़रूरत होने पर, किसी भी चीज़ में बदलाव न करना है. attr.label() में cfg = "target" के बराबर.