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

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

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

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

सदस्य

bool

BuildSetting config.bool(flag=False)

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

पैरामीटर

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

exec

ExecTransitionFactory config.exec(exec_group=None)

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

पैरामीटर

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

int

BuildSetting config.int(flag=False)

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

पैरामीटर

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

none

transition config.none()

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

string

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

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

पैरामीटर

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

string_list

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

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

पैरामीटर

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

target

transition config.target()

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