लेबल

समस्या की शिकायत करें सोर्स देखें

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

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

लेबल

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_root

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