rules_एट्रिब्यूट

किसी नियम के उन एट्रिब्यूट के बारे में जानकारी जिन पर कोई आसपेक्ट लागू होता है.

सदस्य

एट्रिब्यूट

struct rule_attributes.attr

एट्रिब्यूट की वैल्यू ऐक्सेस करने के लिए एक स्ट्रक्चर्ड डेटा. वैल्यू, उपयोगकर्ता उपलब्ध कराता है. अगर ऐसा नहीं होता है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाता है. स्ट्रक्चर्ड डेटा के एट्रिब्यूट और उनकी वैल्यू के टाइप, attrs डिक्शनरी की कुंजियों और वैल्यू से मेल खाते हैं जो rule फ़ंक्शन को दी गई हैं. इस्तेमाल का उदाहरण देखें.

एक्ज़ीक्यूटेबल

struct rule_attributes.executable

एक struct, जिसमें लेबल टाइप एट्रिब्यूट में तय की गई एक्ज़ीक्यूटेबल फ़ाइलें होती हैं. इन्हें executable=True के तौर पर मार्क किया जाता है. स्ट्रक्चर्ड डेटा के फ़ील्ड, एट्रिब्यूट के नामों से मेल खाते हैं. स्ट्रक्चर्ड डेटा में हर वैल्यू, 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 जिसमें लेबल या लेबल सूची टाइप एट्रिब्यूट में तय की गई फ़ाइलें होती हैं. स्ट्रक्चर्ड डेटा के फ़ील्ड, एट्रिब्यूट के नामों से मेल खाते हैं. स्ट्रक्चर्ड डेटा की वैल्यू, list की File होती हैं. यह इनके लिए शॉर्टकट है:
[f for t in ctx.attr.<ATTR> for f in t.files]
दूसरे शब्दों में, किसी डिपेंडेंसी के डिफ़ॉल्ट आउटपुट को ऐक्सेस करने के लिए, files का इस्तेमाल करें. इस्तेमाल का उदाहरण देखें.

टाइप

string rule_attributes.kind

किसी नियम का टाइप, जैसे कि 'cc_library'