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