MODULE.bazel फ़ाइलें

समस्या की शिकायत करें ठीक 24/}20} 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

सदस्य

archive_override

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

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

पैरामीटर

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

bazel_dep

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

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

पैरामीटर

पैरामीटर ब्यौरा
name string; ज़रूरी
डायरेक्ट डिपेंडेंसी के तौर पर जोड़े जाने वाले मॉड्यूल का नाम.
version स्ट्रिंग; डिफ़ॉल्ट तौर पर ''
होता है मॉड्यूल का वह वर्शन जो सीधे डिपेंडेंसी के तौर पर जोड़ा जाना है.
max_compatibility_level int; डिफ़ॉल्ट तौर पर -1
होता है डायरेक्ट डिपेंडेंसी के तौर पर जोड़े जाने वाले मॉड्यूल के लिए, ज़्यादा से ज़्यादा compatibility_level इस्तेमाल किया जा सकता है. मॉड्यूल के वर्शन से पता चलता है कि कम से कम compatibility_level क्या है. साथ ही, अगर इस एट्रिब्यूट की वैल्यू नहीं दी गई है, तो ज़्यादा से ज़्यादा compatibility_level क्या है.
repo_name string; डिफ़ॉल्ट ''
है इस डिपेंडेंसी को दिखाने वाले बाहरी रिपॉज़िटरी का नाम. डिफ़ॉल्ट रूप से यह मॉड्यूल का नाम होता है.
dev_dependency bool; डिफ़ॉल्ट तौर पर 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 string; ज़रूरी है
इस बदलाव को लागू करने के लिए, Bazel मॉड्यूल की डिपेंडेंसी का नाम.
remote स्ट्रिंग; ज़रूरी है
रिमोट Git डेटा स्टोर करने की जगह का यूआरएल.
commit string; डिफ़ॉल्ट तौर पर, यह ''
होता है वह कमिट जिसे चेक आउट करना है.
patches स्ट्रिंग में बदलाव किया जा सकता है. डिफ़ॉल्ट रूप से []
लेबल की ऐसी सूची होती है जो पैच फ़ाइलों के बारे में बताती है, ताकि इस मॉड्यूल को लागू किया जा सके. पैच फ़ाइलें, टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. ये सूची के क्रम में लागू होते हैं.
patch_cmds स्ट्रिंग का Iterable; डिफ़ॉल्ट तौर पर []
होता है पैच लागू होने के बाद, Linux/Macos पर लागू किए जाने वाले Bash कमांड का क्रम.
patch_strip int; डिफ़ॉल्ट वैल्यू 0
है यह यूनिक्स पैच के --strip आर्ग्युमेंट जैसा ही है.
init_submodules bool; डिफ़ॉल्ट तौर पर, यह False
होता है क्या फ़ेच किए गए रिपॉज़िटरी में मौजूद git सब-मोड्यूल को बार-बार शुरू किया जाना चाहिए.
strip_prefix string; डिफ़ॉल्ट तौर पर ''
होता है निकाली गई फ़ाइलों से हटाने के लिए डायरेक्ट्री प्रीफ़िक्स. इसका इस्तेमाल, 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 string; ज़रूरी है
शामिल की जाने वाली फ़ाइल का लेबल. लेबल, मुख्य रिपॉज़िटरी में मौजूद किसी फ़ाइल पर ले जाना चाहिए. दूसरे शब्दों में, यह डबल स्लैश (//) से शुरू होना चाहिए.

inject_repo

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

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

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

पैरामीटर

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

local_path_override

None local_path_override(module_name, path)

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

पैरामीटर

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

मॉड्यूल

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

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

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

पैरामीटर

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

override_repo

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

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

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

पैरामीटर

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

register_execution_platforms

None register_execution_platforms(dev_dependency=False, *platform_labels)

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

पैरामीटर

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

register_toolchains

None register_toolchains(dev_dependency=False, *toolchain_labels)

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

पैरामीटर

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

single_version_override

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

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

पैरामीटर

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

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

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

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

patch_strip int; डिफ़ॉल्ट 0
है यह यूनिक्स पैच के --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 bool; डिफ़ॉल्ट तौर पर, इसकी वैल्यू False
होती है अगर इसकी वैल्यू 'सही' है, तो मौजूदा मॉड्यूल रूट मॉड्यूल न होने या `--ignore_dev_dependency` चालू होने पर, मॉड्यूल एक्सटेंशन के इस इस्तेमाल को अनदेखा कर दिया जाएगा.
isolate bool; डिफ़ॉल्ट तौर पर, इसकी वैल्यू False
होती है एक्सपेरिमेंट के तौर पर उपलब्ध. इस पैरामीटर को अभी आज़माया जा रहा है और इसमें किसी भी समय बदलाव किया जा सकता है. कृपया इस पर निर्भर न रहें. इसे --experimental_isolated_extension_usages सेट करके प्रयोग के आधार पर चालू किया जा सकता है
अगर सही है, तो मॉड्यूल एक्सटेंशन के इस इस्तेमाल को इस और दूसरे मॉड्यूल, दोनों में इस्तेमाल किए जाने वाले दूसरे सभी इस्तेमाल से अलग कर दिया जाएगा. इस तरह के इस्तेमाल के लिए बनाए गए टैग का असर, अन्य इस्तेमाल पर नहीं पड़ता. साथ ही, इस तरह के इस्तेमाल के लिए एक्सटेंशन से जनरेट की गई रिपॉज़िटरी, एक्सटेंशन से जनरेट की गई अन्य सभी रिपॉज़िटरी से अलग होंगी.

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

use_repo

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

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

पैरामीटर

पैरामीटर ब्यौरा
extension_proxy node_extension_प्रॉक्सी; ज़रूरी
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 फ़ाइल से एक्सपोर्ट किया जाना चाहिए.