उदाहरण: यहां दिए गए नियम को, 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 है अगर इस फ़्लैग को सेट किया जाता है, तो कॉमा से अलग की गई वैल्यू के बजाय, इसे कमांड लाइन पर कई बार सेट किया जा सकता है. साथ ही, हर वैल्यू को एक स्ट्रिंग के तौर पर माना जाता है, ताकि उसे सूची की वैल्यू में जोड़ा जा सके. इंसर्शन ऑर्डर और दोहराई गई वैल्यू, दोनों को बनाए रखा जाता है. अगर आपको अलग-अलग व्यवहार चाहिए, तो इस सूची को बिल्ड सेटिंग लागू करने वाले फ़ंक्शन में पोस्ट-प्रोसेस किया जा सकता है. |
string_set
BuildSetting config.string_set(*, flag=False, repeatable=False)
--//my/setting=foo,bar
जैसा कोई सेट पास करें.string_list
के उलट, एलिमेंट के क्रम से कोई फ़र्क़ नहीं पड़ता. साथ ही, हर एलिमेंट का सिर्फ़ एक इंस्टेंस बनाए रखा जाता है. जिन फ़्लैग के लिए इन प्रॉपर्टी की ज़रूरत नहीं होती उनके लिए, string_list
के बजाय इस विकल्प का इस्तेमाल करने का सुझाव दिया जाता है. इससे, गैर-ज़रूरी कॉन्फ़िगरेशन फ़ोर्किंग से बचकर, बिल्ड की परफ़ॉर्मेंस को बेहतर बनाया जा सकता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
flag
|
bool;
डिफ़ॉल्ट रूप से False होता है यह तय करता है कि इस बिल्ड सेटिंग को कमांड लाइन पर कॉल किया जा सकता है या नहीं. |
repeatable
|
bool;
डिफ़ॉल्ट वैल्यू False है अगर यह फ़्लैग सेट किया जाता है, तो कॉमा से अलग की गई वैल्यू के बजाय, इस फ़्लैग को कमांड लाइन पर कई बार सेट किया जा सकता है. साथ ही, हर वैल्यू को सेट वैल्यू में जोड़ने के लिए, एक स्ट्रिंग के तौर पर माना जाता है. दोहराई गई वैल्यू का सिर्फ़ एक इंस्टेंस सेव किया जाता है. साथ ही, वैल्यू को किस क्रम में डाला गया है, इससे कोई फ़र्क़ नहीं पड़ता. |
टारगेट
transition config.target()
attr.label()
में cfg = "target"
के बराबर.