Label के हर इंस्टेंस l के लिए, स्ट्रिंग के तौर पर दिखाया गया str(l) इस प्रॉपर्टी के साथ काम करता है कि Label(str(l)) == l. भले ही, Label() कॉल कहीं भी हो.
सदस्य
लेबल
Label Label(input)
Label ऑब्जेक्ट में बदलता है. यह उस पैकेज के संदर्भ में होता है जिसमें .bzl सोर्स फ़ाइल मौजूद होती है. अगर दी गई वैल्यू पहले से ही Label है, तो उसे बिना किसी बदलाव के लौटा दिया जाता है.मैक्रो के लिए, इससे जुड़ा एक फ़ंक्शन, native.package_relative_label(), इनपुट को उस पैकेज के संदर्भ में Label में बदलता है जिसे फ़िलहाल बनाया जा रहा है. स्ट्रिंग-टू-लेबल कन्वर्ज़न की नकल करने के लिए, उस फ़ंक्शन का इस्तेमाल करें. यह कन्वर्ज़न, लेबल-वैल्यू वाले नियम एट्रिब्यूट की मदद से अपने-आप होता है.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
input
|
स्ट्रिंग; या लेबल;
ज़रूरी है इनपुट लेबल स्ट्रिंग या लेबल ऑब्जेक्ट. अगर कोई लेबल ऑब्जेक्ट पास किया जाता है, तो उसे बिना किसी बदलाव के लौटा दिया जाता है. |
name
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
Label("@repo//pkg/foo:abc").workspace_root == "external/repo"