डेटा स्टोर करने की जगह के नियमों का इस्तेमाल करता है

नीचे दिए गए फ़ंक्शन, @bazel_tools//tools/build_defs/repo:utils.bzl से लोड किए जा सकते हैं.

फ़ेच किए जाने के बाद, बाहरी डेटाबेस में बदलाव करने के लिए यूटिलिटी.

सेटअप

इन यूटिलिटी का इस्तेमाल, डेटाबेस के अन्य नियमों के लिए किया जाता है. इन्हें इस तरह लोड किया जा सकता है.

load(
    "@bazel_tools//tools/build_defs/repo:utils.bzl",
    "workspace_and_buildfile",
    "patch",
    "update_attrs",
)

download_remote_files

load("@bazel//tools/build_defs/repo:utils.bzl", "download_remote_files")

download_remote_files(ctx, auth)

रिमोट फ़ाइलें डाउनलोड करने के लिए यूटिलिटी फ़ंक्शन.

इस नियम का इस्तेमाल, डेटाबेस के किसी नियम के लागू करने वाले फ़ंक्शन में किया जाता है. यह मानता है कि ctx.attr में, remote_file_urls और remote_file_integrity पैरामीटर मौजूद हैं.

पैरामीटर

ctx ज़रूरी है.

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

auth ज़रूरी नहीं है. डिफ़ॉल्ट वैल्यू None है

यह एक डिक्शनरी है, जिसमें कुछ यूआरएल के लिए पुष्टि करने की जानकारी दी जाती है. हालांकि, ऐसा करना ज़रूरी नहीं है.

get_auth

load("@bazel//tools/build_defs/repo:utils.bzl", "get_auth")

get_auth(ctx, urls)

.netrc फ़ाइल से, यूआरएल की सूची के लिए सही ऑथ डिक्शनरी पाने का यूटिलिटी फ़ंक्शन.

अगर netrc और auth_patterns एट्रिब्यूट उपलब्ध हैं, तो उन्हें इस्तेमाल किया जा सकता है.

पैरामीटर

ctx ज़रूरी है.

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

urls ज़रूरी है.

पढ़ने के लिए यूआरएल की सूची

लौटाए गए आइटम

ऑथ डिक्शनरी, जिसे repository_ctx.download में पास किया जा सकता है

शायद

load("@bazel//tools/build_defs/repo:utils.bzl", "maybe")

maybe(repo_rule, name, **kwargs)

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

इसका इस्तेमाल, सुरक्षित डेटाबेस.bzl मैक्रो को लागू करने के लिए किया जाता है. इसकी जानकारी, https://bazel.build/rules/deploying#dependencies पर दी गई है.

पैरामीटर

repo_rule ज़रूरी है.

डेटाबेस के नियम का फ़ंक्शन.

name ज़रूरी है.

बनाए जाने वाले डेटाबेस का नाम.

kwargs ज़रूरी नहीं है.

repo_rule फ़ंक्शन में पास किए जाने वाले बाकी आर्ग्युमेंट.

लौटाए गए आइटम

कुछ नहीं. ज़रूरत पड़ने पर, डेटाबेस को साइड इफ़ेक्ट के तौर पर तय करता है.

parse_netrc

load("@bazel//tools/build_defs/repo:utils.bzl", "parse_netrc")

parse_netrc(contents, filename)

कम से कम एक बुनियादी .netrc फ़ाइल को पार्स करने के लिए यूटिलिटी फ़ंक्शन.

पैरामीटर

contents ज़रूरी है.

पार्सर के लिए इनपुट.

filename ज़रूरी नहीं है. डिफ़ॉल्ट वैल्यू "a .netrc file" है

गड़बड़ी के मैसेज में इस्तेमाल किया जाने वाला फ़ाइल का नाम. अगर कोई गड़बड़ी होती है, तो.

लौटाए गए आइटम

डिक्शनरी, जिसमें मशीन के नामों को डिक्शनरी पर मैप किया जाता है. इस डिक्शनरी में, मशीन के बारे में दी गई जानकारी होती है

पैच

load("@bazel//tools/build_defs/repo:utils.bzl", "patch")

patch(ctx, patches, patch_cmds, patch_cmds_win, patch_tool, patch_args, auth)

पहले से एक्सट्रैक्ट किए गए डेटाबेस में पैच लागू करने की प्रोसेस.

इस नियम का इस्तेमाल, डेटाबेस के किसी नियम के लागू करने वाले फ़ंक्शन में किया जाता है. अगर patches, patch_tool, patch_args, patch_cmds और patch_cmds_win पैरामीटर तय नहीं किए जाते हैं तो इनकी वैल्यू ctx.attr से ली जाती हैं.

पैरामीटर

ctx ज़रूरी है.

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

patches ज़रूरी नहीं है. डिफ़ॉल्ट वैल्यू None है

पैच फ़ाइलें, जिन्हें लागू करना है. स्ट्रिंग, लेबल या पाथ की सूची.

patch_cmds ज़रूरी नहीं है. डिफ़ॉल्ट वैल्यू None है

पैच लागू करने के लिए, बैश कमांड. इन्हें bash -c में एक-एक करके पास किया जाता है. स्ट्रिंग की सूची

patch_cmds_win ज़रूरी नहीं है. डिफ़ॉल्ट वैल्यू None है

पैच लागू करने के लिए, Powershell कमांड. इन्हें powershell /c में एक-एक करके पास किया जाता है. स्ट्रिंग की सूची. अगर इस पैरामीटर की बूलियन वैल्यू 'गलत' है, तो patch_cmds का इस्तेमाल किया जाएगा और इस पैरामीटर को अनदेखा कर दिया जाएगा.

patch_tool ज़रूरी नहीं है. डिफ़ॉल्ट वैल्यू None है

पैच लागू करने के लिए, पैच टूल का पाथ. स्ट्रिंग.

patch_args ज़रूरी नहीं है. डिफ़ॉल्ट वैल्यू None है

पैच टूल में पास किए जाने वाले आर्ग्युमेंट. स्ट्रिंग की सूची.

auth ज़रूरी नहीं है. डिफ़ॉल्ट वैल्यू None है

यह एक डिक्शनरी है, जिसमें कुछ यूआरएल के लिए पुष्टि करने की जानकारी दी जाती है. हालांकि, ऐसा करना ज़रूरी नहीं है.

read_netrc

load("@bazel//tools/build_defs/repo:utils.bzl", "read_netrc")

read_netrc(ctx, filename)

कम से कम एक बुनियादी .netrc फ़ाइल को पार्स करने के लिए यूटिलिटी फ़ंक्शन.

पैरामीटर

ctx ज़रूरी है.

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

filename ज़रूरी है.

पढ़ने के लिए .netrc फ़ाइल का नाम

लौटाए गए आइटम

डिक्शनरी, जिसमें मशीन के नामों को डिक्शनरी पर मैप किया जाता है. इस डिक्शनरी में, मशीन के बारे में दी गई जानकारी होती है

read_user_netrc

load("@bazel//tools/build_defs/repo:utils.bzl", "read_user_netrc")

read_user_netrc(ctx)

उपयोगकर्ता की डिफ़ॉल्ट netrc फ़ाइल पढ़ें.

पैरामीटर

ctx ज़रूरी है.

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

लौटाए गए आइटम

डिक्शनरी, जिसमें मशीन के नामों को डिक्शनरी पर मैप किया जाता है. इस डिक्शनरी में, मशीन के बारे में दी गई जानकारी होती है.

update_attrs

load("@bazel//tools/build_defs/repo:utils.bzl", "update_attrs")

update_attrs(orig, keys, override)

किसी खास डेटाबेस के नियम को लागू करने के लिए, तय किए गए एट्रिब्यूट में बदलाव करने और उन्हें जोड़ने का यूटिलिटी फ़ंक्शन.

इसका इस्तेमाल, किसी नियम को फिर से लागू करने के लिए किया जाता है.

पैरामीटर

orig ज़रूरी है.

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

keys ज़रूरी है.

इस नियम के लिए तय किए गए एट्रिब्यूट का पूरा सेट

override ज़रूरी है.

डिक्शनरी, जिसमें orig में जोड़े जाने वाले या बदले जाने वाले एट्रिब्यूट की जानकारी होती है

लौटाए गए आइटम

एट्रिब्यूट की डिक्शनरी, जिसमें override से ली गई कुंजियां जोड़ी या अपडेट की गई हैं

use_netrc

load("@bazel//tools/build_defs/repo:utils.bzl", "use_netrc")

use_netrc(netrc, urls, patterns)

पार्स की गई netrc फ़ाइल और यूआरएल की सूची से, ऑथ डिक्शनरी का हिसाब लगाएं.

पैरामीटर

netrc ज़रूरी है.

एक netrc फ़ाइल, जिसे पहले से ही डिक्शनरी में पार्स किया गया है. जैसे, read_netrc से मिली फ़ाइल

urls ज़रूरी है.

यूआरएल की सूची.

patterns ज़रूरी है.

यूआरएल से ऑथराइज़ेशन पैटर्न पर मैप की गई डिक्शनरी. हालांकि, ऐसा करना ज़रूरी नहीं है

लौटाए गए आइटम

डिक्शनरी, जिसे ctx.download के लिए ऑथ आर्ग्युमेंट के तौर पर इस्तेमाल किया जा सकता है. ज़्यादा सटीक तरीके से कहें, तो डिक्शनरी में उन सभी यूआरएल को मैप किया जाएगा जिनके लिए netrc फ़ाइल में लॉगिन और पासवर्ड की जानकारी दी गई है. साथ ही, इसमें लॉगिन, पासवर्ड, और ऑथराइज़ेशन पैटर्न (अगर कोई है) की जानकारी वाली डिक्शनरी भी शामिल होगी. इसके अलावा, इसमें "type" को "basic" या "pattern" पर मैप किया जाएगा.

workspace_and_buildfile

load("@bazel//tools/build_defs/repo:utils.bzl", "workspace_and_buildfile")

workspace_and_buildfile(ctx)

WORKSPACE और अनुरोध किए जाने पर, BUILD फ़ाइल लिखने के लिए यूटिलिटी फ़ंक्शन.

इस नियम का इस्तेमाल, डेटाबेस के किसी नियम के लागू करने वाले फ़ंक्शन में किया जाता है. यह मानता है कि ctx.attr में, name, build_file, build_file_content, workspace_file, और workspace_file_content पैरामीटर मौजूद हैं. इनमें से आखिरी चार की वैल्यू, None हो सकती है.

पैरामीटर

ctx ज़रूरी है.

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