MODULE.bazel फ़ाइलें

समस्या की शिकायत करें

इस पेज पर MODULE.bazel फ़ाइलों में उपलब्ध ग्लोबल तरीके मौजूद हैं.

पैसे चुकाकर बने सदस्य

collection_override

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

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

पैरामीटर

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

Baz_dep

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

यह बैजल के दूसरे मॉड्यूल पर डायरेक्ट डिपेंडेंसी की जानकारी देता है.

पैरामीटर

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

git_override

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

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

पैरामीटर

पैरामीटर जानकारी
module_name ज़रूरी है
इस बदलाव को लागू करने के लिए, Bazel मॉड्यूल की डिपेंडेंसी का नाम.
remote ज़रूरी है
रिमोट डेटा स्टोर करने की जगह का यूआरएल.
commit डिफ़ॉल्ट = ''
वह कमिटी जिसे चुना जाना चाहिए.
patches Iterable of strings; डिफ़ॉल्ट = [
इस मॉड्यूल पर लागू होने वाली पैच फ़ाइलों की जानकारी देने वाले लेबल की सूची. पैच फ़ाइलों को टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होना चाहिए. इन्हें सूची के क्रम में लागू किया जाता है.
patch_cmds Iterable of strings; डिफ़ॉल्ट = [
पैच लागू होने के बाद, Linux/Macos पर लागू किए जाने वाले Bash कमांड का क्रम.
patch_strip डिफ़ॉल्ट = 0
यूनिक्स पैच के --strip आर्ग्युमेंट के समान.

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=[])

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

इसे ज़्यादा से ज़्यादा एक बार कॉल करना चाहिए. इसे सिर्फ़ तब हटाया जा सकता है, जब यह मॉड्यूल रूट मॉड्यूल हो (जैसा कि यह किसी दूसरे मॉड्यूल पर निर्भर होने की वजह से न हुआ हो).

पैरामीटर

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

एक से ज़्यादा_वर्शन_ओवरराइड

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

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

पैरामीटर

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

रजिस्टर_execution_platforms

None register_execution_platforms(*platform_labels)

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

पैरामीटर

पैरामीटर जानकारी
platform_labels sequence of strings ज़रूरी है
रजिस्टर करने के लिए प्लैटफ़ॉर्म के लेबल.

रजिस्टर_टूलचेन

None register_toolchains(*toolchain_labels)

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

पैरामीटर

पैरामीटर जानकारी
toolchain_labels sequence of strings ज़रूरी है
रजिस्टर करने के लिए, टूलचेन के लेबल.

सिंगल_वर्शन_ओवरराइड

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

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

पैरामीटर

पैरामीटर जानकारी
module_name ज़रूरी है
इस बदलाव को लागू करने के लिए, Bazel मॉड्यूल की डिपेंडेंसी का नाम.
version डिफ़ॉल्ट = ''
डिपेंडेंसी ग्राफ़ में, इस मॉड्यूल के बताए गए वर्शन को बदल देता है. दूसरे शब्दों में, इस मॉड्यूल को इस ओवरराइड वर्शन से "पिन" किया जाएगा. अगर रजिस्ट्री या पैच, सभी को ओवरराइड करना हो, तो इस एट्रिब्यूट को छोड़ा जा सकता है.
registry डिफ़ॉल्ट = ''
इस मॉड्यूल के लिए रजिस्ट्री को बदलता है. रजिस्ट्री की डिफ़ॉल्ट सूची से इस मॉड्यूल को ढूंढने के बजाय, दी गई रजिस्ट्री का इस्तेमाल किया जाना चाहिए.
patches Iterable of strings; डिफ़ॉल्ट = [
इस मॉड्यूल पर लागू होने वाली पैच फ़ाइलों की जानकारी देने वाले लेबल की सूची. पैच फ़ाइलों को टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होना चाहिए. इन्हें सूची के क्रम में लागू किया जाता है.
patch_cmds Iterable of strings; डिफ़ॉल्ट = [
पैच लागू होने के बाद, Linux/Macos पर लागू किए जाने वाले Bash कमांड का क्रम.
patch_strip डिफ़ॉल्ट = 0
यूनिक्स पैच के --strip आर्ग्युमेंट के समान.

उपयोगी एक्सटेंशन

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

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

पैरामीटर

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

यूज़_रिपो

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

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

पैरामीटर

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