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