लेबल

टारगेट आइडेंटिफ़ायर बनाएं.

पैसे चुकाकर बने सदस्य

लेबल

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"

relative

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_root

एक्सपोर्ट के संबंध में, इस लेबल के फ़ाइल फ़ोल्डर के लिए एक्ज़ीक्यूशन रूट देता है. उदाहरण के लिए:
Label("@repo//pkg/foo:abc").workspace_root == "external/repo"