लेबल

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

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

लेबल

Label Label(input)

यह उस पैकेज के संदर्भ में लेबल स्ट्रिंग को Label ऑब्जेक्ट में बदलता है जहां कॉल करने वाली .bzl सोर्स फ़ाइल मौजूद होती है. अगर दी गई वैल्यू पहले से ही Label है, तो इसे बिना किसी बदलाव के लौटाया जाता है.

मैक्रो के लिए, मिलता-जुलता फ़ंक्शन native.package_relative_label(), इनपुट को फ़िलहाल बनाए जा रहे पैकेज के हिसाब से Label में बदल देता है. उस स्ट्रिंग-टू-लेबल कन्वर्ज़न की नकल करने के लिए उस फ़ंक्शन का इस्तेमाल करें जो लेबल की वैल्यू वाले नियम के एट्रिब्यूट की मदद से अपने-आप होता है.

पैरामीटर

पैरामीटर ब्यौरा
input string; or Label; ज़रूरी है
इनपुट लेबल स्ट्रिंग या लेबल ऑब्जेक्ट. अगर कोई लेबल ऑब्जेक्ट पास किया जाता है, तो वह वैसे ही दिखेगा.

नाम

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"