MODULE.bazel फ़ाइलों में उपलब्ध तरीके.
सदस्य
- 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, **kwargs)
http_archive
नियम के ज़रिए बैक किया जाएगा.
यह डायरेक्टिव सिर्फ़ रूट मॉड्यूल में लागू होता है. दूसरे शब्दों में, अगर किसी मॉड्यूल का इस्तेमाल दूसरों के लिए डिपेंडेंसी के तौर पर किया जाता है, तो उसके ओवरराइड को अनदेखा कर दिया जाता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
module_name
|
string;
ज़रूरी है इस बदलाव को लागू करने के लिए, Bazel मॉड्यूल की डिपेंडेंसी का नाम. |
kwargs
|
ज़रूरी बाकी सभी आर्ग्युमेंट, http_archive repo के लिए बने नियम पर भेजे जाते हैं. ध्यान दें कि name एट्रिब्यूट का इस्तेमाल नहीं किया जाना चाहिए. इसके बजाय, module_name का इस्तेमाल करें.
|
bazel_dep
None
bazel_dep(name, version='', max_compatibility_level=-1, repo_name='', dev_dependency=False)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
name
|
स्ट्रिंग;
ज़रूरी है डायरेक्ट डिपेंडेंसी के तौर पर जोड़े जाने वाले मॉड्यूल का नाम. |
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, **kwargs)
git_repository
नियम के ज़रिए बैक किया जाएगा.
यह डायरेक्टिव सिर्फ़ रूट मॉड्यूल में लागू होता है. दूसरे शब्दों में, अगर किसी मॉड्यूल का इस्तेमाल दूसरों के लिए डिपेंडेंसी के तौर पर किया जाता है, तो उसके ओवरराइड को अनदेखा कर दिया जाता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
module_name
|
string;
ज़रूरी है इस बदलाव को लागू करने के लिए, Bazel मॉड्यूल की डिपेंडेंसी का नाम. |
kwargs
|
ज़रूरी है बाकी सभी आर्ग्युमेंट, git_repository के तहत मौजूद रिपॉज़िटरी नियम पर भेजे जाते हैं. ध्यान दें कि name एट्रिब्यूट का इस्तेमाल नहीं किया जाना चाहिए. इसके बजाय, module_name का इस्तेमाल करें.
|
शामिल होते हैं
None
include(label)
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)
local_repository
नियम के ज़रिए बैक किया जाएगा.
यह डायरेक्टिव सिर्फ़ रूट मॉड्यूल में लागू होता है. दूसरे शब्दों में, अगर किसी मॉड्यूल का इस्तेमाल दूसरों के लिए डिपेंडेंसी के तौर पर किया जाता है, तो उसके ओवरराइड को अनदेखा कर दिया जाता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
module_name
|
string;
ज़रूरी है इस बदलाव को लागू करने के लिए, Bazel मॉड्यूल की डिपेंडेंसी का नाम. |
path
|
स्ट्रिंग;
ज़रूरी है उस डायरेक्ट्री का पाथ जहां यह मॉड्यूल मौजूद है. |
मॉड्यूल
None
module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])
इसे ज़्यादा से ज़्यादा एक बार ही बुलाया जाना चाहिए. अगर इसे बुलाया जाता है, तो यह MODULE.bazel फ़ाइल में सबसे पहला डायरेक्टिव होना चाहिए. इसे सिर्फ़ तब छोड़ा जा सकता है, जब यह मॉड्यूल रूट मॉड्यूल हो. जैसे, अगर यह किसी दूसरे मॉड्यूल पर निर्भर नहीं है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
name
|
string;
डिफ़ॉल्ट रूप से '' होता है मॉड्यूल का नाम. इसे सिर्फ़ तब छोड़ा जा सकता है, जब यह मॉड्यूल रूट मॉड्यूल हो. जैसे, अगर यह किसी दूसरे मॉड्यूल पर निर्भर नहीं है. मॉड्यूल के मान्य नाम में: 1) सिर्फ़ अंग्रेज़ी के छोटे अक्षर (a-z), अंक (0-9), बिंदु (.), हाइफ़न (-), और अंडरस्कोर (_) होने चाहिए; 2) नाम किसी छोटे अक्षर से शुरू होना चाहिए; 3) नाम के आखिर में कोई छोटा अक्षर या अंक होना चाहिए. |
version
|
string;
डिफ़ॉल्ट रूप से '' होता है मॉड्यूल का वर्शन. इसे सिर्फ़ तब छोड़ा जा सकता है, जब यह मॉड्यूल रूट मॉड्यूल हो. जैसे, अगर यह किसी दूसरे मॉड्यूल पर निर्भर नहीं है. वर्शन, SemVer फ़ॉर्मैट में होना चाहिए. ज़्यादा जानकारी के लिए, दस्तावेज़ देखें. |
compatibility_level
|
int;
डिफ़ॉल्ट तौर पर 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
|
string;
ज़रूरी है इस बदलाव को लागू करने के लिए, Bazel मॉड्यूल की डिपेंडेंसी का नाम. |
versions
|
स्ट्रिंग का Iterable;
ज़रूरी है साफ़ तौर पर उन वर्शन के बारे में बताता है जो एक साथ काम कर सकते हैं. ये वर्शन, डिपेंडेंसी ग्राफ़ के प्री-सिलेक्शन में पहले से मौजूद होने चाहिए. इस मॉड्यूल पर निर्भर डिपेंडेंसी को, काम करने के एक ही लेवल पर, अनुमति वाले सबसे नए वर्शन पर "अपग्रेड" कर दिया जाएगा. वहीं, अगर डिपेंडेंसी का वर्शन, काम करने के एक ही लेवल पर अनुमति वाले किसी भी वर्शन से ज़्यादा है, तो गड़बड़ी होगी. |
registry
|
स्ट्रिंग;
डिफ़ॉल्ट तौर पर '' होता है इस मॉड्यूल के लिए रजिस्ट्री को बदल देता है; रजिस्ट्री की डिफ़ॉल्ट सूची से इस मॉड्यूल को ढूंढने के बजाय, दी गई रजिस्ट्री का इस्तेमाल किया जाना चाहिए. |
override_repo
None
override_repo(extension_proxy, *args, **kwargs)
नया रिपॉज़िटरी जोड़ने के लिए, इसके बजाय 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;
ज़रूरी है इस बदलाव को लागू करने के लिए, Bazel मॉड्यूल की डिपेंडेंसी का नाम. |
version
|
स्ट्रिंग;
डिफ़ॉल्ट तौर पर '' होता है यह डिपेंडेंसी ग्राफ़ में, इस मॉड्यूल के एलान किए गए वर्शन को बदल देता है. दूसरे शब्दों में, इस मॉड्यूल को ओवरराइड किए गए वर्शन में "पिन" किया जाएगा. अगर आपको सिर्फ़ रजिस्ट्री या पैच को बदलना है, तो इस एट्रिब्यूट को छोड़ा जा सकता है. |
registry
|
स्ट्रिंग;
डिफ़ॉल्ट तौर पर '' होता है इस मॉड्यूल के लिए रजिस्ट्री को बदल देता है; रजिस्ट्री की डिफ़ॉल्ट सूची से इस मॉड्यूल को ढूंढने के बजाय, दी गई रजिस्ट्री का इस्तेमाल किया जाना चाहिए. |
patches
|
स्ट्रिंग का Iterable;
डिफ़ॉल्ट [] है इस मॉड्यूल के लिए लागू करने के लिए, पैच फ़ाइलों पर लेबल की सूची. पैच फ़ाइलें, टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. ये सूची के क्रम में लागू होते हैं. अगर किसी पैच से MODULE.bazel फ़ाइल में बदलाव होते हैं, तो ये बदलाव सिर्फ़ तब लागू होंगे, जब पैच फ़ाइल को रूट मॉड्यूल से उपलब्ध कराया गया हो. |
patch_cmds
|
स्ट्रिंग का Iterable;
डिफ़ॉल्ट तौर पर [] होता है पैच लागू होने के बाद, Linux/Macos पर लागू किए जाने वाले Bash कमांड का क्रम. 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 को सेट करें. अगर यह 'सही' पर सेट है, तो मॉड्यूल एक्सटेंशन के इस इस्तेमाल को इस और अन्य मॉड्यूल, दोनों में अन्य सभी इस्तेमाल से अलग कर दिया जाएगा. इस तरह के इस्तेमाल के लिए बनाए गए टैग का असर, अन्य इस्तेमाल पर नहीं पड़ता. साथ ही, इस तरह के इस्तेमाल के लिए एक्सटेंशन से जनरेट की गई रिपॉज़िटरी, एक्सटेंशन से जनरेट की गई अन्य सभी रिपॉज़िटरी से अलग होंगी. फ़िलहाल, यह पैरामीटर एक्सपेरिमेंट के तौर पर उपलब्ध है और सिर्फ़ फ़्लैग |
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)
name
एट्रिब्यूट का इस्तेमाल करके बताए गए नाम से दिखते हैं. प्रॉक्सी पर, इंप्लिसिट बूलियन dev_dependency
एट्रिब्यूट का इस्तेमाल भी किया जा सकता है. इससे यह पता चलता है कि किसी खास रिपॉज़िटरी को सिर्फ़ तब बनाया जाना है, जब मौजूदा मॉड्यूल रूट मॉड्यूल हो.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
repo_rule_bzl_file
|
स्ट्रिंग;
ज़रूरी है Starlark फ़ाइल का लेबल, जिसमें रिपॉज़िटरी के नियम के बारे में बताया गया हो. |
repo_rule_name
|
स्ट्रिंग;
ज़रूरी है इस्तेमाल किए जाने वाले repo नियम का नाम. इस नाम वाला सिंबल, Starlark फ़ाइल से एक्सपोर्ट किया जाना चाहिए. |