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

@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 फ़ाइल से, यूआरएल की सूची के लिए सही auth डिक्शनरी पाने का यूटिलिटी फ़ंक्शन.

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

पैरामीटर

ctx ज़रूरी है.

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

urls ज़रूरी है.

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

रिटर्न

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

शायद

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

maybe(repo_rule, name, kwargs)

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

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

पैरामीटर

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 ज़रूरी नहीं. डिफ़ॉल्ट वैल्यू None है

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

रिटर्न

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

पैच

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 /c में एक-एक करके पास की जाने वाली Powershell कमांड. स्ट्रिंग की सूची. अगर इस पैरामीटर की बूलियन वैल्यू 'गलत' है, तो 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 फ़ाइल और यूआरएल की सूची से, auth डिक्शनरी का हिसाब लगाएं.

पैरामीटर

netrc ज़रूरी है.

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

urls ज़रूरी है.

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

patterns ज़रूरी है.

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

रिटर्न

डिक्शनरी, जो ctx.download के लिए auth आर्ग्युमेंट के तौर पर इस्तेमाल की जा सकती है. ज़्यादा सटीक तरीके से कहें, तो डिक्शनरी उन सभी यूआरएल को मैप करेगी जिनके लिए 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 ज़रूरी है.

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