MODULE.bazel फ़ाइलें

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 स्ट्रिंग; या स्ट्रिंग का इटरेबल; ज़रूरी है
संग्रह के यूआरएल; ये http(s):// या file:// यूआरएल हो सकते हैं.
integrity डिफ़ॉल्ट वैल्यू ''
है यह संग्रह की गई फ़ाइल का अनुमानित चेकसम है. यह सबरिसॉर्स इंटिग्रिटी फ़ॉर्मैट में होता है.
strip_prefix डिफ़ॉल्ट वैल्यू ''
है यह एक डायरेक्ट्री प्रीफ़िक्स है, जिसे निकाली गई फ़ाइलों से हटाया जाता है.
patches strings का इटरेटबल; डिफ़ॉल्ट वैल्यू []
है यह उन लेबल की सूची होती है जो इस मॉड्यूल के लिए लागू किए जाने वाले पैच फ़ाइलों की ओर इशारा करते हैं. पैच फ़ाइलें, टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. इन्हें सूची में दिए गए क्रम के हिसाब से लागू किया जाता है.
patch_cmds स्ट्रिंग का इटरेबल; डिफ़ॉल्ट रूप से []
होता है पैच लागू होने के बाद, Linux/Macos पर लागू की जाने वाली Bash कमांड का क्रम.
patch_strip डिफ़ॉल्ट वैल्यू 0 है
यह Unix patch के --strip आर्ग्युमेंट की तरह ही है.

bazel_dep

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

यह Bazel के किसी दूसरे मॉड्यूल पर सीधी निर्भरता का एलान करता है.

पैरामीटर

पैरामीटर ब्यौरा
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 strings का इटरेटबल; डिफ़ॉल्ट वैल्यू []
है यह उन लेबल की सूची होती है जो इस मॉड्यूल के लिए लागू किए जाने वाले पैच फ़ाइलों की ओर इशारा करते हैं. पैच फ़ाइलें, टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. इन्हें सूची में दिए गए क्रम के हिसाब से लागू किया जाता है.
patch_cmds स्ट्रिंग का इटरेबल; डिफ़ॉल्ट रूप से []
होता है पैच लागू होने के बाद, Linux/Macos पर लागू की जाने वाली Bash कमांड का क्रम.
patch_strip डिफ़ॉल्ट वैल्यू 0 है
यह Unix patch के --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 ज़रूरी है
यह उस फ़ाइल का लेबल है जिसे शामिल करना है. लेबल, मुख्य रेपो में मौजूद किसी फ़ाइल की ओर ले जाना चाहिए. दूसरे शब्दों में कहें, तो यह डबल स्लैश (//) से शुरू होना चाहिए.

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 मॉड्यूल की कुछ प्रॉपर्टी के बारे में बताता है. यह मॉड्यूल, मौजूदा Bazel रेपो के ज़रिए दिखाया जाता है. ये प्रॉपर्टी, मॉड्यूल का ज़रूरी मेटाडेटा होती हैं. जैसे, नाम और वर्शन. इसके अलावा, ये मौजूदा मॉड्यूल और उस पर निर्भर रहने वाले मॉड्यूल के व्यवहार पर भी असर डालती हैं.

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

पैरामीटर

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

register_execution_platforms

None register_execution_platforms(dev_dependency=False, *platform_labels)

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

पैरामीटर

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

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 strings का इटरेटबल; डिफ़ॉल्ट वैल्यू []
है यह उन लेबल की सूची होती है जो इस मॉड्यूल के लिए लागू किए जाने वाले पैच फ़ाइलों की ओर इशारा करते हैं. पैच फ़ाइलें, टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. इन्हें सूची में दिए गए क्रम के हिसाब से लागू किया जाता है.
patch_cmds स्ट्रिंग का इटरेबल; डिफ़ॉल्ट रूप से []
होता है पैच लागू होने के बाद, Linux/Macos पर लागू की जाने वाली Bash कमांड का क्रम.
patch_strip डिफ़ॉल्ट वैल्यू 0 है
यह Unix patch के --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 ज़रूरी है
यह repo नियम को तय करने वाली Starlark फ़ाइल का लेबल है.
repo_rule_name ज़रूरी है
इस्तेमाल किए जाने वाले रेपो नियम का नाम. इस नाम वाले सिंबल को Starlark फ़ाइल से एक्सपोर्ट किया जाना चाहिए.