यहां दिए गए फ़ंक्शन यहां से लोड किए जा सकते हैं
@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 |
String; आवश्यक
डायरेक्ट्री के लिए पाथ, जिसे रेपो के तौर पर उपलब्ध कराना है. पाथ पूरा या फ़ाइल फ़ोल्डर के रूट से मिलता-जुलता हो सकता है. |
repo_mapping |
शब्दकोश: स्ट्रिंग -> String; आवश्यक
लोकल रिपॉज़िटरी के नाम से लेकर ग्लोबल रिपॉज़िटरी के नाम तक का डिक्शनरी. इससे, इस रिपॉज़िटरी की डिपेंडेंसी के लिए फ़ाइल फ़ोल्डर डिपेंडेंसी रिज़ॉल्यूशन को कंट्रोल किया जा सकता है. उदाहरण के लिए, एंट्री `"@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 फ़ाइलें या रेपो सीमा वाली फ़ाइल शामिल नहीं होनी चाहिए; रेपो नियम के तहत जनरेट किए जाएंगे. अगर डायरेक्ट्री में पहले से Basel फ़ाइलें हैं, तो <a href="#local_repository"><code>local_repository</code></a> का इस्तेमाल करें आज़माएं.
विशेषताएं
name |
नाम; आवश्यक
डेटा स्टोर करने की इस जगह के लिए यूनीक नाम. |
build_file |
लेबल; ज़रूरी नहीं
इस डेटा स्टोर करने की जगह के लिए, बिल्ड फ़ाइल के तौर पर इस्तेमाल की जाने वाली फ़ाइल.
इस लेबल के ज़रिए पते वाली फ़ाइल को नाम देने की ज़रूरत नहीं है, लेकिन इसे बनाया जा सकता है. |
build_file_content |
String; ज़रूरी नहीं
इस डेटा स्टोर करने की जगह के लिए बनाई जाने वाली बिल्ड फ़ाइल का कॉन्टेंट.
|
path |
String; आवश्यक
डायरेक्ट्री के लिए पाथ, जिसे रेपो के तौर पर उपलब्ध कराना है. पाथ पूरा या फ़ाइल फ़ोल्डर के रूट से मिलता-जुलता हो सकता है. |
repo_mapping |
शब्दकोश: स्ट्रिंग -> String; आवश्यक
लोकल रिपॉज़िटरी के नाम से लेकर ग्लोबल रिपॉज़िटरी के नाम तक का डिक्शनरी. इससे, इस रिपॉज़िटरी की डिपेंडेंसी के लिए फ़ाइल फ़ोल्डर डिपेंडेंसी रिज़ॉल्यूशन को कंट्रोल किया जा सकता है. उदाहरण के लिए, एंट्री `"@foo": "@bar"` से पता चलता है कि किसी भी समय यह रिपॉज़िटरी, `@foo` पर निर्भर करती है. जैसे, `@foo//some:target` पर डिपेंडेंसी. इसे असल में ग्लोबल एलान `@bar` (`@bar//some:target`) में डिपेंडेंसी को हल करना चाहिए. |