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

इन फ़ंक्शन को @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 है

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

रिटर्न

dict, फ़ाइल पाथ को डाउनलोड करने की जानकारी पर मैप करता है.

get_auth

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

get_auth(ctx, URLs)

यह यूटिलिटी फ़ंक्शन, .netrc फ़ाइल से यूआरएल की सूची के लिए सही auth dict पाने के लिए होता है.

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

पैरामीटर

ctx ज़रूरी है.

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

urls ज़रूरी है.

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

रिटर्न

यह auth dict है, जिसे 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 यह विकल्प दिया जा सकता है. डिफ़ॉल्ट वैल्यू "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 ज़रूरी है.

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

रिटर्न

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

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

symlink_files(ctx)

यह फ़ंक्शन, लोकल फ़ाइलों को सिंबल के तौर पर लिंक करने के लिए इस्तेमाल किया जाता है.

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

मौजूदा फ़ाइलें ओवरराइट कर दी जाएंगी.

पैरामीटर

update_attrs

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

update_attrs(orig, keys, override)

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

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

पैरामीटर

orig ज़रूरी है.

किसी नियम को लागू करने के दौरान, साफ़ तौर पर या परोक्ष रूप से सेट किए गए एट्रिब्यूट की डिक्शनरी

keys ज़रूरी है.

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

override ज़रूरी है.

dict of attributes to override or add to 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)

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

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

पैरामीटर

ctx ज़रूरी है.

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