पैसे चुकाकर बने सदस्य
लेबल
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"
संबंधित
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
|
ज़रूरी है वह लेबल जिसे इस लेबल के हिसाब से ठीक किया जाएगा. |
फ़ाइल फ़ोल्डर का नाम
string Label.workspace_nameइस लेबल का डेटा स्टोर करने की जगह का हिस्सा. उदाहरण के लिए,
Label("@foo//bar:baz").workspace_name == "foo"
फ़ाइल फ़ोल्डर_रूट
string Label.workspace_rootexecroot के हिसाब से, इस लेबल के फ़ाइल फ़ोल्डर के लिए एक्ज़ीक्यूशन रूट दिखाता है. उदाहरण के लिए:
Label("@repo//pkg/foo:abc").workspace_root == "external/repo"