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