rules_एट्रिब्यूट
संग्रह की मदद से व्यवस्थित रहें
अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
किसी नियम के उन एट्रिब्यूट के बारे में जानकारी जिन पर पहलू लागू होता है.
सदस्य
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'