इन फ़ंक्शन को @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
download_remote_files(ctx, auth)
रिमोट फ़ाइलों को डाउनलोड करने के लिए यूटिलिटी फ़ंक्शन.
इस नियम का इस्तेमाल, रिपॉज़िटरी के नियम के लागू करने वाले फ़ंक्शन में किया जाता है. यह ctx.attr में remote_file_urls और remote_file_integrity पैरामीटर मौजूद होने की बात मानकर चलता है.
पैरामीटर
ctx |
ज़रूरी है.
इस यूटिलिटी फ़ंक्शन को कॉल करने वाले रिपॉज़िटरी नियम का रिपॉज़िटरी कॉन्टेक्स्ट. |
auth |
यह विकल्प इस्तेमाल करना ज़रूरी नहीं है.
डिफ़ॉल्ट वैल्यू None है
यह एक वैकल्पिक डिक्शनरी है. इसमें कुछ यूआरएल के लिए पुष्टि करने की जानकारी दी जाती है. |
get_auth
get_auth(ctx, urls)
यह एक यूटिलिटी फ़ंक्शन है. इसका इस्तेमाल .netrc फ़ाइल से यूआरएल की सूची के लिए, सही auth dict पाने के लिए किया जाता है.
अगर netrc और auth_patterns एट्रिब्यूट उपलब्ध हैं, तो उनका इस्तेमाल करें.
पैरामीटर
ctx |
ज़रूरी है.
इस यूटिलिटी फ़ंक्शन को कॉल करने वाले रिपॉज़िटरी नियम का रिपॉज़िटरी कॉन्टेक्स्ट. |
urls |
ज़रूरी है.
पढ़ने के लिए यूआरएल की सूची |
रिटर्न
ऑथराइज़ेशन डिक्शनरी, जिसे repository_ctx.download में पास किया जा सकता है
शायद
maybe(repo_rule, name, kwargs)
यह यूटिलिटी फ़ंक्शन, सिर्फ़ तब रिपॉज़िटरी जोड़ता है, जब वह पहले से मौजूद न हो.
इसका इस्तेमाल, सुरक्षित repositories.bzl मैक्रो को लागू करने के लिए किया जाता है. इसके बारे में https://bazel.build/rules/deploying#dependencies पर बताया गया है.
पैरामीटर
repo_rule |
ज़रूरी है.
डेटाबेस के नियम से जुड़ा फ़ंक्शन. |
name |
ज़रूरी है.
बनाए जाने वाले डेटाबेस का नाम. |
kwargs |
ज़रूरी नहीं है.
repo_rule फ़ंक्शन को पास किए गए बाकी आर्ग्युमेंट. |
रिटर्न
कुछ नहीं. यह ज़रूरत पड़ने पर, रिपॉज़िटरी को साइड इफ़ेक्ट के तौर पर तय करता है.
parse_netrc
parse_netrc(contents, filename)
यह एक यूटिलिटी फ़ंक्शन है. इसका इस्तेमाल कम से कम एक बुनियादी .netrc फ़ाइल को पार्स करने के लिए किया जाता है.
पैरामीटर
contents |
ज़रूरी है.
पार्सर के लिए इनपुट. |
filename |
यह विकल्प इस्तेमाल करना ज़रूरी नहीं है.
डिफ़ॉल्ट वैल्यू None है
गड़बड़ी के मैसेज में इस्तेमाल किया जाने वाला फ़ाइल का नाम. |
रिटर्न
डिक्शनरी, जिसमें मशीन के नाम को डिक्शनरी से मैप किया जाता है. इस डिक्शनरी में मशीन के बारे में जानकारी होती है
पैच
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
read_netrc(ctx, filename)
यह एक यूटिलिटी फ़ंक्शन है. इसका इस्तेमाल कम से कम एक बुनियादी .netrc फ़ाइल को पार्स करने के लिए किया जाता है.
पैरामीटर
ctx |
ज़रूरी है.
इस यूटिलिटी फ़ंक्शन को कॉल करने वाले रिपॉज़िटरी नियम का रिपॉज़िटरी कॉन्टेक्स्ट. |
filename |
ज़रूरी है.
पढ़ने के लिए .netrc फ़ाइल का नाम |
रिटर्न
डिक्शनरी, जिसमें मशीन के नाम को डिक्शनरी से मैप किया जाता है. इस डिक्शनरी में मशीन के बारे में जानकारी होती है
read_user_netrc
read_user_netrc(ctx)
उपयोगकर्ता की डिफ़ॉल्ट netrc फ़ाइल को पढ़ता है.
पैरामीटर
ctx |
ज़रूरी है.
इस यूटिलिटी फ़ंक्शन को कॉल करने वाले रिपॉज़िटरी नियम का रिपॉज़िटरी कॉन्टेक्स्ट. |
रिटर्न
डिक्शनरी, जिसमें मशीन के नाम को डिक्शनरी से मैप किया जाता है. इस डिक्शनरी में मशीन के बारे में जानकारी दी जाती है.
update_attrs
update_attrs(orig, keys, override)
यह एक यूटिलिटी फ़ंक्शन है. इसका इस्तेमाल, किसी खास रिपॉज़िटरी के नियम को लागू करने के लिए किया जाता है. इससे, तय किए गए एट्रिब्यूट में बदलाव किया जा सकता है और उन्हें जोड़ा जा सकता है.
इसका इस्तेमाल, नियम को फिर से लागू करने के लिए किया जाता है.
पैरामीटर
orig |
ज़रूरी है.
किसी नियम को लागू करने के दौरान, साफ़ तौर पर या परोक्ष रूप से सेट किए गए एट्रिब्यूट की डिक्शनरी |
keys |
ज़रूरी है.
इस नियम के लिए तय किए गए एट्रिब्यूट का पूरा सेट |
override |
ज़रूरी है.
एट्रिब्यूट का डिक्शनरी, जिसे orig में बदलना या जोड़ना है |
रिटर्न
डिक्शनरी में एट्रिब्यूट होते हैं. इसमें, ओवरराइड किए गए एट्रिब्यूट की कुंजियां डाली/अपडेट की जाती हैं
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
workspace_and_buildfile(ctx)
WORKSPACE और अगर अनुरोध किया गया है, तो BUILD फ़ाइल लिखने के लिए यूटिलिटी फ़ंक्शन.
इस नियम का इस्तेमाल, रिपॉज़िटरी के नियम के लागू करने वाले फ़ंक्शन में किया जाता है.
इसमें यह माना जाता है कि name, build_file, build_file_content, workspace_file, और workspace_file_content पैरामीटर, ctx.attr में मौजूद हैं. हालांकि, बाद के चार पैरामीटर की वैल्यू None हो सकती है.
पैरामीटर
ctx |
ज़रूरी है.
इस यूटिलिटी फ़ंक्शन को कॉल करने वाले रिपॉज़िटरी नियम का रिपॉज़िटरी कॉन्टेक्स्ट. |