ये फ़ंक्शन @bazel_tools//tools/build_defs/repo:local.bzl
से लोड किए जा सकते हैं.
लोकल फ़ाइल सिस्टम में डायरेक्ट्री को डेटा स्टोर करने की जगह के तौर पर उपलब्ध कराने के नियम.
सेटअप
किसी मॉड्यूल एक्सटेंशन में इन नियमों का इस्तेमाल करने के लिए, उन्हें अपनी .bzl फ़ाइल में लोड करें और फिर अपने एक्सटेंशन के लागू करने वाले फ़ंक्शन से इन्हें कॉल करें. उदाहरण के लिए, local_repository
का इस्तेमाल करने के लिए:
load("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository")
def _my_extension_impl(mctx):
local_repository(name = "foo", path = "foo")
my_extension = module_extension(implementation = _my_extension_impl)
इसके अलावा, आपके पास रेपो नियमों को अपनी MODULE.baकोई फ़ाइल में सेव करने का विकल्प भी है. इसके लिए, use_repo_rule
का इस्तेमाल करें:
local_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository")
local_repository(name = "foo", path = "foo")
local_repository
local_repository(name, path, repo_mapping)
एक ऐसी लोकल डायरेक्ट्री बनाता है जिसमें पहले से ही Basel की फ़ाइलें रेपो के तौर पर उपलब्ध होती हैं. इस डायरेक्ट्री में Basel BUILD फ़ाइलें और रेपो सीमा वाली फ़ाइल पहले से ही होनी चाहिए. अगर इसमें ये फ़ाइलें नहीं हैं, तो <a href="#new_local_repository"><code>new_local_repository</code></a> का इस्तेमाल करें.
विशेषताएं
name |
नाम; ज़रूरी है
डेटा स्टोर करने की इस जगह के लिए यूनीक नाम. |
path |
स्ट्रिंग; आवश्यक है
डायरेक्ट्री के लिए पाथ, जिसे रेपो के तौर पर उपलब्ध कराना है. पाथ पूरा या फ़ाइल फ़ोल्डर के रूट से मिलता-जुलता हो सकता है. |
repo_mapping |
शब्दकोश: स्ट्रिंग -> स्ट्रिंग; ज़रूरी है
लोकल रिपॉज़िटरी के नाम से लेकर ग्लोबल रिपॉज़िटरी के नाम तक का डिक्शनरी. इससे, इस रिपॉज़िटरी की डिपेंडेंसी के लिए फ़ाइल फ़ोल्डर डिपेंडेंसी रिज़ॉल्यूशन को कंट्रोल किया जा सकता है. उदाहरण के लिए, एंट्री `"@foo": "@bar"` से पता चलता है कि किसी भी समय यह रिपॉज़िटरी, `@foo` पर निर्भर करती है. जैसे, `@foo//some:target` पर डिपेंडेंसी. इसे असल में ग्लोबल एलान `@bar` (`@bar//some:target`) में डिपेंडेंसी को हल करना चाहिए. |
new_local_repository
new_local_repository(name, build_file, build_file_content, path, repo_mapping)
एक ऐसी लोकल डायरेक्ट्री बनाता है जिसमें रैपो के तौर पर उपलब्ध, बैजल फ़ाइलें नहीं होती हैं. इस डायरेक्ट्री में, Basel BUILD फ़ाइलें या रेपो सीमा वाली फ़ाइल शामिल नहीं होनी चाहिए. ये फ़ाइलें, इस रेपो नियम के तहत बनाई जाएंगी. अगर डायरेक्ट्री में पहले से बैकेल फ़ाइलें हैं, तो <a href="#local_repository"><code>local_repository</code></a> का इस्तेमाल करें.
विशेषताएं
name |
नाम; ज़रूरी है
डेटा स्टोर करने की इस जगह के लिए यूनीक नाम. |
build_file |
लेबल; ज़रूरी नहीं
इस डेटा स्टोर करने की जगह के लिए, बिल्ड फ़ाइल के तौर पर इस्तेमाल की जाने वाली फ़ाइल.
इस लेबल के ज़रिए पते वाली फ़ाइल को नाम देने की ज़रूरत नहीं है, लेकिन इसे बनाया जा सकता है. |
build_file_content |
स्ट्रिंग; वैकल्पिक
इस डेटा स्टोर करने की जगह के लिए बनाई जाने वाली बिल्ड फ़ाइल का कॉन्टेंट.
|
path |
स्ट्रिंग; आवश्यक है
डायरेक्ट्री के लिए पाथ, जिसे रेपो के तौर पर उपलब्ध कराना है. पाथ पूरा या फ़ाइल फ़ोल्डर के रूट से मिलता-जुलता हो सकता है. |
repo_mapping |
शब्दकोश: स्ट्रिंग -> स्ट्रिंग; ज़रूरी है
लोकल रिपॉज़िटरी के नाम से लेकर ग्लोबल रिपॉज़िटरी के नाम तक का डिक्शनरी. इससे, इस रिपॉज़िटरी की डिपेंडेंसी के लिए फ़ाइल फ़ोल्डर डिपेंडेंसी रिज़ॉल्यूशन को कंट्रोल किया जा सकता है. उदाहरण के लिए, एंट्री `"@foo": "@bar"` से पता चलता है कि किसी भी समय यह रिपॉज़िटरी, `@foo` पर निर्भर करती है. जैसे, `@foo//some:target` पर डिपेंडेंसी. इसे असल में ग्लोबल एलान `@bar` (`@bar//some:target`) में डिपेंडेंसी को हल करना चाहिए. |