MODULE.bazel फ़ाइलें

समस्या की शिकायत करें Nightly · 7.4 .

MODULE.bazel फ़ाइलों में उपलब्ध तरीके.

सदस्य

archive_override

None archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)

इससे पता चलता है कि यह डिपेंडेंसी किसी रजिस्ट्री के बजाय, किसी खास जगह की संग्रह फ़ाइल (zip, gzip वगैरह) से आनी चाहिए. यह डायरेक्टिव सिर्फ़ रूट मॉड्यूल में लागू होता है. दूसरे शब्दों में, अगर किसी मॉड्यूल का इस्तेमाल दूसरों के लिए डिपेंडेंसी के तौर पर किया जाता है, तो उसके ओवरराइड को अनदेखा कर दिया जाता है.

पैरामीटर

पैरामीटर ब्यौरा
module_name ज़रूरी है
इस बदलाव को लागू करने के लिए, Bazel मॉड्यूल की डिपेंडेंसी का नाम.
urls string या string का Iterable; ज़रूरी है
संग्रह के यूआरएल; ये http(s):// या file:// यूआरएल हो सकते हैं.
integrity डिफ़ॉल्ट रूप से ''
सब-सोर्स इंटिग्रिटी फ़ॉर्मैट में, संग्रह फ़ाइल का अनुमानित चेकसम.
strip_prefix डिफ़ॉल्ट तौर पर ''
होता है निकाली गई फ़ाइलों से हटाने के लिए डायरेक्ट्री प्रीफ़िक्स.
patches स्ट्रिंग का Iterable; डिफ़ॉल्ट []
है इस मॉड्यूल के लिए लागू करने के लिए, पैच फ़ाइलों पर लेबल की सूची. पैच फ़ाइलें, टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. ये सूची के क्रम में लागू किए जाते हैं.
patch_cmds string में बदलाव किया जा सकता है; डिफ़ॉल्ट रूप से []
है. पैच लागू होने के बाद, Linux/Macos पर बैश कमांड का क्रम लागू किया जाता है.
patch_strip डिफ़ॉल्ट 0
है यह Unix पैच के --strip आर्ग्युमेंट जैसा ही है.

bazel_dep

None bazel_dep(name, version='', max_compatibility_level=-1, repo_name='', dev_dependency=False)

यह नीति, किसी दूसरे Baze मॉड्यूल पर सीधे तौर पर डिपेंडेंसी का एलान करती है.

पैरामीटर

पैरामीटर ब्यौरा
name ज़रूरी है
डायरेक्ट डिपेंडेंसी के तौर पर जोड़े जाने वाले मॉड्यूल का नाम.
version डिफ़ॉल्ट है ''
मॉड्यूल का वर्शन, जिसे डायरेक्ट डिपेंडेंसी के तौर पर जोड़ा जाना है.
max_compatibility_level डिफ़ॉल्ट तौर पर -1
होता है डायरेक्ट डिपेंडेंसी के तौर पर जोड़े जाने वाले मॉड्यूल के लिए, ज़्यादा से ज़्यादा compatibility_level इस्तेमाल किया जा सकता है. मॉड्यूल के वर्शन से पता चलता है कि कम से कम compatibility_level क्या है. साथ ही, अगर इस एट्रिब्यूट की वैल्यू नहीं दी गई है, तो ज़्यादा से ज़्यादा compatibility_level क्या है.
repo_name डिफ़ॉल्ट तौर पर, यह ''
होता है इस डिपेंडेंसी को दिखाने वाले बाहरी रिपॉज़िटरी का नाम. डिफ़ॉल्ट रूप से यह मॉड्यूल का नाम होता है.
dev_dependency डिफ़ॉल्ट तौर पर, इसकी वैल्यू False
होती है अगर इसकी वैल्यू 'सही' है, तो मौजूदा मॉड्यूल रूट मॉड्यूल न होने या `--ignore_dev_dependency` चालू होने पर, इस डिपेंडेंसी को अनदेखा कर दिया जाएगा.

git_override

None git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0, init_submodules=False, strip_prefix='')

इससे पता चलता है कि डिपेंडेंसी, Git रिपॉज़िटरी की किसी तय सीमा से आनी चाहिए. यह डायरेक्टिव सिर्फ़ रूट मॉड्यूल में लागू होता है. दूसरे शब्दों में, अगर किसी मॉड्यूल का इस्तेमाल दूसरों के लिए डिपेंडेंसी के तौर पर किया जाता है, तो उसके ओवरराइड को अनदेखा कर दिया जाता है.

पैरामीटर

पैरामीटर ब्यौरा
module_name ज़रूरी है
इस बदलाव को लागू करने के लिए, Bazel मॉड्यूल की डिपेंडेंसी का नाम.
remote ज़रूरी है
रिमोट Git डेटा स्टोर करने की जगह का यूआरएल.
commit डिफ़ॉल्ट रूप से, ''
होता है वह कमिट जिसे चेक आउट करना है.
patches स्ट्रिंग में बदलाव किया जा सकता है. डिफ़ॉल्ट रूप से []
लेबल की ऐसी सूची होती है जो पैच फ़ाइलों के बारे में बताती है, ताकि इस मॉड्यूल को लागू किया जा सके. पैच फ़ाइलें टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. ये सूची के क्रम में लागू होते हैं.
patch_cmds स्ट्रिंग का Iterable; डिफ़ॉल्ट तौर पर []
होता है पैच लागू होने के बाद, Linux/Macos पर लागू किए जाने वाले Bash कमांड का क्रम.
patch_strip डिफ़ॉल्ट 0
है यह Unix पैच के --strip आर्ग्युमेंट जैसा ही है.
init_submodules डिफ़ॉल्ट तौर पर, यह False
होता है इससे यह तय होता है कि फ़ेच किए गए रिपॉज़िटरी में मौजूद git सब-मोड्यूल को बार-बार शुरू किया जाना चाहिए या नहीं.
strip_prefix डिफ़ॉल्ट तौर पर ''
होता है निकाली गई फ़ाइलों से हटाने के लिए डायरेक्ट्री प्रीफ़िक्स. इसका इस्तेमाल, git repo की सबडायरेक्ट्री को टारगेट करने के लिए किया जा सकता है. ध्यान दें कि सबडायरेक्ट्री में अपनी `MODULE.bazel` फ़ाइल होनी चाहिए. साथ ही, मॉड्यूल का नाम भी वही होना चाहिए जो इस `git_override` फ़ंक्शन में पास किए गए `module_name` आर्ग्युमेंट से मेल खाता हो.

शामिल होते हैं

None include(label)

इसमें MODULE.bazel जैसी किसी दूसरी फ़ाइल का कॉन्टेंट शामिल होता है. असल में, include() वैसा ही काम करता है जैसे शामिल की गई फ़ाइल को टेक्स्ट के तौर पर include() कॉल की जगह पर रखा गया हो. हालांकि, वैरिएबल बाइंडिंग (जैसे कि use_extension के लिए इस्तेमाल की गई) सिर्फ़ उस फ़ाइल में दिखती हैं जिसमें वे मौजूद होती हैं, न कि शामिल की गई या शामिल करने वाली किसी भी फ़ाइल में.

सिर्फ़ रूट मॉड्यूल में include() का इस्तेमाल किया जा सकता है. अगर bazel_dep की MODULE फ़ाइल में include() का इस्तेमाल किया जाता है, तो यह गड़बड़ी है.

सिर्फ़ मुख्य डेटा संग्रह स्थान में मौजूद फ़ाइलें शामिल की जा सकती हैं.

include() की मदद से, रूट मॉड्यूल फ़ाइल को कई हिस्सों में बांटा जा सकता है. इससे, बड़ी MODULE.bazel फ़ाइल से बचा जा सकता है या अलग-अलग सेमेंट के लिए ऐक्सेस कंट्रोल को बेहतर तरीके से मैनेज किया जा सकता है.

पैरामीटर

पैरामीटर ब्यौरा
label ज़रूरी है
शामिल की जाने वाली फ़ाइल पर ले जाने वाला लेबल. लेबल, मुख्य रिपॉज़िटरी में मौजूद किसी फ़ाइल पर ले जाना चाहिए. दूसरे शब्दों में, यह डबल स्लैश (//) से शुरू होना चाहिए.

inject_repo

None inject_repo(extension_proxy, *args, **kwargs)

दिए गए मॉड्यूल एक्सटेंशन में एक या एक से ज़्यादा नए डेटा संग्रह स्थान इंजेक्ट करता है. अगर मौजूदा मॉड्यूल रूट मॉड्यूल नहीं है या `--ignore_dev_dependency` को चालू किया गया है, तो इसे अनदेखा कर दिया जाता है.

किसी मौजूदा रिपॉज़िटरी को बदलने के लिए, override_repo का इस्तेमाल करें.

पैरामीटर

पैरामीटर ब्यौरा
extension_proxy ज़रूरी है
use_extension कॉल से लौटाया गया मॉड्यूल एक्सटेंशन प्रॉक्सी ऑब्जेक्ट.
args ज़रूरी है
मौजूदा मॉड्यूल को दिखने वाले ऐसे रिपॉज़िटरी जिन्हें एक ही नाम से एक्सटेंशन में इंजेक्ट किया जाना चाहिए.
kwargs ज़रूरी है
एक्सटेंशन में इंजेक्ट करने के लिए नया डेटा स्टोर करने की जगह. इसमें वैल्यू, मौजूदा मॉड्यूल के स्कोप में मौजूद रिपोज़ के नाम हैं. साथ ही, कुंजियां ही वह नाम हैं जो एक्सटेंशन में दिखेंगी.

local_path_override

None local_path_override(module_name, path)

इससे पता चलता है कि लोकल डिस्क पर किसी खास डायरेक्ट्री से डिपेंडेंसी होनी चाहिए. यह डायरेक्टिव सिर्फ़ रूट मॉड्यूल में लागू होता है. दूसरे शब्दों में, अगर किसी मॉड्यूल का इस्तेमाल डिपेंडेंसी के तौर पर अन्य लोग करते हैं, तो उसके खुद के ओवरराइड को अनदेखा कर दिया जाता है.

पैरामीटर

पैरामीटर ब्यौरा
module_name ज़रूरी है
इस बदलाव को लागू करने के लिए, Bazel मॉड्यूल की डिपेंडेंसी का नाम.
path ज़रूरी है
उस डायरेक्ट्री का पाथ जहां यह मॉड्यूल मौजूद है.

मॉड्यूल

None module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])

मौजूदा Bazel repo से दिखाए गए Bazel मॉड्यूल की कुछ प्रॉपर्टी के बारे में बताता है. ये प्रॉपर्टी, मॉड्यूल के ज़रूरी मेटाडेटा (जैसे, नाम और वर्शन) होती हैं या मौजूदा मॉड्यूल और उस पर निर्भर मॉड्यूल के व्यवहार पर असर डालती हैं.

इसे ज़्यादा से ज़्यादा एक बार ही बुलाया जाना चाहिए. अगर इसे बुलाया जाता है, तो यह MODULE.bazel फ़ाइल में सबसे पहला डायरेक्टिव होना चाहिए. इसे सिर्फ़ तब छोड़ा जा सकता है, जब यह मॉड्यूल रूट मॉड्यूल हो. जैसे, अगर यह किसी दूसरे मॉड्यूल पर निर्भर नहीं है.

पैरामीटर

पैरामीटर ब्यौरा
name डिफ़ॉल्ट रूप से, यह ''
होता है मॉड्यूल का नाम. इसे सिर्फ़ तब छोड़ा जा सकता है, जब यह मॉड्यूल रूट मॉड्यूल हो. जैसे, अगर यह किसी दूसरे मॉड्यूल पर निर्भर नहीं है. मॉड्यूल के मान्य नाम में: 1) सिर्फ़ अंग्रेज़ी के छोटे अक्षर (a-z), अंक (0-9), बिंदु (.), हाइफ़न (-), और अंडरस्कोर (_) होने चाहिए; 2) नाम की शुरुआत अंग्रेज़ी के छोटे अक्षर से होनी चाहिए; 3) नाम के आखिर में अंग्रेज़ी का छोटा अक्षर या अंक होना चाहिए.
version डिफ़ॉल्ट रूप से ''
होता है मॉड्यूल का वर्शन. इसे सिर्फ़ तब छोड़ा जा सकता है, जब यह मॉड्यूल रूट मॉड्यूल हो. जैसे, अगर यह किसी दूसरे मॉड्यूल पर निर्भर नहीं है. SemVer का वर्शन आसान फ़ॉर्मैट में होना चाहिए. ज़्यादा जानकारी के लिए दस्तावेज़ देखें.
compatibility_level डिफ़ॉल्ट तौर पर 0
मॉड्यूल के काम करने के लेवल की जानकारी. जब भी काम करने के तरीके में कोई बड़ा बदलाव किया जाता है, तो इसे बदल दिया जाना चाहिए. यह SemVer के हिसाब से, मॉड्यूल का "मुख्य वर्शन" होता है. हालांकि, यह वर्शन स्ट्रिंग में एम्बेड नहीं होता, बल्कि एक अलग फ़ील्ड के तौर पर मौजूद होता है. साथ काम करने के अलग-अलग लेवल वाले मॉड्यूल, वर्शन रिज़ॉल्यूशन में इस तरह से काम करते हैं जैसे कि वे अलग-अलग नामों वाले मॉड्यूल हों. हालांकि, आखिरी डिपेंडेंसी ग्राफ़ में एक ही नाम वाले कई मॉड्यूल नहीं हो सकते. हालांकि, इनके साथ काम करने के अलग-अलग लेवल नहीं हो सकते. ऐसा तब तक होता है, जब तक multiple_version_override लागू न हो. ज़्यादा जानकारी के लिए दस्तावेज़ देखें.
repo_name डिफ़ॉल्ट है ''
इस मॉड्यूल को दिखाने वाली रिपॉज़िटरी का नाम. डिफ़ॉल्ट रूप से, मॉड्यूल का नाम ही रिपॉज़िटरी का नाम होता है. यह जानकारी उन प्रोजेक्ट के लिए दी जा सकती है जो अपने लिए किसी ऐसे रिपॉज़िटरी का इस्तेमाल कर रहे हैं जो उनके मॉड्यूल के नाम से अलग है. इससे, प्रोजेक्ट को आसानी से माइग्रेट किया जा सकता है.
bazel_compatibility string में बदलाव किया जा सकता है. डिफ़ॉल्ट रूप से यह []
है. यह उन बेज़ल वर्शन की सूची है जिनकी मदद से लोग यह एलान कर सकते हैं कि इस मॉड्यूल के साथ बैज के कौनसे वर्शन काम करते हैं. इससे डिपेंडेंसी रिज़ॉल्यूशन पर कोई असर नहीं पड़ता. हालांकि, bzlmod इस जानकारी का इस्तेमाल करके यह जांच करेगा कि आपका मौजूदा Bazel वर्शन काम करता है या नहीं. इस वैल्यू का फ़ॉर्मैट, कुछ पाबंदी वाली वैल्यू की स्ट्रिंग होती है, जिसे कॉमा लगाकर अलग किया जाता है. तीन कंस्ट्रेंट काम करते हैं: <=X.X.X: Basel वर्शन X.X.X के बराबर या उससे पुराना होना चाहिए. इसका इस्तेमाल तब किया जाता है, जब किसी नए वर्शन में कोई ऐसा बदलाव होता है जो उसके साथ काम नहीं करता. >=X.X.X: Bazel का वर्शन X.X.X या उसके बाद का होना चाहिए.इसका इस्तेमाल तब किया जाता है, जब आपको कुछ ऐसी सुविधाओं का इस्तेमाल करना हो जो सिर्फ़ X.X.X के बाद से उपलब्ध हैं. -X.X.X: Bazel का वर्शन X.X.X काम नहीं करता. इसका इस्तेमाल तब किया जाता है, जब X.X.X वर्शन में कोई ऐसी गड़बड़ी होती है जिसकी वजह से आपका ऐप्लिकेशन काम नहीं करता. हालांकि, बाद के वर्शन में इस गड़बड़ी को ठीक कर दिया जाता है.

multiple_version_override

None multiple_version_override(module_name, versions, registry='')

इस नीति से पता चलता है कि किसी रजिस्ट्री से डिपेंडेंसी अब भी ली जानी चाहिए. हालांकि, इसके कई वर्शन एक साथ मौजूद होने चाहिए. ज़्यादा जानकारी के लिए, दस्तावेज़ देखें. यह डायरेक्टिव सिर्फ़ रूट मॉड्यूल में लागू होता है. दूसरे शब्दों में, अगर किसी मॉड्यूल का इस्तेमाल दूसरों के लिए डिपेंडेंसी के तौर पर किया जाता है, तो उसके ओवरराइड को अनदेखा कर दिया जाता है.

पैरामीटर

पैरामीटर ब्यौरा
module_name ज़रूरी है
इस बदलाव को लागू करने के लिए, Bazel मॉड्यूल की डिपेंडेंसी का नाम.
versions स्ट्रिंग का Iterable; ज़रूरी है
साफ़ तौर पर उन वर्शन के बारे में बताता है जो एक साथ काम कर सकते हैं. ये वर्शन, डिपेंडेंसी ग्राफ़ के प्री-सिलेक्शन में पहले से मौजूद होने चाहिए. इस मॉड्यूल पर डिपेंडेंसी को काम करने के उसी लेवल पर "अपग्रेड" कर दिया जाएगा जो सबसे नए वर्शन पर काम करता है. वहीं, एक ही लेवल पर स्वीकार किए गए वर्शन से नए वर्शन वाली डिपेंडेंसी की वजह से गड़बड़ी हो सकती है.
registry डिफ़ॉल्ट तौर पर ''
है यह इस मॉड्यूल के लिए रजिस्ट्री को बदल देता है. रजिस्ट्री की डिफ़ॉल्ट सूची से इस मॉड्यूल को ढूंढने के बजाय, दी गई रजिस्ट्री का इस्तेमाल किया जाना चाहिए.

override_repo

None override_repo(extension_proxy, *args, **kwargs)

यह मौजूदा मॉड्यूल के लिए दिखने वाले मौजूदा रिपॉज़िटरी के साथ, दिए गए मॉड्यूल एक्सटेंशन से तय किए गए एक या एक से ज़्यादा रिपॉज़िटरी को बदल देता है. अगर मौजूदा मॉड्यूल रूट मॉड्यूल नहीं है या `--ignore_dev_dependency` चालू है, तो इसे अनदेखा कर दिया जाता है.

नया रिपॉज़िटरी जोड़ने के लिए, इसके बजाय inject_repo का इस्तेमाल करें.

पैरामीटर

पैरामीटर ब्यौरा
extension_proxy ज़रूरी है
यह use_extension कॉल से मिला, मॉड्यूल एक्सटेंशन प्रॉक्सी ऑब्जेक्ट है.
args ज़रूरी है
एक्सटेंशन में मौजूद वे रिपॉज़िटरी जिन्हें मौजूदा मॉड्यूल में मौजूद, एक ही नाम के रिपॉज़िटरी से बदला जाना चाहिए.
kwargs ज़रूरी है
एक्सटेंशन से जनरेट किए गए रिपॉज़िटरी पर लागू होने वाले बदलाव. यहां वैल्यू, मौजूदा मॉड्यूल के दायरे में रिपॉज़िटरी के नाम हैं और कुंजियां, उन रिपॉज़िटरी के नाम हैं जिन्हें एक्सटेंशन में बदल दिया जाएगा.

register_execution_platforms

None register_execution_platforms(dev_dependency=False, *platform_labels)

यह मॉड्यूल चुने जाने पर, रजिस्टर किए जाने वाले पहले से तय एक्ज़ीक्यूशन प्लैटफ़ॉर्म के बारे में बताता है. ये सटीक टारगेट पैटर्न होने चाहिए. जैसे, @ या // से शुरू होने वाले पैटर्न. ज़्यादा जानकारी के लिए, टूलचेन रिज़ॉल्यूशन देखें.

पैरामीटर

पैरामीटर ब्यौरा
dev_dependency डिफ़ॉल्ट तौर पर, इसकी वैल्यू False
होती है अगर इसकी वैल्यू 'सही' है, तो मौजूदा मॉड्यूल रूट मॉड्यूल न होने या `--ignore_dev_dependency` चालू होने पर, प्रोग्राम को चलाने वाले प्लैटफ़ॉर्म रजिस्टर नहीं किए जाएंगे.
platform_labels स्ट्रिंग का क्रम; ज़रूरी है
रजिस्टर करने के लिए प्लैटफ़ॉर्म के लेबल.

register_toolchains

None register_toolchains(dev_dependency=False, *toolchain_labels)

यह मॉड्यूल चुने जाने पर, रजिस्टर किए जाने वाले पहले से तय टूलचेन के बारे में बताता है. ये सटीक टारगेट पैटर्न होने चाहिए. जैसे, @ या // से शुरू होने वाले पैटर्न. ज़्यादा जानकारी के लिए, टूलचेन रिज़ॉल्यूशन देखें.

पैरामीटर

पैरामीटर ब्यौरा
dev_dependency डिफ़ॉल्ट तौर पर, इसकी वैल्यू False
होती है अगर इसकी वैल्यू 'सही' है, तो मौजूदा मॉड्यूल रूट मॉड्यूल न होने या `--ignore_dev_dependency` चालू होने पर, टूलचेन रजिस्टर नहीं किए जाएंगे.
toolchain_labels स्ट्रिंग का क्रम; ज़रूरी है
रजिस्टर करने के लिए टूलचेन के लेबल. लेबल में :all शामिल किया जा सकता है. ऐसे में, पैकेज में टूलचेन उपलब्ध कराने वाले सभी टारगेट, नाम के हिसाब से वर्णमाला के क्रम में रजिस्टर किए जाएंगे.

single_version_override

None single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)

इससे पता चलता है कि कोई डिपेंडेंसी अब भी रजिस्ट्री से आना चाहिए. हालांकि, उसके वर्शन को पिन किया जाना चाहिए, उसकी रजिस्ट्री को बदला जाना चाहिए या लागू किए गए पैच की सूची को बदला जाना चाहिए. यह डायरेक्टिव सिर्फ़ रूट मॉड्यूल में लागू होता है. दूसरे शब्दों में, अगर किसी मॉड्यूल का इस्तेमाल डिपेंडेंसी के तौर पर अन्य लोग करते हैं, तो उसके खुद के ओवरराइड को अनदेखा कर दिया जाता है.

पैरामीटर

पैरामीटर ब्यौरा
module_name ज़रूरी है
इस बदलाव को लागू करने के लिए, Bazel मॉड्यूल की डिपेंडेंसी का नाम.
version डिफ़ॉल्ट तौर पर ''
होता है यह डिपेंडेंसी ग्राफ़ में, इस मॉड्यूल के एलान किए गए वर्शन को बदल देता है. दूसरे शब्दों में, इस मॉड्यूल को ओवरराइड किए गए वर्शन में "पिन" किया जाएगा. अगर आपको सिर्फ़ रजिस्ट्री या पैच को बदलना है, तो इस एट्रिब्यूट को छोड़ा जा सकता है.
registry डिफ़ॉल्ट है ''
इस मॉड्यूल के लिए रजिस्ट्री को बदलता है; रजिस्ट्री की डिफ़ॉल्ट सूची से इस मॉड्यूल को ढूंढने के बजाय, दी गई रजिस्ट्री का इस्तेमाल किया जाना चाहिए.
patches स्ट्रिंग में बदलाव किया जा सकता है. डिफ़ॉल्ट रूप से []
लेबल की ऐसी सूची होती है जो पैच फ़ाइलों के बारे में बताती है, ताकि इस मॉड्यूल को लागू किया जा सके. पैच फ़ाइलें, टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. ये सूची के क्रम में लागू होते हैं.

अगर कोई पैच MODULE.baकोई फ़ाइल में बदलाव करता है, तो ये बदलाव सिर्फ़ तभी लागू होंगे जब पैच फ़ाइल, रूट मॉड्यूल से मिली हो.

patch_cmds string में बदलाव किया जा सकता है; डिफ़ॉल्ट रूप से []
है. पैच लागू होने के बाद, Linux/Macos पर बैश कमांड का क्रम लागू किया जाता है.

MODULE.bazel फ़ाइल में किए गए बदलाव लागू नहीं होंगे.

patch_strip डिफ़ॉल्ट 0
है यह Unix पैच के --strip आर्ग्युमेंट जैसा ही है.

use_extension

module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False, isolate=False)

मॉड्यूल एक्सटेंशन दिखाने वाला प्रॉक्सी ऑब्जेक्ट दिखाता है. मॉड्यूल एक्सटेंशन टैग बनाने के लिए, इसके तरीकों को लागू किया जा सकता है.

पैरामीटर

पैरामीटर ब्यौरा
extension_bzl_file ज़रूरी है
मॉड्यूल एक्सटेंशन की जानकारी देने वाली Starlark फ़ाइल का लेबल.
extension_name ज़रूरी है
इस्तेमाल किए जाने वाले मॉड्यूल एक्सटेंशन का नाम. इस नाम वाला सिंबल, Starlark फ़ाइल से एक्सपोर्ट किया जाना चाहिए.
dev_dependency डिफ़ॉल्ट तौर पर, इसकी वैल्यू False
होती है अगर यह वैल्यू 'सही' पर सेट है, तो मौजूदा मॉड्यूल रूट मॉड्यूल न होने या `--ignore_dev_dependency` चालू होने पर, मॉड्यूल एक्सटेंशन के इस इस्तेमाल को अनदेखा कर दिया जाएगा.
isolate डिफ़ॉल्ट तौर पर, यह False
एक्सपेरिमेंटल होता है. इस पैरामीटर को अभी आज़माया जा रहा है और इसमें किसी भी समय बदलाव किया जा सकता है. कृपया इस पर निर्भर न रहें. इसे एक्सपेरिमेंट के तौर पर चालू किया जा सकता है. इसके लिए, ---experimental_isolated_extension_usages
को सेट करें. अगर यह 'सही' पर सेट है, तो मॉड्यूल एक्सटेंशन के इस इस्तेमाल को इस और अन्य मॉड्यूल, दोनों में अन्य सभी इस्तेमाल से अलग कर दिया जाएगा. इस तरह के इस्तेमाल के लिए बनाए गए टैग का असर, अन्य इस्तेमाल पर नहीं पड़ता. साथ ही, इस तरह के इस्तेमाल के लिए एक्सटेंशन से जनरेट की गई रिपॉज़िटरी, एक्सटेंशन से जनरेट की गई अन्य सभी रिपॉज़िटरी से अलग होंगी.

फ़िलहाल, यह पैरामीटर एक्सपेरिमेंट के तौर पर उपलब्ध है. यह सिर्फ़ फ़्लैग --experimental_isolated_extension_usages के साथ उपलब्ध है.

use_repo

None use_repo(extension_proxy, *args, **kwargs)

मौजूदा मॉड्यूल के दायरे में, दिए गए मॉड्यूल एक्सटेंशन से जनरेट किए गए एक या उससे ज़्यादा रिपॉज़िटरी इंपोर्ट करता है.

पैरामीटर

पैरामीटर ब्यौरा
extension_proxy ज़रूरी है
यह use_extension कॉल से मिला, मॉड्यूल एक्सटेंशन प्रॉक्सी ऑब्जेक्ट है.
args ज़रूरी
इंपोर्ट किए जाने वाले रिपॉज़िटरी के नाम.
kwargs ज़रूरी है
मौजूदा मॉड्यूल के दायरे में, अलग-अलग नामों से इंपोर्ट करने के लिए कुछ रिपॉज़िटरी तय करता है. कुंजियों में मौजूद नाम, मौजूदा दायरे में इस्तेमाल किए जाने वाले नाम होने चाहिए. वहीं, वैल्यू में मॉड्यूल एक्सटेंशन से एक्सपोर्ट किए गए ओरिजनल नाम होने चाहिए.

use_repo_rule

repo_rule_proxy use_repo_rule(repo_rule_bzl_file, repo_rule_name)

एक प्रॉक्सी वैल्यू दिखाता है, जिसे MODULE.bazel फ़ाइल में एक या उससे ज़्यादा बार, रिपॉज़िटरी नियम के तौर पर सीधे तौर पर लागू किया जा सकता है. इस तरह से बनाए गए रिपॉज़िटरी, सिर्फ़ मौजूदा मॉड्यूल को दिखते हैं. ये रिपॉज़िटरी, प्रॉक्सी पर name एट्रिब्यूट का इस्तेमाल करके बताए गए नाम के तहत दिखते हैं. प्रॉक्सी पर, इंप्लिसिट बूलियन dev_dependency एट्रिब्यूट का इस्तेमाल भी किया जा सकता है. इससे यह पता चलता है कि किसी खास रिपॉज़िटरी को सिर्फ़ तब बनाया जाना है, जब मौजूदा मॉड्यूल रूट मॉड्यूल हो.

पैरामीटर

पैरामीटर ब्यौरा
repo_rule_bzl_file ज़रूरी है
Starlark फ़ाइल का लेबल, जिसमें रिपॉज़िटरी के नियम के बारे में बताया गया हो.
repo_rule_name ज़रूरी है
इस्तेमाल किए जाने वाले repo नियम का नाम. इस नाम के चिह्न को Starlark फ़ाइल से एक्सपोर्ट करना ज़रूरी है.