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

नीचे दिए गए फ़ंक्शन, @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 ज़रूरी है.

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

रिटर्न

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

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

symlink_files(ctx)

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

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

मौजूदा फ़ाइलों को बदल दिया जाएगा.

पैरामीटर

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)

BUILD फ़ाइल लिखने के लिए यूटिलिटी फ़ंक्शन.

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

पैरामीटर

ctx ज़रूरी है.

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