MODULE.bazel फ़ाइलें

अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है किसी समस्या की शिकायत करें नाइटली · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

सदस्य

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

bazel_dep

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

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

पैरामीटर

पैरामीटर ब्यौरा
name स्ट्रिंग; ज़रूरी है
उस मॉड्यूल का नाम जिसे डायरेक्ट डिपेंडेंसी के तौर पर जोड़ना है.
version स्ट्रिंग; डिफ़ॉल्ट तौर पर ''
होता है मॉड्यूल का वह वर्शन जो सीधे डिपेंडेंसी के तौर पर जोड़ा जाना है.
max_compatibility_level int; डिफ़ॉल्ट रूप से -1
है मॉड्यूल के लिए इस्तेमाल की जा सकने वाली ज़्यादा से ज़्यादा 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; ज़रूरी है
यह बदलाव लागू करने के लिए, Baze मॉड्यूल की डिपेंडेंसी का नाम.
remote string; ज़रूरी है
रिमोट Git रिपॉज़िटरी का यूआरएल.
commit string; डिफ़ॉल्ट तौर पर, यह ''
होता है वह कमिट जिसे चेक आउट करना है.
patches strings में भी बदलाव किए जा सकते हैं; डिफ़ॉल्ट रूप से []
है इस मॉड्यूल पर लागू करने के लिए, पैच फ़ाइलों की ओर पॉइंट करने वाले लेबल की सूची. पैच फ़ाइलें, टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. ये सूची के क्रम में लागू किए जाते हैं.
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.basel फ़ाइल का इस्तेमाल नहीं किया जा सकता या हर सिमैंटिक सेगमेंट के लिए ऐक्सेस कंट्रोल को बेहतर तरीके से मैनेज किया जा सकता है.

पैरामीटर

पैरामीटर ब्यौरा
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; ज़रूरी है
यह बदलाव लागू करने के लिए, Baze मॉड्यूल की डिपेंडेंसी का नाम.
path स्ट्रिंग; ज़रूरी है
उस डायरेक्ट्री का पाथ जहां यह मॉड्यूल मौजूद है.

मॉड्यूल

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

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

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

पैरामीटर

पैरामीटर ब्यौरा
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: Basel का वर्शन X.X.X के बराबर या उससे नया होना चाहिए.इसका इस्तेमाल सिर्फ़ तब किया जाता है, जब आपके डिवाइस में ऐसी सुविधाएं हों जो सिर्फ़ X.X.X के बाद उपलब्ध हैं. -X.X.X: Baज़र का वर्शन X.X.X, इस डिवाइस के साथ काम नहीं करता है. इसका इस्तेमाल तब किया जाता है, जब X.X.X में कोई ऐसा गड़बड़ी हो जिसकी वजह से आपको ब्रेक मिल रहा हो, लेकिन बाद के वर्शन में इसे ठीक कर दिया गया हो.

multiple_version_override

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

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

पैरामीटर

पैरामीटर ब्यौरा
module_name string; ज़रूरी है
यह बदलाव लागू करने के लिए, Baज़र मॉड्यूल की डिपेंडेंसी का नाम.
versions स्ट्रिंग का Iterable; ज़रूरी है
साफ़ तौर पर उन वर्शन के बारे में बताता है जो एक साथ काम कर सकते हैं. ये वर्शन, चुनने से पहले डिपेंडेंसी ग्राफ़ में पहले से मौजूद होने चाहिए. इस मॉड्यूल की डिपेंडेंसी "अपग्रेड" की जाएगी एक ही कंपैटबिलिटी लेवल पर, अनुमति वाले सबसे पास के वर्शन से अपडेट हो सकता है. वहीं, जिन डिपेंडेंसी में किसी दूसरे वर्शन के साथ काम करने के एक ही लेवल पर अनुमति वाले वर्शन से नया वर्शन होता है, उनकी वजह से गड़बड़ी हो सकती है.
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 string; डिफ़ॉल्ट रूप से ''
है इस मॉड्यूल के लिए रजिस्ट्री को बदलता है; रजिस्ट्री की डिफ़ॉल्ट सूची से इस मॉड्यूल को ढूंढने के बजाय, दी गई रजिस्ट्री का इस्तेमाल किया जाना चाहिए.
patches स्ट्रिंग का Iterable; डिफ़ॉल्ट []
है इस मॉड्यूल के लिए लागू करने के लिए, पैच फ़ाइलों पर लेबल की सूची. पैच फ़ाइलें, टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. ये सूची के क्रम में लागू होते हैं.

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

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

MODULE.batz फ़ाइल में किए गए बदलाव प्रभावी नहीं होंगे.

patch_strip int; डिफ़ॉल्ट रूप से 0
है Unix पैच के --strip तर्क की तरह ही.

use_extension

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

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

पैरामीटर

पैरामीटर ब्यौरा
extension_bzl_file string; ज़रूरी है
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 module_extension_proxy; ज़रूरी है
use_extension कॉल से लौटाया गया मॉड्यूल एक्सटेंशन प्रॉक्सी ऑब्जेक्ट.
args ज़रूरी है
इंपोर्ट किए जाने वाले डेटा स्टोर के नाम.
kwargs ज़रूरी है
मौजूदा मॉड्यूल के स्कोप में इंपोर्ट करने के लिए, अलग-अलग नामों के साथ कुछ डेटा संग्रह स्थान तय करता है. मौजूदा स्कोप में इस्तेमाल किए जाने वाले नाम, कुंजियों के तौर पर होने चाहिए. वहीं, वैल्यू के तौर पर, मॉड्यूल एक्सटेंशन से एक्सपोर्ट किए गए ओरिजनल नाम होने चाहिए.

use_repo_rule

repo_rule_proxy use_repo_rule(repo_rule_bzl_file, repo_rule_name)

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

पैरामीटर

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