डेटा स्टोर करने की स्थानीय जगह के नियम

अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है किसी समस्या की शिकायत करें सोर्स देखें रात · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

यहां दिए गए फ़ंक्शन यहां से लोड किए जा सकते हैं @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 और build_file_content में से किसी एक के बारे में बताना ज़रूरी है.

इस लेबल के ज़रिए पते वाली फ़ाइल को नाम देने की ज़रूरत नहीं है, लेकिन इसे बनाया जा सकता है. BUILD.new-repo-name जैसी कोई चीज़, इसे असल बिल्ड फ़ाइलों से अलग करके खोज सकती है.

build_file_content String; ज़रूरी नहीं

इस डेटा स्टोर करने की जगह के लिए बनाई जाने वाली बिल्ड फ़ाइल का कॉन्टेंट.

build_file और build_file_content में से किसी एक के बारे में बताना ज़रूरी है.

path String; आवश्यक

डायरेक्ट्री के लिए पाथ, जिसे रेपो के तौर पर उपलब्ध कराना है.

पाथ पूरा या फ़ाइल फ़ोल्डर के रूट से मिलता-जुलता हो सकता है.

repo_mapping शब्दकोश: स्ट्रिंग -> String; आवश्यक

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

उदाहरण के लिए, एंट्री `"@foo": "@bar"` से पता चलता है कि किसी भी समय यह रिपॉज़िटरी, `@foo` पर निर्भर करती है. जैसे, `@foo//some:target` पर डिपेंडेंसी. इसे असल में ग्लोबल एलान `@bar` (`@bar//some:target`) में डिपेंडेंसी को हल करना चाहिए.