rule() और aspect() के attrs डिक्शनरी आर्ग्युमेंट की वैल्यू के तौर पर किया जाता है.एट्रिब्यूट तय करने और इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, नियमों का पेज देखें.
सदस्य
- bool
- int
- int_list
- लेबल
- label_keyed_string_dict
- label_list
- output
- output_list
- स्ट्रिंग
- string_dict
- string_list
- string_list_dict
बूल
Attribute attr.bool(default=False, doc='', mandatory=False)
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
default
|
default = False यह एक डिफ़ॉल्ट वैल्यू है. इसका इस्तेमाल तब किया जाता है, जब नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है. |
doc
|
default = '' एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
default = False अगर यह वैल्यू सही है, तो वैल्यू को साफ़ तौर पर बताना होगा. भले ही, इसमें default मौजूद हो.
|
int
Attribute attr.int(default=0, doc='', mandatory=False, values=[])
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
default
|
default = 0 यह एक डिफ़ॉल्ट वैल्यू है. इसका इस्तेमाल तब किया जाता है, जब नियम को लागू करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है. |
doc
|
default = '' एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
default = False अगर यह वैल्यू सही है, तो वैल्यू को साफ़ तौर पर बताना होगा. भले ही, इसमें default मौजूद हो.
|
values
|
sequence of ints;
default = []यह एट्रिब्यूट के लिए मान्य वैल्यू की सूची है. अगर कोई दूसरी वैल्यू दी जाती है, तो गड़बड़ी का मैसेज दिखता है. |
int_list
Attribute attr.int_list(mandatory=False, allow_empty=True, *, default=[], doc='')
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
mandatory
|
default = False अगर यह वैल्यू सही है, तो वैल्यू को साफ़ तौर पर बताना होगा. भले ही, इसमें default मौजूद हो.
|
allow_empty
|
default = True True if the attribute can be empty. |
default
|
sequence of ints;
default = []यह एक डिफ़ॉल्ट वैल्यू है. इसका इस्तेमाल तब किया जाता है, जब नियम को इंस्टैंटिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है. |
doc
|
default = '' एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
लेबल
Attribute attr.label(default=None, doc='', executable=False, allow_files=None, allow_single_file=None, mandatory=False, providers=[], allow_rules=None, cfg=None, aspects=[])
यह फ़ंक्शन, लेबल एट्रिब्यूट के लिए स्कीमा बनाता है. यह एक डिपेंडेंसी एट्रिब्यूट है.
इस एट्रिब्यूट में यूनीक Label वैल्यू शामिल हैं. अगर Label की जगह कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदला जाएगा. लेबल पाथ के रिलेटिव हिस्से, इंस्टैंटिएट किए गए टारगेट के पैकेज के हिसाब से तय किए जाते हैं. इनमें (शायद नाम बदली गई) रिपॉज़िटरी भी शामिल होती है.
विश्लेषण के समय (नियम लागू करने वाले फ़ंक्शन के अंदर), ctx.attr से एट्रिब्यूट वैल्यू वापस पाने पर, लेबल की जगह उनसे जुड़े Target दिखते हैं. इससे आपको मौजूदा टारगेट की डिपेंडेंसी के प्रोवाइडर को ऐक्सेस करने की अनुमति मिलती है.
आम सोर्स फ़ाइलों के अलावा, इस तरह के एट्रिब्यूट का इस्तेमाल अक्सर किसी टूल का रेफ़रंस देने के लिए किया जाता है. उदाहरण के लिए, कंपाइलर. ऐसे टूल को सोर्स फ़ाइलों की तरह ही डिपेंडेंसी माना जाता है. उपयोगकर्ताओं को अपनी BUILD फ़ाइलों में नियम का इस्तेमाल करते समय, हर बार टूल का लेबल तय करने की ज़रूरत न पड़े, इसके लिए कैननिकल टूल के लेबल को इस एट्रिब्यूट की default वैल्यू के तौर पर हार्ड-कोड किया जा सकता है. अगर आपको उपयोगकर्ताओं को इस डिफ़ॉल्ट वैल्यू को बदलने से रोकना है, तो एट्रिब्यूट को निजी के तौर पर सेट किया जा सकता है. इसके लिए, एट्रिब्यूट का नाम अंडरस्कोर से शुरू करें. ज़्यादा जानकारी के लिए, नियम पेज देखें.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
default
|
Label; or string; or LateBoundDefault; or NativeComputedDefault; or function; or None;
default = Noneयह एक डिफ़ॉल्ट वैल्यू है. इसका इस्तेमाल तब किया जाता है, जब नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है. डिफ़ॉल्ट वैल्यू तय करने के लिए, स्ट्रिंग या Label फ़ंक्शन का इस्तेमाल करें. उदाहरण के लिए, attr.label(default = "//a:b").
|
doc
|
default = '' एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
executable
|
default = False True if the dependency has to be executable. इसका मतलब है कि लेबल, किसी एक्ज़ीक्यूटेबल फ़ाइल या किसी ऐसे नियम के बारे में होना चाहिए जो एक्ज़ीक्यूटेबल फ़ाइल बनाता है. ctx.executable.<attribute_name> की मदद से लेबल ऐक्सेस करें.
|
allow_files
|
bool; or sequence of strings; or None;
default = NoneWhether File targets are allowed. यह True, False (डिफ़ॉल्ट) या अनुमति वाले फ़ाइल एक्सटेंशन की सूची हो सकती है. उदाहरण के लिए, [".cc", ".cpp"].
|
allow_single_file
|
default = None यह allow_files जैसा ही है. हालांकि, इसमें यह पाबंदी है कि लेबल, सिर्फ़ एक फ़ाइल से मेल खाना चाहिए. इसे ctx.file.<attribute_name> से ऐक्सेस करें.
|
mandatory
|
default = False अगर यह वैल्यू सही है, तो वैल्यू को साफ़ तौर पर बताना होगा. भले ही, इसमें default मौजूद हो.
|
providers
|
default = [] The providers that must be given by any dependency appearing in this attribute. इस आर्ग्युमेंट का फ़ॉर्मैट, प्रोवाइडर की सूचियों की सूची होती है. यह |
allow_rules
|
sequence of strings; or None;
default = Noneकिन नियमों के टारगेट (क्लास के नाम) को अनुमति है. इसे बंद कर दिया गया है. इसे सिर्फ़ कंपैटिबिलिटी के लिए रखा गया है. इसके बजाय, प्रोवाइडर का इस्तेमाल करें. |
cfg
|
default = None एट्रिब्यूट का कॉन्फ़िगरेशन. यह "exec" या "target" हो सकता है. "exec" का मतलब है कि डिपेंडेंसी execution platform के लिए बनाई गई है. वहीं, "target" का मतलब है कि डिपेंडेंसी target platform के लिए बनाई गई है. मोबाइल ऐप्लिकेशन बनाते समय, इस अंतर का एक सामान्य उदाहरण मिलता है. इसमें target platform, Android या iOS होता है, जबकि execution platform, Linux, macOS या Windows होता है. अगर executable की वैल्यू True पर सेट है, तो इस पैरामीटर की ज़रूरत होती है. इससे टारगेट कॉन्फ़िगरेशन में गलती से होस्ट टूल बनाने से बचा जा सकता है. "target" का कोई सिमैंटिक असर नहीं होता. इसलिए, जब executable की वैल्यू False हो, तब इसे सेट न करें. हालांकि, अगर इससे आपके इरादों को समझने में मदद मिलती है, तो इसे सेट किया जा सकता है.
|
aspects
|
sequence of Aspects;
default = []ऐसे पहलू जिन्हें इस एट्रिब्यूट से तय की गई डिपेंडेंसी या डिपेंडेंसी पर लागू किया जाना चाहिए. |
label_keyed_string_dict
Attribute attr.label_keyed_string_dict(allow_empty=True, *, default={}, doc='', allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, cfg=None, aspects=[])
यह डिक्शनरी रखने वाले एट्रिब्यूट के लिए स्कीमा बनाता है. इसमें कुंजियां लेबल होती हैं और वैल्यू स्ट्रिंग होती हैं. यह एक डिपेंडेंसी एट्रिब्यूट है.
इस एट्रिब्यूट में यूनीक Label वैल्यू शामिल हैं. अगर Label की जगह कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदला जाएगा. लेबल पाथ के रिलेटिव हिस्से, इंस्टैंटिएट किए गए टारगेट के पैकेज के हिसाब से तय किए जाते हैं. इनमें (शायद नाम बदली गई) रिपॉज़िटरी भी शामिल होती है.
विश्लेषण के समय (नियम लागू करने वाले फ़ंक्शन के अंदर), ctx.attr से एट्रिब्यूट वैल्यू वापस पाने पर, लेबल की जगह उनसे जुड़े Target दिखते हैं. इससे आपको मौजूदा टारगेट की डिपेंडेंसी के प्रोवाइडर को ऐक्सेस करने की अनुमति मिलती है.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
allow_empty
|
default = True True if the attribute can be empty. |
default
|
dict; or function;
default = {}यह एक डिफ़ॉल्ट वैल्यू है. इसका इस्तेमाल तब किया जाता है, जब नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है. डिफ़ॉल्ट वैल्यू तय करने के लिए, स्ट्रिंग या Label फ़ंक्शन का इस्तेमाल करें. उदाहरण के लिए, attr.label_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"}).
|
doc
|
default = '' एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
allow_files
|
bool; or sequence of strings; or None;
default = NoneWhether File targets are allowed. यह True, False (डिफ़ॉल्ट) या अनुमति वाले फ़ाइल एक्सटेंशन की सूची हो सकती है. उदाहरण के लिए, [".cc", ".cpp"].
|
allow_rules
|
sequence of strings; or None;
default = Noneकिन नियमों के टारगेट (क्लास के नाम) को अनुमति है. इसे बंद कर दिया गया है. इसे सिर्फ़ कंपैटिबिलिटी के लिए रखा गया है. इसके बजाय, प्रोवाइडर का इस्तेमाल करें. |
providers
|
default = [] The providers that must be given by any dependency appearing in this attribute. इस आर्ग्युमेंट का फ़ॉर्मैट, प्रोवाइडर की सूचियों की सूची होती है. यह |
flags
|
sequence of strings;
default = []अब इस्तेमाल नहीं किया जा सकता. इसे हटा दिया जाएगा. |
mandatory
|
default = False अगर यह वैल्यू सही है, तो वैल्यू को साफ़ तौर पर बताना होगा. भले ही, इसमें default मौजूद हो.
|
cfg
|
default = None एट्रिब्यूट का कॉन्फ़िगरेशन. यह "exec" या "target" हो सकता है. "exec" का मतलब है कि डिपेंडेंसी execution platform के लिए बनाई गई है. वहीं, "target" का मतलब है कि डिपेंडेंसी target platform के लिए बनाई गई है. मोबाइल ऐप्लिकेशन बनाते समय, इस अंतर का एक सामान्य उदाहरण मिलता है. इसमें target platform, Android या iOS होता है, जबकि execution platform, Linux, macOS या Windows होता है.
|
aspects
|
sequence of Aspects;
default = []ऐसे पहलू जिन्हें इस एट्रिब्यूट से तय की गई डिपेंडेंसी या डिपेंडेंसी पर लागू किया जाना चाहिए. |
label_list
Attribute attr.label_list(allow_empty=True, *, default=[], doc='', allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, cfg=None, aspects=[])
यह फ़ंक्शन, लेबल की सूची वाले एट्रिब्यूट के लिए स्कीमा बनाता है. यह एक डिपेंडेंसी एट्रिब्यूट है.
इस एट्रिब्यूट में यूनीक Label वैल्यू शामिल हैं. अगर Label की जगह कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदला जाएगा. लेबल पाथ के रिलेटिव हिस्से, इंस्टैंटिएट किए गए टारगेट के पैकेज के हिसाब से तय किए जाते हैं. इनमें (शायद नाम बदली गई) रिपॉज़िटरी भी शामिल होती है.
विश्लेषण के समय (नियम लागू करने वाले फ़ंक्शन के अंदर), ctx.attr से एट्रिब्यूट वैल्यू वापस पाने पर, लेबल की जगह उनसे जुड़े Target दिखते हैं. इससे आपको मौजूदा टारगेट की डिपेंडेंसी के प्रोवाइडर को ऐक्सेस करने की अनुमति मिलती है.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
allow_empty
|
default = True True if the attribute can be empty. |
default
|
sequence of Labels; or function;
default = []यह एक डिफ़ॉल्ट वैल्यू है. इसका इस्तेमाल तब किया जाता है, जब नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है. डिफ़ॉल्ट वैल्यू तय करने के लिए, स्ट्रिंग या Label फ़ंक्शन का इस्तेमाल करें. उदाहरण के लिए, attr.label_list(default = ["//a:b", "//a:c"]).
|
doc
|
default = '' एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
allow_files
|
bool; or sequence of strings; or None;
default = NoneWhether File targets are allowed. यह True, False (डिफ़ॉल्ट) या अनुमति वाले फ़ाइल एक्सटेंशन की सूची हो सकती है. उदाहरण के लिए, [".cc", ".cpp"].
|
allow_rules
|
sequence of strings; or None;
default = Noneकिन नियमों के टारगेट (क्लास के नाम) को अनुमति है. इसे बंद कर दिया गया है. इसे सिर्फ़ कंपैटिबिलिटी के लिए रखा गया है. इसके बजाय, प्रोवाइडर का इस्तेमाल करें. |
providers
|
default = [] The providers that must be given by any dependency appearing in this attribute. इस आर्ग्युमेंट का फ़ॉर्मैट, प्रोवाइडर की सूचियों की सूची होती है. यह |
flags
|
sequence of strings;
default = []अब इस्तेमाल नहीं किया जा सकता. इसे हटा दिया जाएगा. |
mandatory
|
default = False अगर यह वैल्यू सही है, तो वैल्यू को साफ़ तौर पर बताना होगा. भले ही, इसमें default मौजूद हो.
|
cfg
|
default = None एट्रिब्यूट का कॉन्फ़िगरेशन. यह "exec" या "target" हो सकता है. "exec" का मतलब है कि डिपेंडेंसी execution platform के लिए बनाई गई है. वहीं, "target" का मतलब है कि डिपेंडेंसी target platform के लिए बनाई गई है. मोबाइल ऐप्लिकेशन बनाते समय, इस अंतर का एक सामान्य उदाहरण मिलता है. इसमें target platform, Android या iOS होता है, जबकि execution platform, Linux, macOS या Windows होता है.
|
aspects
|
sequence of Aspects;
default = []ऐसे पहलू जिन्हें इस एट्रिब्यूट से तय की गई डिपेंडेंसी या डिपेंडेंसी पर लागू किया जाना चाहिए. |
आउटपुट
Attribute attr.output(doc='', mandatory=False)
यह फ़ंक्शन, आउटपुट (लेबल) एट्रिब्यूट के लिए स्कीमा बनाता है.
इस एट्रिब्यूट में यूनीक Label वैल्यू शामिल हैं. अगर Label की जगह कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदला जाएगा. लेबल पाथ के रिलेटिव हिस्से, इंस्टैंटिएट किए गए टारगेट के पैकेज के हिसाब से तय किए जाते हैं. इनमें (शायद नाम बदली गई) रिपॉज़िटरी भी शामिल होती है.
विश्लेषण के समय, ctx.outputs का इस्तेमाल करके, इससे जुड़ा File वापस पाया जा सकता है.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
doc
|
default = '' एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
default = False अगर यह वैल्यू सही है, तो वैल्यू को साफ़ तौर पर बताना होगा. भले ही, इसमें default मौजूद हो.
|
output_list
Attribute attr.output_list(allow_empty=True, *, doc='', mandatory=False)
इस एट्रिब्यूट में यूनीक Label वैल्यू शामिल हैं. अगर Label की जगह कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदला जाएगा. लेबल पाथ के रिलेटिव हिस्से, इंस्टैंटिएट किए गए टारगेट के पैकेज के हिसाब से तय किए जाते हैं. इनमें (शायद नाम बदली गई) रिपॉज़िटरी भी शामिल होती है.
विश्लेषण के समय, ctx.outputs का इस्तेमाल करके, इससे जुड़ा File वापस पाया जा सकता है.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
allow_empty
|
default = True True if the attribute can be empty. |
doc
|
default = '' एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
default = False अगर यह वैल्यू सही है, तो वैल्यू को साफ़ तौर पर बताना होगा. भले ही, इसमें default मौजूद हो.
|
स्ट्रिंग
Attribute attr.string(default='', doc='', mandatory=False, values=[])
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
default
|
string; or NativeComputedDefault;
default = ''यह एक डिफ़ॉल्ट वैल्यू है. इसका इस्तेमाल तब किया जाता है, जब नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है. |
doc
|
default = '' एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
default = False अगर यह वैल्यू सही है, तो वैल्यू को साफ़ तौर पर बताना होगा. भले ही, इसमें default मौजूद हो.
|
values
|
sequence of strings;
default = []यह एट्रिब्यूट के लिए मान्य वैल्यू की सूची है. अगर कोई दूसरी वैल्यू दी जाती है, तो गड़बड़ी का मैसेज दिखता है. |
string_dict
Attribute attr.string_dict(allow_empty=True, *, default={}, doc='', mandatory=False)
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
allow_empty
|
default = True True if the attribute can be empty. |
default
|
default = {} यह एक डिफ़ॉल्ट वैल्यू है. इसका इस्तेमाल तब किया जाता है, जब नियम को इंस्टैंटिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है. |
doc
|
default = '' एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
default = False अगर यह वैल्यू सही है, तो वैल्यू को साफ़ तौर पर बताना होगा. भले ही, इसमें default मौजूद हो.
|
string_list
Attribute attr.string_list(mandatory=False, allow_empty=True, *, default=[], doc='')
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
mandatory
|
default = False अगर यह वैल्यू सही है, तो वैल्यू को साफ़ तौर पर बताना होगा. भले ही, इसमें default मौजूद हो.
|
allow_empty
|
default = True True if the attribute can be empty. |
default
|
sequence of strings; or NativeComputedDefault;
default = []यह एक डिफ़ॉल्ट वैल्यू है. इसका इस्तेमाल तब किया जाता है, जब नियम को इंस्टैंटिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है. |
doc
|
default = '' एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
string_list_dict
Attribute attr.string_list_dict(allow_empty=True, *, default={}, doc='', mandatory=False)
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
allow_empty
|
default = True True if the attribute can be empty. |
default
|
default = {} यह एक डिफ़ॉल्ट वैल्यू है. इसका इस्तेमाल तब किया जाता है, जब नियम को इंस्टैंटिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है. |
doc
|
default = '' एट्रिब्यूट की जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
mandatory
|
default = False अगर यह वैल्यू सही है, तो वैल्यू को साफ़ तौर पर बताना होगा. भले ही, इसमें default मौजूद हो.
|