सदस्य
- archive_override
- bazel_dep
- git_override
- शामिल करें
- inject_repo
- local_path_override
- मॉड्यूल
- multiple_version_override
- override_repo
- register_execution_platforms
- register_toolchains
- single_version_override
- use_extension
- use_repo
- use_repo_rule
archive_override
None archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
| module_name | ज़रूरी है यह Bazel मॉड्यूल डिपेंडेंसी का नाम है, जिस पर इस ओवरराइड को लागू करना है. | 
| urls | string; या strings का इटरेबल;
                                     ज़रूरी है संग्रह के यूआरएल; ये http(s):// या file:// यूआरएल हो सकते हैं. | 
| integrity | डिफ़ॉल्ट वैल्यू ''है यह संग्रह की फ़ाइल का अनुमानित चेकसम है. यह सब-रिसोर्स इंटिग्रिटी फ़ॉर्मैट में होता है. | 
| strip_prefix | डिफ़ॉल्ट वैल्यू ''है यह डायरेक्ट्री का ऐसा प्रीफ़िक्स होता है जिसे निकाली गई फ़ाइलों से हटा दिया जाता है. | 
| patches | string का इटरेटबल;
                                     डिफ़ॉल्ट रूप से []होता है यह उन लेबल की सूची होती है जो इस मॉड्यूल के लिए लागू किए जाने वाले पैच फ़ाइलों की ओर इशारा करते हैं. पैच फ़ाइलें, टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. इन्हें सूची में दिए गए क्रम के हिसाब से लागू किया जाता है. | 
| patch_cmds | strings का इटरेबल;
                                     डिफ़ॉल्ट रूप से []होता है पैच लागू होने के बाद, Linux/Macos पर लागू की जाने वाली बैश कमांड का क्रम. | 
| patch_strip | डिफ़ॉल्ट वैल्यू 0है यह Unix patch के --strip आर्ग्युमेंट के बराबर है. | 
bazel_dep
None bazel_dep(name, version='', max_compatibility_level=-1, repo_name='', dev_dependency=False)पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
| name | ज़रूरी है यह उस मॉड्यूल का नाम है जिसे सीधे तौर पर डिपेंडेंसी के तौर पर जोड़ा जाना है. | 
| version | डिफ़ॉल्ट तौर पर ''होता है यह मॉड्यूल का वह वर्शन है जिसे सीधे तौर पर डिपेंडेंसी के तौर पर जोड़ा जाना है. | 
| max_compatibility_level | डिफ़ॉल्ट वैल्यू -1है मॉड्यूल को सीधे तौर पर डिपेंडेंसी के तौर पर जोड़ने के लिए, ज़्यादा से ज़्यादा compatibility_levelइस्तेमाल किया जा सकता है. मॉड्यूल के वर्शन से पता चलता है कि यह कम से कम किस compatibility_level के साथ काम करता है. अगर इस एट्रिब्यूट की वैल्यू नहीं दी गई है, तो इससे यह भी पता चलता है कि यह ज़्यादा से ज़्यादा किस compatibility_level के साथ काम करता है. | 
| repo_name | string या None;
                                     डिफ़ॉल्ट रूप से''होता है यह डिपेंडेंसी दिखाने वाले बाहरी रेपो का नाम है. यह मॉड्यूल का डिफ़ॉल्ट नाम है. इस डिपेंडेंसी को "nodep" डिपेंडेंसी बनाने के लिए, इसे Noneपर सेट किया जा सकता है: इस मामले में, इसbazel_depस्पेसिफ़िकेशन का पालन सिर्फ़ तब किया जाता है, जब टारगेट मॉड्यूल पहले से ही किसी अन्य तरीके से डिपेंडेंसी ग्राफ़ में मौजूद हो. | 
| 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='')पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
| module_name | ज़रूरी है यह Bazel मॉड्यूल डिपेंडेंसी का नाम है, जिस पर इस ओवरराइड को लागू करना है. | 
| remote | ज़रूरी है रिमोट Git रिपॉज़िटरी का यूआरएल. | 
| commit | डिफ़ॉल्ट वैल्यू ''वह कमिट है जिसे चेक आउट किया जाना चाहिए. | 
| patches | string का इटरेटबल;
                                     डिफ़ॉल्ट रूप से []होता है यह उन लेबल की सूची होती है जो इस मॉड्यूल के लिए लागू किए जाने वाले पैच फ़ाइलों की ओर इशारा करते हैं. पैच फ़ाइलें, टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. इन्हें सूची में दिए गए क्रम के हिसाब से लागू किया जाता है. | 
| patch_cmds | strings का इटरेबल;
                                     डिफ़ॉल्ट रूप से []होता है पैच लागू होने के बाद, Linux/Macos पर लागू की जाने वाली बैश कमांड का क्रम. | 
| patch_strip | डिफ़ॉल्ट वैल्यू 0है यह Unix patch के --strip आर्ग्युमेंट के बराबर है. | 
| init_submodules | डिफ़ॉल्ट वैल्यू Falseहै इससे यह तय होता है कि फ़ेच किए गए रेपो में मौजूद git सबमॉड्यूल को बार-बार शुरू किया जाना चाहिए या नहीं. | 
| strip_prefix | डिफ़ॉल्ट वैल्यू ''है यह डायरेक्ट्री का ऐसा प्रीफ़िक्स होता है जिसे निकाली गई फ़ाइलों से हटा दिया जाता है. इसका इस्तेमाल, git repo की किसी सबडायरेक्ट्री को टारगेट करने के लिए किया जा सकता है. ध्यान दें कि सबडायरेक्ट्री में अपनी `MODULE.bazel` फ़ाइल होनी चाहिए. साथ ही, उसका मॉड्यूल का नाम वही होना चाहिए जो `git_override` को पास किए गए `module_name` आर्ग्युमेंट का नाम है. | 
शामिल होते हैं
None include(label)include() इस तरह काम करता है जैसे शामिल की गई फ़ाइल को include() कॉल की जगह पर टेक्स्ट के तौर पर रखा गया हो. हालांकि, वैरिएबल बाइंडिंग (जैसे कि use_extension के लिए इस्तेमाल की जाने वाली बाइंडिंग) सिर्फ़ उस फ़ाइल में दिखती हैं जिसमें वे मौजूद होती हैं. वे शामिल की गई या शामिल करने वाली किसी भी फ़ाइल में नहीं दिखतीं.सिर्फ़ रूट मॉड्यूल include() का इस्तेमाल कर सकता है. अगर bazel_dep की MODULE फ़ाइल में include() का इस्तेमाल किया जाता है, तो यह गड़बड़ी है.
सिर्फ़ मुख्य रेपो में मौजूद फ़ाइलें शामिल की जा सकती हैं.
include() की मदद से, रूट मॉड्यूल फ़ाइल को कई हिस्सों में बांटा जा सकता है. इससे बड़ी MODULE.bazel फ़ाइल बनाने से बचा जा सकता है. साथ ही, अलग-अलग सिमैंटिक सेगमेंट के लिए ऐक्सेस कंट्रोल को बेहतर तरीके से मैनेज किया जा सकता है.
          
      
पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
| label | ज़रूरी है यह उस फ़ाइल का लेबल है जिसे शामिल करना है. लेबल, मुख्य रेपो में मौजूद किसी फ़ाइल की ओर ले जाना चाहिए. दूसरे शब्दों में कहें, तो यह डबल स्लैश ( //) से शुरू होना चाहिए. | 
inject_repo
None inject_repo(extension_proxy, *args, **kwargs)किसी मौजूदा रेपो को बदलने के लिए, override_repo का इस्तेमाल करें.
          
      
पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
| extension_proxy | ज़रूरी है यह मॉड्यूल एक्सटेंशन प्रॉक्सी ऑब्जेक्ट है, जिसे use_extensionकॉल से दिखाया जाता है. | 
| args | ज़रूरी है मौजूदा मॉड्यूल को दिखने वाले ऐसे रेपो जिन्हें एक ही नाम से एक्सटेंशन में इंजेक्ट किया जाना चाहिए. | 
| kwargs | ज़रूरी है एक्सटेंशन में इंजेक्ट किए जाने वाले नए रेपो. यहां वैल्यू, मौजूदा मॉड्यूल के स्कोप में मौजूद रेपो के नाम हैं. साथ ही, कुंजियां वे नाम हैं जिनके तहत ये एक्सटेंशन में दिखेंगी. मान्य आइडेंटिफ़ायर नहीं होने वाली कुंजियों को, लिटरल dict के ज़रिए तय किया जा सकता है.इसे अतिरिक्त कीवर्ड आर्ग्युमेंट के तौर पर पास किया जाता है. उदाहरण के लिए,
 | 
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=[])इसे ज़्यादा से ज़्यादा एक बार कॉल किया जाना चाहिए. अगर इसे कॉल किया जाता है, तो यह 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 | strings का इटरेबल;
                                     ज़रूरी है इससे साफ़ तौर पर यह पता चलता है कि कौनसे वर्शन एक साथ इस्तेमाल किए जा सकते हैं. ये वर्शन, डिपेंडेंसी ग्राफ़ में पहले से मौजूद होने चाहिए. इस मॉड्यूल पर निर्भरता रखने वाले मॉड्यूल को, उसी कंपैटिबिलिटी लेवल पर, अनुमति वाले सबसे नए वर्शन में "अपग्रेड" कर दिया जाएगा. वहीं, जिन मॉड्यूल का वर्शन, उसी कंपैटिबिलिटी लेवल पर अनुमति वाले किसी भी वर्शन से ज़्यादा है उनमें गड़बड़ी होगी. | 
| registry | डिफ़ॉल्ट रूप से ''होता है यह इस मॉड्यूल के लिए रजिस्ट्री को बदलता है. रजिस्ट्री की डिफ़ॉल्ट सूची से इस मॉड्यूल को ढूंढने के बजाय, दी गई रजिस्ट्री का इस्तेमाल किया जाना चाहिए. | 
override_repo
None override_repo(extension_proxy, *args, **kwargs)नई रेपो जोड़ने के लिए, inject_repo का इस्तेमाल करें.
          
      
पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
| extension_proxy | ज़रूरी है यह मॉड्यूल एक्सटेंशन प्रॉक्सी ऑब्जेक्ट है, जिसे use_extensionकॉल से दिखाया जाता है. | 
| args | ज़रूरी है एक्सटेंशन में मौजूद वे रिपो जिन्हें मौजूदा मॉड्यूल में मौजूद, उसी नाम के रिपो से बदला जाना चाहिए. | 
| kwargs | ज़रूरी है एक्सटेंशन से जनरेट किए गए रेपो पर लागू किए जाने वाले ये ओवरराइड होते हैं. इनमें वैल्यू, मौजूदा मॉड्यूल के स्कोप में मौजूद रेपो के नाम होते हैं. साथ ही, कुंजियां उन रेपो के नाम होते हैं जिन्हें एक्सटेंशन में ओवरराइड किया जाएगा. मान्य आइडेंटिफ़ायर नहीं होने वाली कुंजियों को, लिटरल dict के ज़रिए तय किया जा सकता है.इसे अतिरिक्त कीवर्ड आर्ग्युमेंट के तौर पर पास किया जाता है. उदाहरण के लिए,
 | 
register_execution_platforms
None register_execution_platforms(dev_dependency=False, *platform_labels)@ या // से शुरू होने वाले पैटर्न. ज़्यादा जानकारी के लिए, टूलचेन रिज़ॉल्यूशन देखें.
          
      पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
| dev_dependency | डिफ़ॉल्ट वैल्यू Falseहै अगर यह वैल्यू सही पर सेट है, तो एक्ज़ीक्यूशन प्लैटफ़ॉर्म रजिस्टर नहीं किए जाएंगे. ऐसा तब होगा, जब मौजूदा मॉड्यूल रूट मॉड्यूल न हो या `--ignore_dev_dependency` चालू हो. | 
| platform_labels | sequence of strings;
                                     ज़रूरी है रजिस्टर किए जाने वाले प्लैटफ़ॉर्म के लेबल. | 
register_toolchains
None register_toolchains(dev_dependency=False, *toolchain_labels)@ या // से शुरू होने वाले पैटर्न. ज़्यादा जानकारी के लिए, टूलचेन रिज़ॉल्यूशन देखें.
          
      पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
| dev_dependency | डिफ़ॉल्ट रूप से Falseहोता है अगर यह सही पर सेट है, तो टूलचेन रजिस्टर नहीं किए जाएंगे. ऐसा तब होगा, जब मौजूदा मॉड्यूल रूट मॉड्यूल न हो या `--ignore_dev_dependency` चालू हो. | 
| toolchain_labels | sequence of strings;
                                     ज़रूरी है रजिस्टर किए जाने वाले टूलचेन के लेबल. लेबल में :allशामिल हो सकता है. इस मामले में, पैकेज में टूलचेन उपलब्ध कराने वाले सभी टारगेट, नाम के हिसाब से लेक्सिकोग्राफ़िकल क्रम में रजिस्टर किए जाएंगे. | 
single_version_override
None single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
| module_name | ज़रूरी है यह Bazel मॉड्यूल डिपेंडेंसी का नाम है, जिस पर इस ओवरराइड को लागू करना है. | 
| version | डिफ़ॉल्ट तौर पर ''होता है यह डिपेंडेंसी ग्राफ़ में इस मॉड्यूल के तय किए गए वर्शन को बदलता है. दूसरे शब्दों में, यह मॉड्यूल इस ओवरराइड वर्शन पर "पिन" हो जाएगा. अगर सिर्फ़ रजिस्ट्री या पैच को बदलना है, तो इस एट्रिब्यूट को शामिल करने की ज़रूरत नहीं है. | 
| registry | डिफ़ॉल्ट रूप से ''होता है यह इस मॉड्यूल के लिए रजिस्ट्री को बदलता है. रजिस्ट्री की डिफ़ॉल्ट सूची से इस मॉड्यूल को ढूंढने के बजाय, दी गई रजिस्ट्री का इस्तेमाल किया जाना चाहिए. | 
| patches | string का इटरेटबल;
                                     डिफ़ॉल्ट रूप से []होता है यह उन लेबल की सूची होती है जो इस मॉड्यूल के लिए लागू किए जाने वाले पैच फ़ाइलों की ओर इशारा करते हैं. पैच फ़ाइलें, टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. इन्हें सूची में दिए गए क्रम के हिसाब से लागू किया जाता है. अगर किसी पैच से MODULE.bazel फ़ाइल में बदलाव होता है, तो ये बदलाव सिर्फ़ तब लागू होंगे, जब पैच फ़ाइल रूट मॉड्यूल से मिली हो. | 
| patch_cmds | strings का इटरेबल;
                                     डिफ़ॉल्ट रूप से []होता है पैच लागू होने के बाद, Linux/Macos पर लागू की जाने वाली बैश कमांड का क्रम. MODULE.bazel फ़ाइल में किए गए बदलाव लागू नहीं होंगे. | 
| 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को सेट करना होगा. अगर यह सही है, तो मॉड्यूल एक्सटेंशन का यह इस्तेमाल, इस और अन्य मॉड्यूल में, इस्तेमाल के अन्य सभी तरीकों से अलग रहेगा. इस सुविधा के लिए बनाए गए टैग, अन्य सुविधाओं पर असर नहीं डालते. साथ ही, इस सुविधा के लिए एक्सटेंशन से जनरेट की गई रिपॉज़िटरी, एक्सटेंशन से जनरेट की गई अन्य सभी रिपॉज़िटरी से अलग होगी. फ़िलहाल, यह पैरामीटर एक्सपेरिमेंट के तौर पर उपलब्ध है. साथ ही, यह सिर्फ़  | 
use_repo
None use_repo(extension_proxy, *args, **kwargs)पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
| extension_proxy | ज़रूरी है यह मॉड्यूल एक्सटेंशन प्रॉक्सी ऑब्जेक्ट है, जिसे use_extensionकॉल से दिखाया जाता है. | 
| args | ज़रूरी है इंपोर्ट किए जाने वाले रेपो के नाम. | 
| kwargs | ज़रूरी है इस विकल्प की मदद से, कुछ रिपॉज़िटरी को अलग-अलग नामों से मौजूदा मॉड्यूल के स्कोप में इंपोर्ट किया जा सकता है. कुंजियां, मौजूदा स्कोप में इस्तेमाल किया जाने वाला नाम होना चाहिए. वहीं, वैल्यू, मॉड्यूल एक्सटेंशन से एक्सपोर्ट किए गए ओरिजनल नाम होने चाहिए. मान्य आइडेंटिफ़ायर नहीं होने वाली कुंजियों को, लिटरल dict के ज़रिए तय किया जा सकता है.इसे अतिरिक्त कीवर्ड आर्ग्युमेंट के तौर पर पास किया जाता है. उदाहरण के लिए,
 | 
use_repo_rule
repo_rule_proxy use_repo_rule(repo_rule_bzl_file, repo_rule_name)
name एट्रिब्यूट का इस्तेमाल करके बताए गए नाम से दिखते हैं. बूलियन dev_dependency एट्रिब्यूट का इस्तेमाल प्रॉक्सी पर भी किया जा सकता है. इससे यह पता चलता है कि किसी खास रेपो को सिर्फ़ तब बनाया जाना चाहिए, जब मौजूदा मॉड्यूल रूट मॉड्यूल हो.
          
      पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
| repo_rule_bzl_file | ज़रूरी है यह repo नियम को तय करने वाली Starlark फ़ाइल का लेबल है. | 
| repo_rule_name | ज़रूरी है इस्तेमाल किए जाने वाले रेपो नियम का नाम. इस नाम वाले सिंबल को Starlark फ़ाइल से एक्सपोर्ट किया जाना चाहिए. |