इन फ़ंक्शन को @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)
रिमोट फ़ाइलों को डाउनलोड करने के लिए यूटिलिटी फ़ंक्शन.
इस नियम का इस्तेमाल, रिपॉज़िटरी के नियम के लागू करने वाले फ़ंक्शन में किया जाता है. यह मानता है कि remote_file_urls
और remote_file_integrity
पैरामीटर, ctx.attr
में मौजूद हैं.
पैरामीटर
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 |
ज़रूरी है.
यह यूटिलिटी फ़ंक्शन को कॉल करने वाले रिपॉज़िटरी नियम का रिपॉज़िटरी कॉन्टेक्स्ट है. |
रिटर्न
डिक्शनरी, जिसमें मशीन के नाम को डिक्शनरी से मैप किया जाता है. इस डिक्शनरी में मशीन के बारे में जानकारी दी जाती है.
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 फ़ाइल लिखने के लिए यूटिलिटी फ़ंक्शन.
इस नियम का इस्तेमाल, रिपॉज़िटरी के नियम के लागू करने वाले फ़ंक्शन में किया जाता है.
यह मानता है कि ctx.attr
में name
, build_file
, और build_file_content
पैरामीटर मौजूद हैं. हालांकि, बाद के दो पैरामीटर की वैल्यू None हो सकती है.
पैरामीटर
ctx |
ज़रूरी है.
इस यूटिलिटी फ़ंक्शन को कॉल करने वाले रिपॉज़िटरी नियम का रिपॉज़िटरी कॉन्टेक्स्ट. |