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