इन फ़ंक्शन को @bazel_tools//tools/build_defs/repo:utils.bzl से लोड किया जा सकता है.
बाहरी रिपॉज़िटरी से फ़ेच किए गए डेटा में बदलाव करने के लिए यूटिलिटी.
सेटअप
इन यूटिलिटी का इस्तेमाल, रिपॉज़िटरी के अन्य नियमों के लिए किया जाता है. इन्हें इस तरह लोड किया जा सकता है.
load(
"@bazel_tools//tools/build_defs/repo:utils.bzl",
"workspace_and_buildfile",
"patch",
"update_attrs",
)
शायद
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 कमांड, जिन्हें 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 |
ज़रूरी है.
dict of attributes to override or add to orig |
रिटर्न
डिक्शनरी में एट्रिब्यूट होते हैं. इसमें ओवरराइड किए गए एट्रिब्यूट की वैल्यू डाली/अपडेट की जाती है
use_netrc
use_netrc(netrc, urls, patterns)
पार्स की गई netrc फ़ाइल और यूआरएल की सूची से, auth dict का हिसाब लगाता है.
पैरामीटर
netrc |
ज़रूरी है.
netrc फ़ाइल को पहले ही dict में पार्स कर दिया गया है. उदाहरण के लिए, read_netrc से मिला dict |
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 में मौजूद हैं. इनमें से बाद के चार पैरामीटर की वैल्यू, 'कोई नहीं' हो सकती है.
पैरामीटर
ctx |
ज़रूरी है.
इस यूटिलिटी फ़ंक्शन को कॉल करने वाले रिपॉज़िटरी नियम का रिपॉज़िटरी कॉन्टेक्स्ट. |