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

इन फ़ंक्शन को @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 dict पाने के लिए किया जाता है.

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

पैरामीटर

ctx ज़रूरी है.

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

urls ज़रूरी है.

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

रिटर्न

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

शायद

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

maybe(repo_rule, name, **kwargs)

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

इसका इस्तेमाल, सुरक्षित repositories.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 यह विकल्प इस्तेमाल करना ज़रूरी नहीं है. डिफ़ॉल्ट वैल्यू 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 कमांड, 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 में बदलना या जोड़ना है

रिटर्न

डिक्शनरी में एट्रिब्यूट होते हैं. इसमें, ओवरराइड किए गए एट्रिब्यूट की कुंजियां डाली/अपडेट की जाती हैं

use_netrc

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

use_netrc(netrc, urls, patterns)

पार्स की गई netrc फ़ाइल और यूआरएल की सूची से, auth dict का हिसाब लगाता है.

पैरामीटर

netrc ज़रूरी है.

netrc फ़ाइल को पहले ही dict में पार्स किया जा चुका है. उदाहरण के लिए, 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)

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

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

पैरामीटर

ctx ज़रूरी है.

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