MODULE.bazel फ़ाइलों में उपलब्ध तरीके.
सदस्य
- archive_override
- bazel_dep
- git_override
- local_path_override
- मॉड्यूल
- multiple_version_override
- 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)
इससे पता चलता है कि यह डिपेंडेंसी, रजिस्ट्री के बजाय किसी खास जगह पर मौजूद संग्रहित फ़ाइल (zip, gzip वगैरह) से आनी चाहिए. यह डायरेक्टिव सिर्फ़ रूट मॉड्यूल में लागू होता है. दूसरे शब्दों में, अगर किसी मॉड्यूल का इस्तेमाल दूसरों के लिए डिपेंडेंसी के तौर पर किया जाता है, तो उसके ओवरराइड को अनदेखा कर दिया जाता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
module_name
|
ज़रूरी है इस बदलाव को लागू करने के लिए, Bazel मॉड्यूल की डिपेंडेंसी का नाम. |
urls
|
string या string का Iterable;
ज़रूरी है संग्रह के यूआरएल; ये http(s):// या file:// यूआरएल हो सकते हैं. |
integrity
|
डिफ़ॉल्ट रूप से '' होता है सब-सोर्स इंटिग्रिटी फ़ॉर्मैट में, संग्रह फ़ाइल का अनुमानित चेकसम. |
strip_prefix
|
डिफ़ॉल्ट तौर पर '' होता है निकाली गई फ़ाइलों से हटाने के लिए डायरेक्ट्री प्रीफ़िक्स. |
patches
|
स्ट्रिंग का Iterable;
डिफ़ॉल्ट [] है इस मॉड्यूल के लिए लागू करने के लिए, पैच फ़ाइलों पर लेबल की सूची. पैच फ़ाइलें, टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. ये सूची के क्रम में लागू होते हैं. |
patch_cmds
|
स्ट्रिंग का Iterable;
डिफ़ॉल्ट [] है पैच लागू होने के बाद, Linux/Macos पर लागू किए जाने वाले Bash कमांड का क्रम. |
patch_strip
|
डिफ़ॉल्ट 0 है यह Unix पैच के --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)
इससे पता चलता है कि किसी डिपेंडेंसी को Git डेटा स्टोर करने की जगह के किसी खास कमिट से लाना चाहिए. यह डायरेक्टिव सिर्फ़ रूट मॉड्यूल में लागू होता है. दूसरे शब्दों में, अगर किसी मॉड्यूल का इस्तेमाल दूसरों के लिए डिपेंडेंसी के तौर पर किया जाता है, तो उसके ओवरराइड को अनदेखा कर दिया जाता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
module_name
|
ज़रूरी है इस बदलाव को लागू करने के लिए, Bazel मॉड्यूल की डिपेंडेंसी का नाम. |
remote
|
ज़रूरी है रिमोट Git डेटा स्टोर करने की जगह का यूआरएल. |
commit
|
डिफ़ॉल्ट रूप से, '' होता है वह कमिट जिसे चेक आउट करना है. |
patches
|
स्ट्रिंग का Iterable;
डिफ़ॉल्ट [] है इस मॉड्यूल के लिए लागू करने के लिए, पैच फ़ाइलों पर लेबल की सूची. पैच फ़ाइलें, टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. ये सूची के क्रम में लागू होते हैं. |
patch_cmds
|
स्ट्रिंग का Iterable;
डिफ़ॉल्ट [] है पैच लागू होने के बाद, Linux/Macos पर लागू किए जाने वाले Bash कमांड का क्रम. |
patch_strip
|
डिफ़ॉल्ट 0 है यह Unix पैच के --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=[])
मौजूदा Bazel repo से दिखाए गए Bazel मॉड्यूल की कुछ प्रॉपर्टी के बारे में बताता है. ये प्रॉपर्टी, मॉड्यूल के ज़रूरी मेटाडेटा (जैसे, नाम और वर्शन) होती हैं या मौजूदा मॉड्यूल और उस पर निर्भर मॉड्यूल के व्यवहार पर असर डालती हैं. इसे ज़्यादा से ज़्यादा एक बार कॉल किया जाना चाहिए. इसे सिर्फ़ तब छोड़ा जा सकता है, जब यह मॉड्यूल रूट मॉड्यूल हो. जैसे, अगर यह किसी दूसरे मॉड्यूल पर निर्भर नहीं है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
name
|
डिफ़ॉल्ट रूप से, यह '' होता है मॉड्यूल का नाम. इसे सिर्फ़ तब छोड़ा जा सकता है, जब यह मॉड्यूल रूट मॉड्यूल हो. जैसे, अगर यह किसी दूसरे मॉड्यूल पर निर्भर नहीं है. मॉड्यूल के मान्य नाम में: 1) सिर्फ़ अंग्रेज़ी के छोटे अक्षर (a-z), अंक (0-9), बिंदु (.), हाइफ़न (-), और अंडरस्कोर (_) होने चाहिए; 2) नाम की शुरुआत अंग्रेज़ी के छोटे अक्षर से होनी चाहिए; 3) नाम के आखिर में अंग्रेज़ी का छोटा अक्षर या अंक होना चाहिए. |
version
|
डिफ़ॉल्ट रूप से '' होता है मॉड्यूल का वर्शन. इसे सिर्फ़ तब छोड़ा जा सकता है, जब यह मॉड्यूल रूट मॉड्यूल हो. जैसे, अगर यह किसी दूसरे मॉड्यूल पर निर्भर नहीं है. वर्शन, SemVer फ़ॉर्मैट में होना चाहिए. ज़्यादा जानकारी के लिए, दस्तावेज़ देखें. |
compatibility_level
|
डिफ़ॉल्ट तौर पर 0 मॉड्यूल के काम करने के लेवल की जानकारी. जब भी काम करने के तरीके में कोई बड़ा बदलाव किया जाता है, तो इसे बदल दिया जाना चाहिए. यह SemVer के हिसाब से, मॉड्यूल का "मुख्य वर्शन" होता है. हालांकि, यह वर्शन स्ट्रिंग में एम्बेड नहीं होता, बल्कि एक अलग फ़ील्ड के तौर पर मौजूद होता है. अलग-अलग वर्शन के साथ काम करने वाले मॉड्यूल, वर्शन रिज़ॉल्यूशन में ऐसे शामिल होते हैं जैसे कि वे अलग-अलग नाम वाले मॉड्यूल हों. हालांकि, आखिरी डिपेंडेंसी ग्राफ़ में एक ही नाम वाले, लेकिन अलग-अलग वर्शन के साथ काम करने वाले कई मॉड्यूल शामिल नहीं किए जा सकते. ऐसा तब तक नहीं किया जा सकता, जब तक multiple_version_override लागू न हो. ज़्यादा जानकारी के लिए, दस्तावेज़ देखें.
|
repo_name
|
डिफ़ॉल्ट रूप से '' होता है इस मॉड्यूल को दिखाने वाले रिपॉज़िटरी का नाम, जैसा कि मॉड्यूल में दिखता है. डिफ़ॉल्ट रूप से, मॉड्यूल का नाम ही रिपॉज़िटरी का नाम होता है. यह जानकारी उन प्रोजेक्ट के लिए दी जा सकती है जो अपने लिए किसी ऐसे रिपॉज़िटरी का इस्तेमाल कर रहे हैं जो उनके मॉड्यूल के नाम से अलग है. इससे, प्रोजेक्ट को आसानी से माइग्रेट किया जा सकता है. |
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
|
ज़रूरी है इस बदलाव को लागू करने के लिए, Bazel मॉड्यूल की डिपेंडेंसी का नाम. |
versions
|
स्ट्रिंग का Iterable;
ज़रूरी है साफ़ तौर पर उन वर्शन के बारे में बताता है जो एक साथ काम कर सकते हैं. ये वर्शन, डिपेंडेंसी ग्राफ़ के प्री-सिलेक्शन में पहले से मौजूद होने चाहिए. इस मॉड्यूल पर निर्भर डिपेंडेंसी को, काम करने के एक ही लेवल पर, अनुमति वाले सबसे नए वर्शन पर "अपग्रेड" कर दिया जाएगा. वहीं, काम करने के एक ही लेवल पर, अनुमति वाले वर्शन से ज़्यादा वर्शन वाली डिपेंडेंसी की वजह से गड़बड़ी होगी. |
registry
|
डिफ़ॉल्ट तौर पर '' है यह इस मॉड्यूल के लिए रजिस्ट्री को बदल देता है. रजिस्ट्री की डिफ़ॉल्ट सूची से इस मॉड्यूल को ढूंढने के बजाय, दी गई रजिस्ट्री का इस्तेमाल किया जाना चाहिए. |
register_execution_platforms
None
register_execution_platforms(dev_dependency=False, *platform_labels)
इस मॉड्यूल को चुनने पर, पहले से तय किए गए ऐसे प्लैटफ़ॉर्म के बारे में बताता है जिन्हें रजिस्टर करना है. ये सटीक टारगेट पैटर्न होने चाहिए. जैसे, @
या //
से शुरू होने वाले पैटर्न. ज़्यादा जानकारी के लिए, टूलचेन रिज़ॉल्यूशन देखें.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
dev_dependency
|
डिफ़ॉल्ट तौर पर, इसकी वैल्यू False होती है अगर इसकी वैल्यू 'सही' है, तो मौजूदा मॉड्यूल रूट मॉड्यूल न होने या `--ignore_dev_dependency` चालू होने पर, प्रोग्राम को चलाने वाले प्लैटफ़ॉर्म रजिस्टर नहीं किए जाएंगे. |
platform_labels
|
स्ट्रिंग का क्रम;
ज़रूरी है रजिस्टर करने के लिए प्लैटफ़ॉर्म के लेबल. |
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
|
स्ट्रिंग का Iterable;
डिफ़ॉल्ट [] है इस मॉड्यूल के लिए लागू करने के लिए, पैच फ़ाइलों पर लेबल की सूची. पैच फ़ाइलें, टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. ये सूची के क्रम में लागू होते हैं. |
patch_cmds
|
स्ट्रिंग का Iterable;
डिफ़ॉल्ट [] है पैच लागू होने के बाद, Linux/Macos पर लागू किए जाने वाले Bash कमांड का क्रम. |
patch_strip
|
डिफ़ॉल्ट 0 है यह Unix पैच के --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
|
ज़रूरी है मौजूदा मॉड्यूल के दायरे में, अलग-अलग नामों से इंपोर्ट करने के लिए कुछ रिपॉज़िटरी तय करता है. कुंजियों में मौजूद नाम, मौजूदा दायरे में इस्तेमाल किए जाने वाले नाम होने चाहिए. वहीं, वैल्यू में मॉड्यूल एक्सटेंशन से एक्सपोर्ट किए गए ओरिजनल नाम होने चाहिए. |
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 फ़ाइल से एक्सपोर्ट किया जाना चाहिए. |