किसी नियम के एट्रिब्यूट की जानकारी, जिस पर कोई पहलू लागू होता है.
सदस्य
attr
struct rule_attributes.attrएट्रिब्यूट की वैल्यू ऐक्सेस करने के लिए स्ट्रक्चर. वैल्यू, उपयोगकर्ता से मिलती हैं. अगर वैल्यू नहीं दी जाती हैं, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाता है. स्ट्रक्चर के एट्रिब्यूट और उनकी वैल्यू के टाइप,
rule
फ़ंक्शन में दिए गए attrs
dict की कुंजियों और वैल्यू से मेल खाते हैं. इस्तेमाल का उदाहरण देखें.
एक्ज़ीक्यूटेबल
struct rule_attributes.executable
executable=True
के तौर पर मार्क की गई लेबल टाइप एट्रिब्यूट में बताई गई, एक्ज़ीक्यूटेबल फ़ाइलों वाला struct
. स्ट्रक्चर फ़ील्ड, एट्रिब्यूट के नाम से मेल खाते हैं. स्ट्रक्चर में मौजूद हर वैल्यू, File
या None
होती है. अगर नियम में किसी वैकल्पिक एट्रिब्यूट की वैल्यू नहीं दी गई है, तो उससे जुड़ी स्ट्रक्चर वैल्यू None
होगी. अगर किसी लेबल टाइप को executable=True
के तौर पर मार्क नहीं किया गया है, तो उससे जुड़ा कोई स्ट्रक्चर फ़ील्ड जनरेट नहीं होता. इस्तेमाल का उदाहरण देखें.
फ़ाइल
struct rule_attributes.file
allow_single_file
के तौर पर मार्क की गई लेबल टाइप एट्रिब्यूट में बताई गई फ़ाइलों वाला struct
. स्ट्रक्चर फ़ील्ड, एट्रिब्यूट के नाम से मेल खाते हैं. स्ट्रक्चर की वैल्यू हमेशा 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'