rules_एट्रिब्यूट

समस्या की शिकायत करें सोर्स देखें Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

सदस्य

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'