ये फ़ंक्शन, @bazel_tools//tools/build_defs/repo:utils.bzl
से लोड किए जा सकते हैं.
फ़ेच किए जाने के बाद, बाहरी रिपॉज़िटरी में बदलाव करने के लिए इस्तेमाल होने वाले टूल.
सेटअप
इन उपयोगिताओं का इस्तेमाल, डेटा स्टोर करने की जगह के अन्य नियमों के लिए किया जा सकता है. इन्हें इस तरह लोड किया जा सकता है.
load(
"@bazel_tools//tools/build_defs/repo:utils.bzl",
"workspace_and_buildfile",
"patch",
"update_attrs",
)
get_auth
get_auth(ctx, urls)
.netrc फ़ाइल से यूआरएल की सूची के लिए, सही पुष्टि करने वाला डायक्शन पाने के लिए यूटिलिटी फ़ंक्शन.
अगर उपलब्ध हो, तो वैकल्पिक netrc और auth_patterns एट्रिब्यूट का इस्तेमाल करें.
पैरामीटर
ctx |
ज़रूरी है.
इस यूटिलिटी फ़ंक्शन को कॉल करने वाले डेटा स्टोरेज के नियम का डेटा स्टोरेज कॉन्टेक्स्ट. |
urls |
आवश्यक.
पढ़ने के लिए यूआरएल की सूची |
रिटर्न
अधिकार के बारे में बताने वाला दस्तावेज़, जिसे रिपॉज़िटरी_ctx.download में भेजा जा सकता है
शायद
maybe(repo_rule, name, kwargs)
यह फ़ंक्शन, सिर्फ़ तब किसी डेटा स्टोरेज को जोड़ने के लिए इस्तेमाल किया जाता है, जब वह पहले से मौजूद न हो.
यह, https://bazel.build/rules/deploying#dependencies में दस्तावेज़ किए गए सुरक्षित repositories.bzl मैक्रो को लागू करने के लिए है.
पैरामीटर
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 आदेश, पावरशेल /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 |
आवश्यक.
ऑरिग में जोड़ने या बदलने के लिए एट्रिब्यूट का उच्चारण |
रिटर्न
एट्रिब्यूट का डिक्शनरी, जिसमें ओवरराइड की गई वैल्यू की कुंजियां शामिल हैं
use_netrc
use_netrc(netrc, urls, patterns)
पार्स की गई netrc फ़ाइल और यूआरएल की सूची से, कोई ऑथेंटिकेशन प्रोसेस करें.
पैरामीटर
netrc |
आवश्यक.
netrc फ़ाइल, पहले से ही किसी डायक्शनरी में पार्स की गई हो. उदाहरण के लिए, read_netrc से मिली फ़ाइल |
urls |
आवश्यक.
सेट अप कर सकते हैं. |
patterns |
ज़रूरी है.
ऑथराइज़ेशन पैटर्न के लिए, यूआरएल का वैकल्पिक उच्चारण |
रिटर्न
ctx.download के लिए पुष्टि के तर्क के रूप में सही उच्चारण लिखा जा सकता है; ज़्यादा सटीक रूप से लिखवाने से, उन सभी यूआरएल को मैप किया जाएगा जहां netrc फ़ाइल, लॉगिन, पासवर्ड, और वैकल्पिक ऑथराइज़ेशन पैटर्न के साथ लॉगिन और पासवर्ड उपलब्ध कराती है. साथ ही, "type" को "बेसिक" या "पैटर्न" पर मैप करने की भी अनुमति देती है.
workspace_and_buildfile
workspace_and_buildfile(ctx)
WORKSPACE और अनुरोध किए जाने पर, BUILD फ़ाइल लिखने के लिए यूटिलिटी फ़ंक्शन.
इस नियम का इस्तेमाल, रिपॉज़िटरी नियम के लागू करने वाले फ़ंक्शन में किया जाता है.
यह मानता है कि ctx.attr
में पैरामीटर name
, build_file
, build_file_content
,
workspace_file
, और workspace_file_content
मौजूद हैं. हो सकता है कि आखिरी चार पैरामीटर की वैल्यू None हो.
पैरामीटर
ctx |
ज़रूरी है.
इस यूटिलिटी फ़ंक्शन को कॉल करने वाले डेटा स्टोरेज के नियम का डेटा स्टोरेज कॉन्टेक्स्ट. |