1429253611973336128

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

सदस्य

लेबल

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_root

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