यह किसी नियम या पहलू के एट्रिब्यूट स्कीमा को तय करने के लिए, टॉप-लेवल मॉड्यूल है. हर फ़ंक्शन, किसी एक एट्रिब्यूट के स्कीमा को दिखाने वाला ऑब्जेक्ट दिखाता है. इन ऑब्जेक्ट का इस्तेमाल, 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=[])इंटीजर एट्रिब्यूट के लिए स्कीमा बनाता है. वैल्यू, साइन वाली 32-बिट रेंज में होनी चाहिए. इससे जुड़ा
ctx.attr
एट्रिब्यूट, int
टाइप का होगा.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
default
|
डिफ़ॉल्ट वैल्यू 0 है नियम लागू करते समय, अगर इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. |
doc
|
स्ट्रिंग या None ;
डिफ़ॉल्ट तौर पर None एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
डिफ़ॉल्ट वैल्यू False है अगर यह 'सही' है, तो वैल्यू साफ़ तौर पर बताई जानी चाहिए. भले ही, उसमें default हो.
|
values
|
int के sequence;
डिफ़ॉल्ट [] है एट्रिब्यूट के लिए इस्तेमाल की जा सकने वाली वैल्यू की सूची. अगर कोई दूसरी वैल्यू दी जाती है, तो गड़बड़ी का मैसेज दिखता है. |
int_list
Attribute attr.int_list(mandatory=False, allow_empty=True, *, default=[], doc=None)पूर्णांकों की सूची वाले एट्रिब्यूट के लिए स्कीमा बनाता है. हर एलिमेंट, साइन किए गए 32-बिट रेंज में होना चाहिए.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
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
|
Label; या string; या LateBoundDefault; या NativeComputedDefault; या function; या 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
|
स्ट्रिंग का क्रम या 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, *, 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
|
स्ट्रिंग या 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
|
ऐस्पेक्ट का क्रम;
डिफ़ॉल्ट तौर पर, [] होता है ऐसे ऐस्पेक्ट जिन्हें इस एट्रिब्यूट से तय की गई डिपेंडेंसी या डिपेंडेंसी पर लागू किया जाना चाहिए. |
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
|
स्ट्रिंग या 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
के बजाय कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदल दिया जाएगा. लेबल पाथ के रिलेटिव हिस्सों को, इंस्टैंशिएट किए गए टारगेट के पैकेज के हिसाब से हल किया जाता है. इन हिस्सों में, संभवतः नाम बदली गई रिपॉज़िटरी भी शामिल है.
विश्लेषण के समय, ctx.outputs
का इस्तेमाल करके, उससे जुड़ा File
वापस पाया जा सकता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
allow_empty
|
डिफ़ॉल्ट True अगर एट्रिब्यूट की वैल्यू खाली हो सकती है, तो 'सही'. |
doc
|
स्ट्रिंग या None ;
डिफ़ॉल्ट तौर पर None एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
डिफ़ॉल्ट वैल्यू False है अगर यह 'सही' है, तो वैल्यू साफ़ तौर पर बताई जानी चाहिए. भले ही, उसमें default हो.
|
स्ट्रिंग
Attribute attr.string(default='', doc=None, mandatory=False, values=[])स्ट्रिंग एट्रिब्यूट के लिए स्कीमा बनाता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
default
|
string या NativeComputedDefault;
डिफ़ॉल्ट '' है नियम को लागू करते समय, अगर इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. |
doc
|
स्ट्रिंग या None ;
डिफ़ॉल्ट तौर पर None एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
डिफ़ॉल्ट वैल्यू False है अगर यह 'सही' है, तो वैल्यू साफ़ तौर पर बताई जानी चाहिए. भले ही, उसमें default हो.
|
values
|
स्ट्रिंग का क्रम;
डिफ़ॉल्ट तौर पर [] होता है इस एट्रिब्यूट के लिए इस्तेमाल की जा सकने वाली वैल्यू की सूची. अगर कोई दूसरी वैल्यू दी जाती है, तो गड़बड़ी का मैसेज दिखता है. |
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
|
स्ट्रिंग या 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
|
ऐस्पेक्ट का क्रम;
डिफ़ॉल्ट तौर पर, यह [] होता है ऐसे ऐस्पेक्ट जिन्हें इस एट्रिब्यूट से तय की गई डिपेंडेंसी या डिपेंडेंसी पर लागू किया जाना चाहिए. |
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 हो.
|