सदस्य
लेबल
Label Label(label_string)बिल्ड टारगेट से जुड़ा लेबल बनाता है. इस नियम का इस्तेमाल तब करें, जब आप किसी नियम की लेबल विशेषताओं के लिए डिफ़ॉल्ट मान देना चाहते हैं या मैक्रो से पूरे लेबल के ज़रिए टारगेट का रेफ़रंस देते हैं. तर्क को किसी पूरे लेबल से जुड़ा होना चाहिए. लेबल के रेपो हिस्से (या इसके न होने की स्थिति) को उस रेपो के संदर्भ में समझा जाता है जहां यह लेबल() कॉल दिखता है. उदाहरण:
Label("//tools:default")
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
label_string
|
लेबल स्ट्रिंग ज़रूरी है. |
नाम
string Label.nameपैकेज में इस लेबल का नाम. उदाहरण के लिए:
Label("//pkg/foo:abc").name == "abc"
पैकेज
string Label.packageइस लेबल का पैकेज वाला हिस्सा. उदाहरण के लिए:
Label("//pkg/foo:abc").package == "pkg/foo"
संबंधित
Label Label.relative(relName)एक ऐसे लेबल का समाधान करता है जो या तो पूरा होता है (
//
से शुरू होता है) या मौजूदा पैकेज से मिलता-जुलता है. अगर यह लेबल किसी रिमोट रिपॉज़िटरी में है, तो आर्ग्युमेंट को उस रिपॉज़िटरी के संबंध में हल किया जाएगा. अगर आर्ग्युमेंट में रिपॉज़िटरी का नाम शामिल है, तो मौजूदा लेबल को अनदेखा कर दिया जाता है. साथ ही, आर्ग्युमेंट का पहले की तरह ही रिटर्न होता है. हालांकि, अगर रिपॉज़िटरी का नाम मौजूदा रिपॉज़िटरी मैपिंग में है, तो उसे फिर से लिखा जाएगा. रिज़र्व किए गए लेबल में कोई बदलाव नहीं होगा.उदाहरण के लिए:
Label("//foo/bar:baz").relative(":quux") == Label("//foo/bar:quux") Label("//foo/bar:baz").relative("//wiz:quux") == Label("//wiz:quux") Label("@repo//foo/bar:baz").relative("//wiz:quux") == Label("@repo//wiz:quux") Label("@repo//foo/bar:baz").relative("//visibility:public") == Label("//visibility:public") Label("@repo//foo/bar:baz").relative("@other//wiz:quux") == Label("@other//wiz:quux")
अगर रिपॉज़िटरी मैपिंग {'@other' : '@remapped'}
में पास की गई है, तो नीचे दी गई रीमैपिंग होगी:
Label("@repo//foo/bar:baz").relative("@other//wiz:quux") == Label("@remapped//wiz:quux")
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
relName
|
ज़रूरी ऐसा लेबल जिसे इस समस्या के हिसाब से हल किया जाएगा. |
workspace_name
string Label.workspace_nameइस लेबल का रिपॉज़िटरी वाला हिस्सा. उदाहरण के लिए,
Label("@foo//bar:baz").workspace_name == "foo"
workspace_root
string Label.workspace_rootexecroot के मुकाबले, इस लेबल के फ़ाइल फ़ोल्डर के लिए एक्ज़ीक्यूशन रूट दिखाता है. उदाहरण के लिए:
Label("@repo//pkg/foo:abc").workspace_root == "external/repo"