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

समस्या की शिकायत करें सोर्स देखें Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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

उदाहरण: यहां दिए गए नियम को, 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 string; या 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" के बराबर.