rule(), aspect(), repository_rule(), और tag_class() के attrs डिक्शनरी आर्ग्युमेंट की वैल्यू के तौर पर किया जाता है. एट्रिब्यूट तय करने और इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, नियमों का पेज देखें.
सदस्य
- bool
- int
- int_list
- लेबल
- label_keyed_string_dict
- label_list
- output
- output_list
- स्ट्रिंग
- string_dict
- string_keyed_label_dict
- string_list
- string_list_dict
बूल
Attribute attr.bool(configurable=unbound, default=False, doc=None, mandatory=False)
ctx.attr एट्रिब्यूट की वैल्यू bool टाइप की होगी.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
configurable
|
bool; या unbound;
डिफ़ॉल्ट रूप से unboundहोता है इस आर्ग्युमेंट को सिर्फ़ सिंबॉलिक मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
bool;
डिफ़ॉल्ट तौर पर Falseहोता है अगर नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. |
doc
|
string; या None;
डिफ़ॉल्ट तौर पर Noneहोता है एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
bool;
डिफ़ॉल्ट वैल्यू Falseहै अगर वैल्यू सही है, तो उसे साफ़ तौर पर बताना होगा. भले ही, उसमें default मौजूद हो.
|
int
Attribute attr.int(configurable=unbound, default=0, doc=None, mandatory=False, values=[])
ctx.attr एट्रिब्यूट की वैल्यू int टाइप की होगी.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
configurable
|
bool; या unbound;
डिफ़ॉल्ट रूप से unboundहोता है इस आर्ग्युमेंट को सिर्फ़ सिंबॉलिक मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
int;
डिफ़ॉल्ट वैल्यू 0है अगर नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. |
doc
|
string; या None;
डिफ़ॉल्ट तौर पर Noneहोता है एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
bool;
डिफ़ॉल्ट वैल्यू Falseहै अगर वैल्यू सही है, तो उसे साफ़ तौर पर बताना होगा. भले ही, उसमें default मौजूद हो.
|
values
|
int का sequence;
डिफ़ॉल्ट रूप से []होता है यह एट्रिब्यूट के लिए इस्तेमाल की जा सकने वाली वैल्यू की सूची होती है. कोई दूसरी वैल्यू देने पर गड़बड़ी का मैसेज दिखता है. |
int_list
Attribute attr.int_list(mandatory=False, allow_empty=True, *, configurable=unbound, default=[], doc=None)
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
mandatory
|
bool;
डिफ़ॉल्ट वैल्यू Falseहै अगर वैल्यू सही है, तो उसे साफ़ तौर पर बताना होगा. भले ही, उसमें default मौजूद हो.
|
allow_empty
|
bool;
डिफ़ॉल्ट रूप से Trueहोता है अगर एट्रिब्यूट की वैल्यू खाली हो सकती है, तो यह वैल्यू सही होती है. |
configurable
|
bool; या unbound;
डिफ़ॉल्ट रूप से unboundहोता है इस आर्ग्युमेंट को सिर्फ़ सिंबॉलिक मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
ints का sequence;
डिफ़ॉल्ट वैल्यू []है यह एक डिफ़ॉल्ट वैल्यू है. इसका इस्तेमाल तब किया जाता है, जब नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है. |
doc
|
string; या None;
डिफ़ॉल्ट तौर पर Noneहोता है एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
लेबल
Attribute attr.label(configurable=unbound, default=None, materializer=None, doc=None, executable=False, allow_files=None, allow_single_file=None, mandatory=False, skip_validations=False, providers=[], for_dependency_resolution=unbound, allow_rules=None, cfg=None, aspects=[], flags=[])
यह फ़ंक्शन, लेबल एट्रिब्यूट के लिए स्कीमा बनाता है. यह एक डिपेंडेंसी एट्रिब्यूट है.
इस एट्रिब्यूट में यूनीक Label वैल्यू शामिल हैं. अगर Label की जगह कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदल दिया जाएगा. लेबल पाथ के रिलेटिव हिस्सों को इंस्टैंटिएट किए गए टारगेट के पैकेज के हिसाब से हल किया जाता है. इनमें (शायद नाम बदली गई) रिपॉज़िटरी भी शामिल है.
विश्लेषण के समय (नियम लागू करने वाले फ़ंक्शन के अंदर), ctx.attr से एट्रिब्यूट वैल्यू वापस पाने पर, लेबल की जगह उनसे जुड़े Target दिखते हैं. इससे आपको मौजूदा टारगेट की डिपेंडेंसी के प्रोवाइडर को ऐक्सेस करने की अनुमति मिलती है.
आम तौर पर, इस तरह के एट्रिब्यूट का इस्तेमाल, सामान्य सोर्स फ़ाइलों के साथ-साथ किसी टूल को रेफ़र करने के लिए भी किया जाता है. उदाहरण के लिए, कंपाइलर. ऐसे टूल को सोर्स फ़ाइलों की तरह ही डिपेंडेंसी माना जाता है. उपयोगकर्ताओं को अपनी BUILD फ़ाइलों में नियम का इस्तेमाल करते समय, हर बार टूल का लेबल तय करने की ज़रूरत न पड़े, इसके लिए कैननिकल टूल के लेबल को इस एट्रिब्यूट की default वैल्यू के तौर पर हार्ड-कोड किया जा सकता है. अगर आपको उपयोगकर्ताओं को इस डिफ़ॉल्ट वैल्यू को बदलने से रोकना है, तो एट्रिब्यूट को निजी बनाया जा सकता है. इसके लिए, एट्रिब्यूट को ऐसा नाम दें जो अंडरस्कोर से शुरू होता हो. ज़्यादा जानकारी के लिए, नियम पेज देखें.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
configurable
|
bool; या unbound;
डिफ़ॉल्ट रूप से unboundहोता है इस आर्ग्युमेंट को सिर्फ़ सिंबॉलिक मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
Label; या string; या LateBoundDefault; या NativeComputedDefault; या function; या None;
डिफ़ॉल्ट रूप से Noneहोता है अगर नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. डिफ़ॉल्ट वैल्यू तय करने के लिए, स्ट्रिंग या Label फ़ंक्शन का इस्तेमाल करें. उदाहरण के लिए, attr.label(default = "//a:b").
|
materializer
|
function;
डिफ़ॉल्ट रूप से Noneहोता है एक्सपेरिमेंट के तौर पर उपलब्ध है. यह पैरामीटर एक्सपेरिमेंट के तौर पर उपलब्ध है. इसमें कभी भी बदलाव किया जा सकता है. कृपया इसके भरोसे न रहें. इसे एक्सपेरिमेंट के तौर पर चालू किया जा सकता है. इसके लिए, --experimental_dormant_deps को सेट करना होगा. अगर इसे सेट किया जाता है, तो एट्रिब्यूट, ट्रांज़िटिव क्लोज़र से डॉर्मेंट डिपेंडेंसी को मटीरियलाइज़ करता है. इस पैरामीटर की वैल्यू एक ऐसा फ़ंक्शन होना चाहिए जो नियम के उन एट्रिब्यूट की वैल्यू को ऐक्सेस करता है जो डिपेंडेंसी नहीं हैं या जिन्हें डिपेंडेंसी रिज़ॉल्यूशन के लिए उपलब्ध के तौर पर मार्क किया गया है. इसे एट्रिब्यूट के टाइप के आधार पर, या तो डॉर्मेंट डिपेंडेंसी या उनकी सूची दिखानी चाहिए |
doc
|
string; या None;
डिफ़ॉल्ट तौर पर Noneहोता है एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
executable
|
bool;
डिफ़ॉल्ट तौर पर Falseहोता है अगर डिपेंडेंसी को लागू करना है, तो यह वैल्यू सही होती है. इसका मतलब है कि लेबल, किसी एक्ज़ीक्यूटेबल फ़ाइल या किसी ऐसे नियम के बारे में होना चाहिए जो एक्ज़ीक्यूटेबल फ़ाइल बनाता है. ctx.executable.<attribute_name> की मदद से लेबल ऐक्सेस करें.
|
allow_files
|
bool; या string का sequence; या None;
डिफ़ॉल्ट रूप से Noneहोता है क्या File टारगेट की अनुमति है. यह True, False (डिफ़ॉल्ट) या फ़ाइल एक्सटेंशन की ऐसी सूची हो सकती है जिन्हें अनुमति है (उदाहरण के लिए, [".cc", ".cpp"]).
|
allow_single_file
|
डिफ़ॉल्ट वैल्यू Noneहै यह allow_files के जैसा ही है. हालांकि, इसमें यह पाबंदी है कि लेबल, सिर्फ़ एक फ़ाइल से मेल खाना चाहिए. इसे ctx.file.<attribute_name> से ऐक्सेस करें.
|
mandatory
|
bool;
डिफ़ॉल्ट वैल्यू Falseहै अगर वैल्यू सही है, तो उसे साफ़ तौर पर बताना होगा. भले ही, उसमें default मौजूद हो.
|
skip_validations
|
bool;
डिफ़ॉल्ट तौर पर Falseहोता है अगर यह वैल्यू सही पर सेट है, तो इस एट्रिब्यूट से ट्रांज़िटिव डिपेंडेंसी की पुष्टि करने वाली कार्रवाइयां नहीं चलेंगी. यह समस्या को कुछ समय के लिए ठीक करने का तरीका है. आने वाले समय में इसे हटा दिया जाएगा. |
providers
|
sequence;
डिफ़ॉल्ट रूप से []होता है इस एट्रिब्यूट में दिखने वाली किसी भी डिपेंडेंसी के लिए, सेवा देने वाली कंपनियों की जानकारी देना ज़रूरी है. इस आर्ग्युमेंट का फ़ॉर्मैट, प्रोवाइडर की सूचियों की सूची होती है. यह |
for_dependency_resolution
|
डिफ़ॉल्ट तौर पर unboundहोता है इसे सेट करने पर, एट्रिब्यूट, मटीरियलाइज़र के लिए उपलब्ध होता है. इस तरह के एट्रिब्यूट के ज़रिए, सिर्फ़ उन नियमों को रेफ़रंस किया जा सकता है जिन्हें एक ही नाम वाले फ़्लैग से मार्क किया गया है. |
allow_rules
|
string का sequence; या None;
डिफ़ॉल्ट रूप से Noneहोता है नियम के लिए, टारगेट करने की अनुमति वाली क्लास के नाम. इसे बंद कर दिया गया है. इसे सिर्फ़ कंपैटिबिलिटी के लिए रखा गया है. इसके बजाय, प्रोवाइडर का इस्तेमाल करें. |
cfg
|
डिफ़ॉल्ट रूप से Noneहोता है एट्रिब्यूट का कॉन्फ़िगरेशन. यह "exec" हो सकता है, जिसका मतलब है कि डिपेंडेंसी execution platform के लिए बनाई गई है. इसके अलावा, यह "target" भी हो सकता है, जिसका मतलब है कि डिपेंडेंसी target platform के लिए बनाई गई है. मोबाइल ऐप्लिकेशन बनाते समय, इस अंतर का एक सामान्य उदाहरण देखा जा सकता है. इसमें target platform, Android या iOS होता है, जबकि execution platform, Linux, macOS या Windows होता है. अगर executable की वैल्यू True पर सेट है, तो इस पैरामीटर की ज़रूरत होती है. इससे टारगेट कॉन्फ़िगरेशन में गलती से होस्ट टूल बनाने से बचा जा सकता है. "target" का कोई सिमैंटिक असर नहीं होता. इसलिए, जब executable की वैल्यू False हो, तब इसे सेट न करें. हालांकि, अगर इससे आपके इरादों को समझने में मदद मिलती है, तो इसे सेट किया जा सकता है.
|
aspects
|
sequence of Aspects;
डिफ़ॉल्ट रूप से []होता है ऐसे आसपेक्ट जिन्हें इस एट्रिब्यूट से तय की गई डिपेंडेंसी या डिपेंडेंसी पर लागू किया जाना चाहिए. |
flags
|
sequence of strings;
डिफ़ॉल्ट तौर पर []होता है अब इस्तेमाल नहीं किया जा सकता. इसे हटा दिया जाएगा. |
label_keyed_string_dict
Attribute attr.label_keyed_string_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, allow_files=None, allow_rules=None, providers=[], for_dependency_resolution=unbound, flags=[], mandatory=False, cfg=None, aspects=[])
यह एक ऐसी एट्रिब्यूट के लिए स्कीमा बनाता है जिसमें डिक्शनरी होती है. इसमें कुंजियां लेबल होती हैं और वैल्यू स्ट्रिंग होती हैं. यह एक डिपेंडेंसी एट्रिब्यूट है.
इस एट्रिब्यूट में यूनीक Label वैल्यू शामिल हैं. अगर Label की जगह कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदल दिया जाएगा. लेबल पाथ के रिलेटिव हिस्सों को इंस्टैंटिएट किए गए टारगेट के पैकेज के हिसाब से हल किया जाता है. इनमें (शायद नाम बदली गई) रिपॉज़िटरी भी शामिल है.
विश्लेषण के समय (नियम लागू करने वाले फ़ंक्शन के अंदर), ctx.attr से एट्रिब्यूट वैल्यू वापस पाने पर, लेबल की जगह उनसे जुड़े Target दिखते हैं. इससे आपको मौजूदा टारगेट की डिपेंडेंसी के प्रोवाइडर को ऐक्सेस करने की अनुमति मिलती है.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
allow_empty
|
bool;
डिफ़ॉल्ट रूप से Trueहोता है अगर एट्रिब्यूट की वैल्यू खाली हो सकती है, तो यह वैल्यू सही होती है. |
configurable
|
bool; या unbound;
डिफ़ॉल्ट रूप से unboundहोता है इस आर्ग्युमेंट को सिर्फ़ सिंबॉलिक मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
dict; या function;
डिफ़ॉल्ट रूप से {}होता है अगर नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. डिफ़ॉल्ट वैल्यू तय करने के लिए, स्ट्रिंग या Label फ़ंक्शन का इस्तेमाल करें. उदाहरण के लिए, attr.label_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"}).
|
doc
|
string; या None;
डिफ़ॉल्ट तौर पर Noneहोता है एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
allow_files
|
bool; या string का sequence; या None;
डिफ़ॉल्ट रूप से Noneहोता है क्या File टारगेट की अनुमति है. यह True, False (डिफ़ॉल्ट) या फ़ाइल एक्सटेंशन की ऐसी सूची हो सकती है जिन्हें अनुमति है (उदाहरण के लिए, [".cc", ".cpp"]).
|
allow_rules
|
string का sequence; या None;
डिफ़ॉल्ट रूप से Noneहोता है नियम के लिए, टारगेट करने की अनुमति वाली क्लास के नाम. इसे बंद कर दिया गया है. इसे सिर्फ़ कंपैटिबिलिटी के लिए रखा गया है. इसके बजाय, प्रोवाइडर का इस्तेमाल करें. |
providers
|
sequence;
डिफ़ॉल्ट रूप से []होता है इस एट्रिब्यूट में दिखने वाली किसी भी डिपेंडेंसी के लिए, सेवा देने वाली कंपनियों की जानकारी देना ज़रूरी है. इस आर्ग्युमेंट का फ़ॉर्मैट, प्रोवाइडर की सूचियों की सूची होती है. यह |
for_dependency_resolution
|
डिफ़ॉल्ट तौर पर unboundहोता है इसे सेट करने पर, एट्रिब्यूट, मटीरियलाइज़र के लिए उपलब्ध होता है. इस तरह के एट्रिब्यूट के ज़रिए, सिर्फ़ उन नियमों को रेफ़रंस किया जा सकता है जिन्हें एक ही नाम वाले फ़्लैग से मार्क किया गया है. |
flags
|
sequence of strings;
डिफ़ॉल्ट तौर पर []होता है अब इस्तेमाल नहीं किया जा सकता. इसे हटा दिया जाएगा. |
mandatory
|
bool;
डिफ़ॉल्ट वैल्यू Falseहै अगर वैल्यू सही है, तो उसे साफ़ तौर पर बताना होगा. भले ही, उसमें default मौजूद हो.
|
cfg
|
डिफ़ॉल्ट रूप से Noneहोता है एट्रिब्यूट का कॉन्फ़िगरेशन. यह "exec" हो सकता है, जिसका मतलब है कि डिपेंडेंसी execution platform के लिए बनाई गई है. इसके अलावा, यह "target" भी हो सकता है, जिसका मतलब है कि डिपेंडेंसी target platform के लिए बनाई गई है. मोबाइल ऐप्लिकेशन बनाते समय, इस अंतर का एक सामान्य उदाहरण देखा जा सकता है. इसमें target platform, Android या iOS होता है, जबकि execution platform, Linux, macOS या Windows होता है.
|
aspects
|
sequence of Aspects;
डिफ़ॉल्ट रूप से []होता है ऐसे आसपेक्ट जिन्हें इस एट्रिब्यूट से तय की गई डिपेंडेंसी या डिपेंडेंसी पर लागू किया जाना चाहिए. |
label_list
Attribute attr.label_list(allow_empty=True, *, configurable=unbound, default=[], materializer=None, doc=None, allow_files=None, allow_rules=None, providers=[], for_dependency_resolution=unbound, flags=[], mandatory=False, skip_validations=False, cfg=None, aspects=[])
यह फ़ंक्शन, लेबल की सूची वाले एट्रिब्यूट के लिए स्कीमा बनाता है. यह एक डिपेंडेंसी एट्रिब्यूट है. इससे जुड़ा ctx.attr एट्रिब्यूट, Targets की list टाइप का होगा.
इस एट्रिब्यूट में यूनीक Label वैल्यू शामिल हैं. अगर Label की जगह कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदल दिया जाएगा. लेबल पाथ के रिलेटिव हिस्सों को इंस्टैंटिएट किए गए टारगेट के पैकेज के हिसाब से हल किया जाता है. इनमें (शायद नाम बदली गई) रिपॉज़िटरी भी शामिल है.
विश्लेषण के समय (नियम लागू करने वाले फ़ंक्शन के अंदर), ctx.attr से एट्रिब्यूट वैल्यू वापस पाने पर, लेबल की जगह उनसे जुड़े Target दिखते हैं. इससे आपको मौजूदा टारगेट की डिपेंडेंसी के प्रोवाइडर को ऐक्सेस करने की अनुमति मिलती है.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
allow_empty
|
bool;
डिफ़ॉल्ट रूप से Trueहोता है अगर एट्रिब्यूट की वैल्यू खाली हो सकती है, तो यह वैल्यू सही होती है. |
configurable
|
bool; या unbound;
डिफ़ॉल्ट रूप से unboundहोता है इस आर्ग्युमेंट को सिर्फ़ सिंबॉलिक मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
Label का sequence; या function;
डिफ़ॉल्ट रूप से []होता है अगर नियम को इंस्टैंटिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. डिफ़ॉल्ट वैल्यू तय करने के लिए, स्ट्रिंग या Label फ़ंक्शन का इस्तेमाल करें. उदाहरण के लिए, attr.label_list(default = ["//a:b", "//a:c"]).
|
materializer
|
function;
डिफ़ॉल्ट रूप से Noneहोता है एक्सपेरिमेंट के तौर पर उपलब्ध है. यह पैरामीटर एक्सपेरिमेंट के तौर पर उपलब्ध है. इसमें कभी भी बदलाव किया जा सकता है. कृपया इसके भरोसे न रहें. इसे एक्सपेरिमेंट के तौर पर चालू किया जा सकता है. इसके लिए, --experimental_dormant_deps को सेट करना होगा. अगर इसे सेट किया जाता है, तो एट्रिब्यूट, ट्रांज़िटिव क्लोज़र से डॉर्मेंट डिपेंडेंसी को मटीरियलाइज़ करता है. इस पैरामीटर की वैल्यू एक ऐसा फ़ंक्शन होना चाहिए जो नियम के उन एट्रिब्यूट की वैल्यू को ऐक्सेस करता है जो डिपेंडेंसी नहीं हैं या जिन्हें डिपेंडेंसी रिज़ॉल्यूशन के लिए उपलब्ध के तौर पर मार्क किया गया है. इसे एट्रिब्यूट के टाइप के आधार पर, या तो डॉर्मेंट डिपेंडेंसी या उनकी सूची दिखानी चाहिए |
doc
|
string; या None;
डिफ़ॉल्ट तौर पर Noneहोता है एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
allow_files
|
bool; या string का sequence; या None;
डिफ़ॉल्ट रूप से Noneहोता है क्या File टारगेट की अनुमति है. यह True, False (डिफ़ॉल्ट) या फ़ाइल एक्सटेंशन की ऐसी सूची हो सकती है जिन्हें अनुमति है (उदाहरण के लिए, [".cc", ".cpp"]).
|
allow_rules
|
string का sequence; या None;
डिफ़ॉल्ट रूप से Noneहोता है नियम के लिए, टारगेट करने की अनुमति वाली क्लास के नाम. इसे बंद कर दिया गया है. इसे सिर्फ़ कंपैटिबिलिटी के लिए रखा गया है. इसके बजाय, प्रोवाइडर का इस्तेमाल करें. |
providers
|
sequence;
डिफ़ॉल्ट रूप से []होता है इस एट्रिब्यूट में दिखने वाली किसी भी डिपेंडेंसी के लिए, सेवा देने वाली कंपनियों की जानकारी देना ज़रूरी है. इस आर्ग्युमेंट का फ़ॉर्मैट, प्रोवाइडर की सूचियों की सूची होती है. यह |
for_dependency_resolution
|
डिफ़ॉल्ट तौर पर unboundहोता है इसे सेट करने पर, एट्रिब्यूट, मटीरियलाइज़र के लिए उपलब्ध होता है. इस तरह के एट्रिब्यूट के ज़रिए, सिर्फ़ उन नियमों को रेफ़रंस किया जा सकता है जिन्हें एक ही नाम वाले फ़्लैग से मार्क किया गया है. |
flags
|
sequence of strings;
डिफ़ॉल्ट तौर पर []होता है अब इस्तेमाल नहीं किया जा सकता. इसे हटा दिया जाएगा. |
mandatory
|
bool;
डिफ़ॉल्ट वैल्यू Falseहै अगर वैल्यू सही है, तो उसे साफ़ तौर पर बताना होगा. भले ही, उसमें default मौजूद हो.
|
skip_validations
|
bool;
डिफ़ॉल्ट तौर पर Falseहोता है अगर यह वैल्यू सही पर सेट है, तो इस एट्रिब्यूट से ट्रांज़िटिव डिपेंडेंसी की पुष्टि करने वाली कार्रवाइयां नहीं चलेंगी. यह समस्या को कुछ समय के लिए ठीक करने का तरीका है. आने वाले समय में इसे हटा दिया जाएगा. |
cfg
|
डिफ़ॉल्ट रूप से Noneहोता है एट्रिब्यूट का कॉन्फ़िगरेशन. यह "exec" हो सकता है, जिसका मतलब है कि डिपेंडेंसी execution platform के लिए बनाई गई है. इसके अलावा, यह "target" भी हो सकता है, जिसका मतलब है कि डिपेंडेंसी target platform के लिए बनाई गई है. मोबाइल ऐप्लिकेशन बनाते समय, इस अंतर का एक सामान्य उदाहरण देखा जा सकता है. इसमें target platform, Android या iOS होता है, जबकि execution platform, Linux, macOS या Windows होता है.
|
aspects
|
sequence of Aspects;
डिफ़ॉल्ट रूप से []होता है ऐसे आसपेक्ट जिन्हें इस एट्रिब्यूट से तय की गई डिपेंडेंसी या डिपेंडेंसी पर लागू किया जाना चाहिए. |
आउटपुट
Attribute attr.output(doc=None, mandatory=False)
यह फ़ंक्शन, आउटपुट (लेबल) एट्रिब्यूट के लिए स्कीमा बनाता है.
इस एट्रिब्यूट में यूनीक Label वैल्यू शामिल हैं. अगर Label की जगह कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदल दिया जाएगा. लेबल पाथ के रिलेटिव हिस्सों को इंस्टैंटिएट किए गए टारगेट के पैकेज के हिसाब से हल किया जाता है. इनमें (शायद नाम बदली गई) रिपॉज़िटरी भी शामिल है.
विश्लेषण के समय, ctx.outputs का इस्तेमाल करके, इससे जुड़ा File वापस पाया जा सकता है.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
doc
|
string; या None;
डिफ़ॉल्ट तौर पर Noneहोता है एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
bool;
डिफ़ॉल्ट वैल्यू Falseहै अगर वैल्यू सही है, तो उसे साफ़ तौर पर बताना होगा. भले ही, उसमें default मौजूद हो.
|
output_list
Attribute attr.output_list(allow_empty=True, *, doc=None, mandatory=False)
इस एट्रिब्यूट में यूनीक Label वैल्यू शामिल हैं. अगर Label की जगह कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदल दिया जाएगा. लेबल पाथ के रिलेटिव हिस्सों को इंस्टैंटिएट किए गए टारगेट के पैकेज के हिसाब से हल किया जाता है. इनमें (शायद नाम बदली गई) रिपॉज़िटरी भी शामिल है.
विश्लेषण के समय, ctx.outputs का इस्तेमाल करके, इससे जुड़ा File वापस पाया जा सकता है.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
allow_empty
|
bool;
डिफ़ॉल्ट रूप से Trueहोता है अगर एट्रिब्यूट की वैल्यू खाली हो सकती है, तो यह वैल्यू सही होती है. |
doc
|
string; या None;
डिफ़ॉल्ट तौर पर Noneहोता है एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
bool;
डिफ़ॉल्ट वैल्यू Falseहै अगर वैल्यू सही है, तो उसे साफ़ तौर पर बताना होगा. भले ही, उसमें default मौजूद हो.
|
स्ट्रिंग
Attribute attr.string(configurable=unbound, default='', doc=None, mandatory=False, values=[])
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
configurable
|
bool; या unbound;
डिफ़ॉल्ट रूप से unboundहोता है इस आर्ग्युमेंट को सिर्फ़ सिंबॉलिक मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
string; या NativeComputedDefault;
डिफ़ॉल्ट वैल्यू ''है यह डिफ़ॉल्ट वैल्यू तब इस्तेमाल की जाती है, जब नियम को लागू करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है. |
doc
|
string; या None;
डिफ़ॉल्ट तौर पर Noneहोता है एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
bool;
डिफ़ॉल्ट वैल्यू Falseहै अगर वैल्यू सही है, तो उसे साफ़ तौर पर बताना होगा. भले ही, उसमें default मौजूद हो.
|
values
|
string का sequence;
डिफ़ॉल्ट रूप से []होता है यह एट्रिब्यूट के लिए, अनुमति वाली वैल्यू की सूची होती है. कोई दूसरी वैल्यू देने पर गड़बड़ी का मैसेज दिखता है. |
string_dict
Attribute attr.string_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, mandatory=False)
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
allow_empty
|
bool;
डिफ़ॉल्ट रूप से Trueहोता है अगर एट्रिब्यूट की वैल्यू खाली हो सकती है, तो यह वैल्यू सही होती है. |
configurable
|
bool; या unbound;
डिफ़ॉल्ट रूप से unboundहोता है इस आर्ग्युमेंट को सिर्फ़ सिंबॉलिक मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
dict;
डिफ़ॉल्ट तौर पर {}होता है यह एक डिफ़ॉल्ट वैल्यू है. इसका इस्तेमाल तब किया जाता है, जब नियम को इंस्टैंटिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है. |
doc
|
string; या None;
डिफ़ॉल्ट तौर पर Noneहोता है एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
bool;
डिफ़ॉल्ट वैल्यू Falseहै अगर वैल्यू सही है, तो उसे साफ़ तौर पर बताना होगा. भले ही, उसमें default मौजूद हो.
|
string_keyed_label_dict
Attribute attr.string_keyed_label_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, allow_files=None, allow_rules=None, providers=[], for_dependency_resolution=unbound, flags=[], mandatory=False, cfg=None, aspects=[])
यह एट्रिब्यूट के लिए एक स्कीमा बनाता है. इस एट्रिब्यूट की वैल्यू एक डिक्शनरी होती है. इसमें कुंजियां स्ट्रिंग होती हैं और वैल्यू लेबल होती हैं. यह एक डिपेंडेंसी एट्रिब्यूट है.
इस एट्रिब्यूट में यूनीक Label वैल्यू शामिल हैं. अगर Label की जगह कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदल दिया जाएगा. लेबल पाथ के रिलेटिव हिस्सों को इंस्टैंटिएट किए गए टारगेट के पैकेज के हिसाब से हल किया जाता है. इनमें (शायद नाम बदली गई) रिपॉज़िटरी भी शामिल है.
विश्लेषण के समय (नियम लागू करने वाले फ़ंक्शन के अंदर), ctx.attr से एट्रिब्यूट वैल्यू वापस पाने पर, लेबल की जगह उनसे जुड़े Target दिखते हैं. इससे आपको मौजूदा टारगेट की डिपेंडेंसी के प्रोवाइडर को ऐक्सेस करने की अनुमति मिलती है.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
allow_empty
|
bool;
डिफ़ॉल्ट रूप से Trueहोता है अगर एट्रिब्यूट की वैल्यू खाली हो सकती है, तो यह वैल्यू सही होती है. |
configurable
|
bool; या unbound;
डिफ़ॉल्ट रूप से unboundहोता है इस आर्ग्युमेंट को सिर्फ़ सिंबॉलिक मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
dict; या function;
डिफ़ॉल्ट रूप से {}होता है अगर नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. डिफ़ॉल्ट वैल्यू तय करने के लिए, स्ट्रिंग या Label फ़ंक्शन का इस्तेमाल करें. उदाहरण के लिए, attr.string_keyed_label_dict(default = {"foo": "//a:b", "bar": "//a:c"}).
|
doc
|
string; या None;
डिफ़ॉल्ट तौर पर Noneहोता है एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
allow_files
|
bool; या string का sequence; या None;
डिफ़ॉल्ट रूप से Noneहोता है क्या File टारगेट की अनुमति है. यह True, False (डिफ़ॉल्ट) या फ़ाइल एक्सटेंशन की ऐसी सूची हो सकती है जिन्हें अनुमति है (उदाहरण के लिए, [".cc", ".cpp"]).
|
allow_rules
|
string का sequence; या None;
डिफ़ॉल्ट रूप से Noneहोता है नियम के लिए, टारगेट करने की अनुमति वाली क्लास के नाम. इसे बंद कर दिया गया है. इसे सिर्फ़ कंपैटिबिलिटी के लिए रखा गया है. इसके बजाय, प्रोवाइडर का इस्तेमाल करें. |
providers
|
sequence;
डिफ़ॉल्ट रूप से []होता है इस एट्रिब्यूट में दिखने वाली किसी भी डिपेंडेंसी के लिए, सेवा देने वाली कंपनियों की जानकारी देना ज़रूरी है. इस आर्ग्युमेंट का फ़ॉर्मैट, प्रोवाइडर की सूचियों की सूची होती है. यह |
for_dependency_resolution
|
डिफ़ॉल्ट तौर पर unboundहोता है इसे सेट करने पर, एट्रिब्यूट, मटीरियलाइज़र के लिए उपलब्ध होता है. इस तरह के एट्रिब्यूट के ज़रिए, सिर्फ़ उन नियमों को रेफ़रंस किया जा सकता है जिन्हें एक ही नाम वाले फ़्लैग से मार्क किया गया है. |
flags
|
sequence of strings;
डिफ़ॉल्ट तौर पर []होता है अब इस्तेमाल नहीं किया जा सकता. इसे हटा दिया जाएगा. |
mandatory
|
bool;
डिफ़ॉल्ट वैल्यू Falseहै अगर वैल्यू सही है, तो उसे साफ़ तौर पर बताना होगा. भले ही, उसमें default मौजूद हो.
|
cfg
|
डिफ़ॉल्ट रूप से Noneहोता है एट्रिब्यूट का कॉन्फ़िगरेशन. यह "exec" हो सकता है, जिसका मतलब है कि डिपेंडेंसी execution platform के लिए बनाई गई है. इसके अलावा, यह "target" भी हो सकता है, जिसका मतलब है कि डिपेंडेंसी target platform के लिए बनाई गई है. मोबाइल ऐप्लिकेशन बनाते समय, इस अंतर का एक सामान्य उदाहरण देखा जा सकता है. इसमें target platform, Android या iOS होता है, जबकि execution platform, Linux, macOS या Windows होता है.
|
aspects
|
sequence of Aspects;
डिफ़ॉल्ट रूप से []होता है ऐसे आसपेक्ट जिन्हें इस एट्रिब्यूट से तय की गई डिपेंडेंसी या डिपेंडेंसी पर लागू किया जाना चाहिए. |
string_list
Attribute attr.string_list(mandatory=False, allow_empty=True, *, configurable=unbound, default=[], doc=None)
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
mandatory
|
bool;
डिफ़ॉल्ट वैल्यू Falseहै अगर वैल्यू सही है, तो उसे साफ़ तौर पर बताना होगा. भले ही, उसमें default मौजूद हो.
|
allow_empty
|
bool;
डिफ़ॉल्ट रूप से Trueहोता है अगर एट्रिब्यूट की वैल्यू खाली हो सकती है, तो यह वैल्यू सही होती है. |
configurable
|
bool; या unbound;
डिफ़ॉल्ट रूप से unboundहोता है इस आर्ग्युमेंट को सिर्फ़ सिंबॉलिक मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
sequence of strings; or NativeComputedDefault;
default is []A default value to use if no value for this attribute is given when instantiating the rule. |
doc
|
string; या None;
डिफ़ॉल्ट तौर पर Noneहोता है एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
string_list_dict
Attribute attr.string_list_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, mandatory=False)
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
allow_empty
|
bool;
डिफ़ॉल्ट रूप से Trueहोता है अगर एट्रिब्यूट की वैल्यू खाली हो सकती है, तो यह वैल्यू सही होती है. |
configurable
|
bool; या unbound;
डिफ़ॉल्ट रूप से unboundहोता है इस आर्ग्युमेंट को सिर्फ़ सिंबॉलिक मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
dict;
डिफ़ॉल्ट तौर पर {}होता है यह एक डिफ़ॉल्ट वैल्यू है. इसका इस्तेमाल तब किया जाता है, जब नियम को इंस्टैंटिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है. |
doc
|
string; या None;
डिफ़ॉल्ट तौर पर Noneहोता है एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
bool;
डिफ़ॉल्ट वैल्यू Falseहै अगर वैल्यू सही है, तो उसे साफ़ तौर पर बताना होगा. भले ही, उसमें default मौजूद हो.
|