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