यह किसी नियम या पहलू के एट्रिब्यूट स्कीमा को तय करने के लिए, टॉप-लेवल मॉड्यूल है. हर फ़ंक्शन, किसी एक एट्रिब्यूट के स्कीमा को दिखाने वाला ऑब्जेक्ट दिखाता है. इन ऑब्जेक्ट का इस्तेमाल, rule()
, aspect()
, repository_rule()
, और tag_class()
के attrs
डिक्शनरी आर्ग्युमेंट की वैल्यू के तौर पर किया जाता है.
एट्रिब्यूट को तय करने और इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, नियम वाला पेज देखें.
सदस्य
- bool
- int
- int_list
- लेबल
- label_keyed_string_dict
- label_list
- आउटपुट
- 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 होता है इस आर्ग्युमेंट को सिर्फ़ सिंबल मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
bool;
डिफ़ॉल्ट False है अगर नियम को लागू करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. |
doc
|
स्ट्रिंग या 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 होता है इस आर्ग्युमेंट को सिर्फ़ सिंबल मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
int;
डिफ़ॉल्ट 0 नियम को लागू करते समय, अगर इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. |
doc
|
स्ट्रिंग या 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 होता है इस आर्ग्युमेंट को सिर्फ़ सिंबल मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
int का sequence;
डिफ़ॉल्ट [] है नियम को लागू करते समय, अगर इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. |
doc
|
स्ट्रिंग या 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 होता है इस आर्ग्युमेंट को सिर्फ़ सिंबल मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
Label; या string; या LateBoundDefault; या NativeComputedDefault; या function; या None ;
डिफ़ॉल्ट None नियम को लागू करते समय, अगर इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी गई है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. डिफ़ॉल्ट वैल्यू तय करने के लिए, स्ट्रिंग या Label फ़ंक्शन का इस्तेमाल करें. उदाहरण के लिए, attr.label(default = "//a:b") .
|
materializer
|
function;
डिफ़ॉल्ट तौर पर None है एक्सपेरिमेंटल. यह पैरामीटर एक्सपेरिमेंट के तौर पर उपलब्ध है. इसमें कभी भी बदलाव किया जा सकता है. कृपया इस पर भरोसा न करें. इसे एक्सपेरिमेंट के तौर पर चालू किया जा सकता है. इसके लिए, --experimental_dormant_deps को सेट करें. अगर यह सेट किया जाता है, तो एट्रिब्यूट, ट्रांसीटिव क्लोज़र से निष्क्रिय डिपेंडेंसी को लागू करता है. इस पैरामीटर की वैल्यू, ऐसा फ़ंक्शन होना चाहिए जो नियम के उन एट्रिब्यूट की वैल्यू ऐक्सेस कर सके जो डिपेंडेंसी नहीं हैं या जिन्हें डिपेंडेंसी रिज़ॉल्यूशन के लिए उपलब्ध के तौर पर मार्क किया गया है. यह एट्रिब्यूट के टाइप के आधार पर, एक निष्क्रिय डिपेंडेंसी या उनकी सूची दिखानी चाहिए |
doc
|
स्ट्रिंग या None ;
डिफ़ॉल्ट तौर पर None एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
executable
|
bool;
डिफ़ॉल्ट रूप से False पर सेट होती है अगर डिपेंडेंसी को चलाया जा सकता है, तो 'सही' पर सेट करें. इसका मतलब है कि लेबल में किसी एक्ज़ीक्यूटेबल फ़ाइल या ऐसे नियम का रेफ़रंस होना चाहिए जो एक्ज़ीक्यूटेबल फ़ाइल को आउटपुट करता हो. ctx.executable.<attribute_name> का इस्तेमाल करके लेबल को ऐक्सेस करें.
|
allow_files
|
bool; या स्ट्रिंग का क्रम; या 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
|
स्ट्रिंग का क्रम या None ;
डिफ़ॉल्ट रूप से None किन नियम टारगेट (क्लास का नाम) की अनुमति है. इसे बंद कर दिया गया है (सिर्फ़ काम करने के लिए रखा गया है). इसके बजाय, प्रोवाइडर का इस्तेमाल करें. |
cfg
|
डिफ़ॉल्ट रूप से, एट्रिब्यूट का कॉन्फ़िगरेशन None होता है. यह "exec" या "target" हो सकता है. "exec" से पता चलता है कि डिपेंडेंसी, execution platform के लिए बनाई गई है. वहीं, "target" से पता चलता है कि डिपेंडेंसी, target platform के लिए बनाई गई है. मोबाइल ऐप्लिकेशन बनाते समय, इस अंतर का एक अच्छा उदाहरण है. यहां target platform , Android या iOS होता है, जबकि execution platform , Linux , macOS या Windows होता है. अगर executable की वैल्यू 'सही' है, तो यह पैरामीटर ज़रूरी है. इससे, टारगेट कॉन्फ़िगरेशन में गलती से होस्ट टूल बनाने से बचा जा सकता है. "target" का कोई सेमेटिक असर नहीं होता. इसलिए, जब executable 'गलत है' पर सेट हो, तब इसे तब तक सेट न करें, जब तक कि यह आपके इंटेंट को साफ़ तौर पर बताने में मदद न करे.
|
aspects
|
ऐस्पेक्ट का क्रम;
डिफ़ॉल्ट तौर पर, [] होता है इस एट्रिब्यूट की मदद से तय की गई डिपेंडेंसी या डिपेंडेंसी पर लागू होने वाले ऐस्पेक्ट. |
flags
|
स्ट्रिंग का क्रम;
डिफ़ॉल्ट रूप से [] होता है इस्तेमाल नहीं किया जा सकता. इसे हटा दिया जाएगा. |
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 होता है इस आर्ग्युमेंट को सिर्फ़ सिंबल मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
dict या function;
डिफ़ॉल्ट {} नियम को लागू करते समय, अगर इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. डिफ़ॉल्ट वैल्यू तय करने के लिए, स्ट्रिंग या Label फ़ंक्शन का इस्तेमाल करें. उदाहरण के लिए, attr.label_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"}) .
|
doc
|
स्ट्रिंग या None ;
डिफ़ॉल्ट तौर पर None एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
allow_files
|
bool; या स्ट्रिंग का क्रम; या None ;
डिफ़ॉल्ट रूप से None क्या File टारगेट की अनुमति है. यह True , False (डिफ़ॉल्ट) या अनुमति वाले फ़ाइल एक्सटेंशन की सूची हो सकती है. उदाहरण के लिए, [".cc", ".cpp"] .
|
allow_rules
|
स्ट्रिंग का क्रम या None ;
डिफ़ॉल्ट रूप से None किन नियम टारगेट (क्लास का नाम) की अनुमति है. इसे बंद कर दिया गया है (सिर्फ़ काम करने के लिए रखा गया है). इसके बजाय, प्रोवाइडर का इस्तेमाल करें. |
providers
|
sequence;
डिफ़ॉल्ट [] है इस एट्रिब्यूट में दिखने वाली किसी भी डिपेंडेंसी से, ये प्रोवाइडर दिए जाने चाहिए. इस आर्ग्युमेंट का फ़ॉर्मैट, सेवा देने वाली कंपनियों की सूचियों की सूची है -- |
for_dependency_resolution
|
डिफ़ॉल्ट रूप से unbound पर सेट होता है अगर यह सेट है, तो एट्रिब्यूट, मटीरियलाइज़र के लिए उपलब्ध होता है. ऐसे एट्रिब्यूट की मदद से, सिर्फ़ एक ही नाम के फ़्लैग वाले नियमों का रेफ़रंस दिया जा सकता है. |
flags
|
स्ट्रिंग का क्रम;
डिफ़ॉल्ट रूप से [] होता है इस्तेमाल नहीं किया जा सकता. इसे हटा दिया जाएगा. |
mandatory
|
bool;
डिफ़ॉल्ट तौर पर, इसकी वैल्यू False होती है अगर यह वैल्यू 'सही है' है, तो इसकी वैल्यू साफ़ तौर पर बताई जानी चाहिए. भले ही, इसमें default हो.
|
cfg
|
डिफ़ॉल्ट रूप से, एट्रिब्यूट का कॉन्फ़िगरेशन None होता है. यह "exec" या "target" हो सकता है. "exec" से पता चलता है कि डिपेंडेंसी, execution platform के लिए बनाई गई है. वहीं, "target" से पता चलता है कि डिपेंडेंसी, target platform के लिए बनाई गई है. मोबाइल ऐप्लिकेशन बनाते समय, इस अंतर का एक अच्छा उदाहरण है. यहां target platform , Android या iOS होता है, जबकि execution platform , Linux , macOS या Windows होता है.
|
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
की सूची टाइप का होगा.
इस एट्रिब्यूट में यूनीक Label
वैल्यू होती हैं. अगर Label
के बजाय कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदल दिया जाएगा. लेबल पाथ के रिलेटिव हिस्सों को, इंस्टैंशिएट किए गए टारगेट के पैकेज के हिसाब से हल किया जाता है. इन हिस्सों में, संभवतः नाम बदला गया रिपॉज़िटरी भी शामिल है.
विश्लेषण के समय (नियम लागू करने वाले फ़ंक्शन में), ctx.attr
से एट्रिब्यूट वैल्यू को वापस लाने पर, लेबल को उससे जुड़े Target
से बदल दिया जाता है. इसकी मदद से, मौजूदा टारगेट की डिपेंडेंसी के लिए, सेवा देने वाली कंपनियों को ऐक्सेस किया जा सकता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
allow_empty
|
bool;
डिफ़ॉल्ट तौर पर, इसकी वैल्यू True होती है अगर एट्रिब्यूट की वैल्यू खाली हो सकती है, तो इसकी वैल्यू 'सही' होनी चाहिए. |
configurable
|
bool या अनबाउंड;
डिफ़ॉल्ट तौर पर unbound होता है इस आर्ग्युमेंट को सिर्फ़ सिंबल मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
लेबल या फ़ंक्शन का क्रम;
डिफ़ॉल्ट [] नियम लागू करते समय, अगर इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. डिफ़ॉल्ट वैल्यू तय करने के लिए, स्ट्रिंग या Label फ़ंक्शन का इस्तेमाल करें. उदाहरण के लिए, attr.label_list(default = ["//a:b", "//a:c"]) .
|
materializer
|
function;
डिफ़ॉल्ट तौर पर None है एक्सपेरिमेंटल. यह पैरामीटर एक्सपेरिमेंट के तौर पर उपलब्ध है. इसमें कभी भी बदलाव किया जा सकता है. कृपया इस पर भरोसा न करें. इसे एक्सपेरिमेंट के तौर पर चालू किया जा सकता है. इसके लिए, --experimental_dormant_deps को सेट करें. अगर यह सेट किया जाता है, तो एट्रिब्यूट, ट्रांसीटिव क्लोज़र से निष्क्रिय डिपेंडेंसी को लागू करता है. इस पैरामीटर की वैल्यू, ऐसा फ़ंक्शन होना चाहिए जो नियम के उन एट्रिब्यूट की वैल्यू ऐक्सेस कर सके जो डिपेंडेंसी नहीं हैं या जिन्हें डिपेंडेंसी रिज़ॉल्यूशन के लिए उपलब्ध के तौर पर मार्क किया गया है. यह एट्रिब्यूट के टाइप के आधार पर, एक निष्क्रिय डिपेंडेंसी या उनकी सूची दिखानी चाहिए |
doc
|
स्ट्रिंग या None ;
डिफ़ॉल्ट तौर पर None एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
allow_files
|
bool; या स्ट्रिंग का क्रम; या None ;
डिफ़ॉल्ट रूप से None क्या File टारगेट की अनुमति है. यह True , False (डिफ़ॉल्ट) या अनुमति वाले फ़ाइल एक्सटेंशन की सूची हो सकती है. उदाहरण के लिए, [".cc", ".cpp"] .
|
allow_rules
|
स्ट्रिंग का क्रम या None ;
डिफ़ॉल्ट रूप से None किन नियम टारगेट (क्लास का नाम) की अनुमति है. इसे बंद कर दिया गया है (सिर्फ़ काम करने के लिए रखा गया है). इसके बजाय, प्रोवाइडर का इस्तेमाल करें. |
providers
|
sequence;
डिफ़ॉल्ट [] है इस एट्रिब्यूट में दिखने वाली किसी भी डिपेंडेंसी से, ये प्रोवाइडर दिए जाने चाहिए. इस आर्ग्युमेंट का फ़ॉर्मैट, सेवा देने वाली कंपनियों की सूचियों की सूची है -- |
for_dependency_resolution
|
डिफ़ॉल्ट रूप से unbound पर सेट होता है अगर यह सेट है, तो एट्रिब्यूट, मटीरियलाइज़र के लिए उपलब्ध होता है. ऐसे एट्रिब्यूट की मदद से, सिर्फ़ एक ही नाम के फ़्लैग वाले नियमों का रेफ़रंस दिया जा सकता है. |
flags
|
स्ट्रिंग का क्रम;
डिफ़ॉल्ट रूप से [] होता है इस्तेमाल नहीं किया जा सकता. इसे हटा दिया जाएगा. |
mandatory
|
bool;
डिफ़ॉल्ट तौर पर, इसकी वैल्यू False होती है अगर यह वैल्यू 'सही है' है, तो इसकी वैल्यू साफ़ तौर पर बताई जानी चाहिए. भले ही, इसमें default हो.
|
skip_validations
|
bool;
डिफ़ॉल्ट तौर पर, इसकी वैल्यू False होती है अगर इसकी वैल्यू 'सही' है, तो इस एट्रिब्यूट से ट्रांज़िशनल डिपेंडेंसी की पुष्टि करने वाली कार्रवाइयां नहीं चलेंगी. यह कुछ समय के लिए है और आने वाले समय में इसे हटा दिया जाएगा. |
cfg
|
डिफ़ॉल्ट रूप से, एट्रिब्यूट का कॉन्फ़िगरेशन None होता है. यह "exec" या "target" हो सकता है. "exec" से पता चलता है कि डिपेंडेंसी, execution platform के लिए बनाई गई है. वहीं, "target" से पता चलता है कि डिपेंडेंसी, target platform के लिए बनाई गई है. मोबाइल ऐप्लिकेशन बनाते समय, इस अंतर का एक अच्छा उदाहरण है. यहां target platform , Android या iOS होता है, जबकि execution platform , Linux , macOS या Windows होता है.
|
aspects
|
ऐस्पेक्ट का क्रम;
डिफ़ॉल्ट तौर पर, [] होता है इस एट्रिब्यूट की मदद से तय की गई डिपेंडेंसी या डिपेंडेंसी पर लागू होने वाले ऐस्पेक्ट. |
आउटपुट
Attribute attr.output(doc=None, mandatory=False)
आउटपुट (लेबल) एट्रिब्यूट के लिए स्कीमा बनाता है.
इस एट्रिब्यूट में यूनीक Label
वैल्यू होती हैं. अगर Label
के बजाय कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदल दिया जाएगा. लेबल पाथ के रिलेटिव हिस्सों को, इंस्टैंशिएट किए गए टारगेट के पैकेज के हिसाब से हल किया जाता है. इन हिस्सों में, संभवतः नाम बदला गया रिपॉज़िटरी भी शामिल है.
विश्लेषण के समय, ctx.outputs
का इस्तेमाल करके, उससे जुड़ा File
वापस पाया जा सकता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
doc
|
स्ट्रिंग या 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
|
स्ट्रिंग या None ;
डिफ़ॉल्ट तौर पर None एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
bool;
डिफ़ॉल्ट तौर पर, इसकी वैल्यू False होती है अगर यह वैल्यू 'सही है' है, तो इसकी वैल्यू साफ़ तौर पर बताई जानी चाहिए. भले ही, इसमें default हो.
|
स्ट्रिंग
Attribute attr.string(configurable=unbound, default='', doc=None, mandatory=False, values=[])
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
configurable
|
bool या अनबाउंड;
डिफ़ॉल्ट तौर पर unbound होता है इस आर्ग्युमेंट को सिर्फ़ सिंबल मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
string या NativeComputedDefault;
डिफ़ॉल्ट '' है नियम को लागू करते समय, अगर इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. |
doc
|
स्ट्रिंग या None ;
डिफ़ॉल्ट तौर पर None एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
bool;
डिफ़ॉल्ट तौर पर, इसकी वैल्यू False होती है अगर यह वैल्यू 'सही है' है, तो इसकी वैल्यू साफ़ तौर पर बताई जानी चाहिए. भले ही, इसमें default हो.
|
values
|
स्ट्रिंग का क्रम;
डिफ़ॉल्ट तौर पर [] होता है इस एट्रिब्यूट के लिए इस्तेमाल की जा सकने वाली वैल्यू की सूची. अगर कोई दूसरी वैल्यू दी जाती है, तो गड़बड़ी का मैसेज दिखता है. |
string_dict
Attribute attr.string_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, mandatory=False)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
allow_empty
|
bool;
डिफ़ॉल्ट तौर पर, इसकी वैल्यू True होती है अगर एट्रिब्यूट की वैल्यू खाली हो सकती है, तो इसकी वैल्यू 'सही' होनी चाहिए. |
configurable
|
bool या अनबाउंड;
डिफ़ॉल्ट तौर पर unbound होता है इस आर्ग्युमेंट को सिर्फ़ सिंबल मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
dict;
डिफ़ॉल्ट {} नियम को लागू करते समय, अगर इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. |
doc
|
स्ट्रिंग या 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 होता है इस आर्ग्युमेंट को सिर्फ़ सिंबल मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
dict या function;
डिफ़ॉल्ट {} नियम को लागू करते समय, अगर इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. डिफ़ॉल्ट वैल्यू तय करने के लिए, स्ट्रिंग या Label फ़ंक्शन का इस्तेमाल करें. उदाहरण के लिए, attr.string_keyed_label_dict(default = {"foo": "//a:b", "bar": "//a:c"}) .
|
doc
|
स्ट्रिंग या None ;
डिफ़ॉल्ट तौर पर None एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
allow_files
|
bool; या स्ट्रिंग का क्रम; या None ;
डिफ़ॉल्ट रूप से None क्या File टारगेट की अनुमति है. यह True , False (डिफ़ॉल्ट) या अनुमति वाले फ़ाइल एक्सटेंशन की सूची हो सकती है. उदाहरण के लिए, [".cc", ".cpp"] .
|
allow_rules
|
स्ट्रिंग का क्रम या None ;
डिफ़ॉल्ट रूप से None किन नियम टारगेट (क्लास का नाम) की अनुमति है. इसे बंद कर दिया गया है (सिर्फ़ काम करने के लिए रखा गया है). इसके बजाय, प्रोवाइडर का इस्तेमाल करें. |
providers
|
sequence;
डिफ़ॉल्ट [] है इस एट्रिब्यूट में दिखने वाली किसी भी डिपेंडेंसी से, ये प्रोवाइडर दिए जाने चाहिए. इस आर्ग्युमेंट का फ़ॉर्मैट, सेवा देने वाली कंपनियों की सूचियों की सूची है -- |
for_dependency_resolution
|
डिफ़ॉल्ट रूप से unbound पर सेट होता है अगर यह सेट है, तो एट्रिब्यूट, मटीरियलाइज़र के लिए उपलब्ध होता है. ऐसे एट्रिब्यूट की मदद से, सिर्फ़ एक ही नाम के फ़्लैग वाले नियमों का रेफ़रंस दिया जा सकता है. |
flags
|
स्ट्रिंग का क्रम;
डिफ़ॉल्ट रूप से [] होता है इस्तेमाल नहीं किया जा सकता. इसे हटा दिया जाएगा. |
mandatory
|
bool;
डिफ़ॉल्ट तौर पर, इसकी वैल्यू False होती है अगर यह वैल्यू 'सही है' है, तो इसकी वैल्यू साफ़ तौर पर बताई जानी चाहिए. भले ही, इसमें default हो.
|
cfg
|
डिफ़ॉल्ट रूप से, एट्रिब्यूट का कॉन्फ़िगरेशन None होता है. यह "exec" या "target" हो सकता है. "exec" से पता चलता है कि डिपेंडेंसी, execution platform के लिए बनाई गई है. वहीं, "target" से पता चलता है कि डिपेंडेंसी, target platform के लिए बनाई गई है. मोबाइल ऐप्लिकेशन बनाते समय, इस अंतर का एक अच्छा उदाहरण है. यहां target platform , Android या iOS होता है, जबकि execution platform , Linux , macOS या Windows होता है.
|
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 होता है इस आर्ग्युमेंट को सिर्फ़ सिंबल मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
स्ट्रिंग का क्रम या NativeComputedDefault;
डिफ़ॉल्ट [] नियम को लागू करते समय, अगर इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. |
doc
|
स्ट्रिंग या 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 होता है इस आर्ग्युमेंट को सिर्फ़ सिंबल मैक्रो के एट्रिब्यूट के लिए तय किया जा सकता है. अगर किसी नियम या पहलू के एट्रिब्यूट के लिए, |
default
|
dict;
डिफ़ॉल्ट {} नियम को लागू करते समय, अगर इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. |
doc
|
स्ट्रिंग या None ;
डिफ़ॉल्ट तौर पर None एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
bool;
डिफ़ॉल्ट तौर पर, इसकी वैल्यू False होती है अगर यह वैल्यू 'सही है' है, तो इसकी वैल्यू साफ़ तौर पर बताई जानी चाहिए. भले ही, इसमें default हो.
|