rules_एट्रिब्यूट

समस्या की शिकायत करें सोर्स देखें Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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

सदस्य

attr

struct rule_attributes.attr

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

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

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

तरह

string rule_attributes.kind

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