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

@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 कमांड. इन्हें 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)

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

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

पैरामीटर

ctx ज़रूरी है.

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