किसी नियम के एट्रिब्यूट की जानकारी जिस पर कोई पहलू लागू होता है.
पैसे चुकाकर बने सदस्यों के लिए
एट्रिब्यूट
struct rule_attributes.attr
एट्रिब्यूट की वैल्यू ऐक्सेस करने का निर्देश. वैल्यू को उपयोगकर्ता उपलब्ध कराता है. अगर ऐसा नहीं है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाएगा. स्ट्रक्चर के एट्रिब्यूट और उनकी वैल्यू के टाइप,
rule
फ़ंक्शन को दिए गए
attrs
डिक्शन की कुंजियों और वैल्यू के मुताबिक होते हैं.
इस्तेमाल का उदाहरण देखें.
एक्ज़ीक्यूटेबल
struct rule_attributes.executable
executable=True
के तौर पर मार्क किए गए लेबल टाइप एट्रिब्यूट में बताई गई एक्ज़ीक्यूटेबल फ़ाइलों वाला
struct
. स्ट्रक्ट फ़ील्ड, एट्रिब्यूट के नाम से मेल खाते हैं. स्ट्रक्चर में हर वैल्यू एक
File
या
None
है. अगर नियम में एक वैकल्पिक एट्रिब्यूट नहीं दिया गया है, तो उससे जुड़े स्ट्रक्चर की वैल्यू
None
होगी. अगर किसी लेबल टाइप को
executable=True
के तौर पर मार्क नहीं किया गया है, तो उससे जुड़ा कोई स्ट्रक्चर फ़ील्ड जनरेट नहीं होता है.
इस्तेमाल का उदाहरण देखें.
फ़ाइल
struct rule_attributes.file
struct
में
allow_single_file
के तौर पर मार्क किए गए
लेबल टाइप एट्रिब्यूट में दी गई फ़ाइलें शामिल होती हैं. स्ट्रक्ट फ़ील्ड, एट्रिब्यूट के नाम से मेल खाते हैं. स्ट्रक्चर की वैल्यू हमेशा
File
या
None
होती है. अगर नियम में एक वैकल्पिक एट्रिब्यूट नहीं दिया गया है, तो उससे जुड़े स्ट्रक्चर की वैल्यू
None
होगी. अगर किसी लेबल टाइप को
allow_single_file
के तौर पर मार्क नहीं किया गया है, तो उससे जुड़ा कोई स्ट्रक्चर फ़ील्ड जनरेट नहीं होता है. यह इन चीज़ों के लिए शॉर्टकट है:
list(ctx.attr.<ATTR>.files)[0]
दूसरे शब्दों में, किसी डिपेंडेंसी के
डिफ़ॉल्ट आउटपुट को ऐक्सेस करने के लिए,
file
का इस्तेमाल करें.
इस्तेमाल का उदाहरण देखें.
फ़ाइलें
struct rule_attributes.files
struct
में ऐसी फ़ाइलें होती हैं जिन्हें
लेबल या
लेबल की सूची टाइप एट्रिब्यूट में तय किया गया होता है. स्ट्रक्ट फ़ील्ड, एट्रिब्यूट के नाम से मेल खाते हैं. स्ट्रक्चर की वैल्यू,
File
के
list
हैं. यह इनके लिए शॉर्टकट है:
[f for t in ctx.attr.<ATTR> for f in t.files]
दूसरे शब्दों में, किसी डिपेंडेंसी के
डिफ़ॉल्ट आउटपुट को ऐक्सेस करने के लिए,
files
का इस्तेमाल करें.
इस्तेमाल का उदाहरण देखें.
प्रकार
string rule_attributes.kind
नियम का टाइप, जैसे कि 'cc_library'