यह किसी नियम या पहलू के एट्रिब्यूट स्कीमा को तय करने के लिए, टॉप-लेवल मॉड्यूल है. हर फ़ंक्शन, एक ऑब्जेक्ट दिखाता है. यह ऑब्जेक्ट, किसी एट्रिब्यूट के स्कीमा को दिखाता है. इन ऑब्जेक्ट का इस्तेमाल, 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
एट्रिब्यूट, Target
s की 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
|
string का sequence; या NativeComputedDefault;
डिफ़ॉल्ट वैल्यू [] है यह एक डिफ़ॉल्ट वैल्यू है. इसका इस्तेमाल तब किया जाता है, जब नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है. |
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 मौजूद हो.
|