ये फ़ंक्शन, @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 फ़ाइल से यूआरएल की सूची के लिए, सही पुष्टि करने वाला डायक्शन पाने के लिए यूटिलिटी फ़ंक्शन.
अगर उपलब्ध हो, तो वैकल्पिक netrc और auth_patterns एट्रिब्यूट का इस्तेमाल करें.
पैरामीटर
ctx |
ज़रूरी है.
इस यूटिलिटी फ़ंक्शन को कॉल करने वाले डेटा स्टोरेज के नियम का डेटा स्टोरेज कॉन्टेक्स्ट. |
urls |
ज़रूरी है.
पढ़ने के लिए यूआरएल की सूची |
रिटर्न
पुष्टि करने के लिए इस्तेमाल होने वाला डायक्शनरी, जिसे repository_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 कमांड, एक बार में एक कमांड 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 फ़ाइल और यूआरएल की सूची से, पुष्टि करने के लिए डायक्शनरी बनाएं.
पैरामीटर
netrc |
ज़रूरी है.
netrc फ़ाइल, पहले से ही किसी डायक्शनरी में पार्स की गई हो. उदाहरण के लिए, read_netrc से मिली फ़ाइल |
urls |
ज़रूरी है.
यूआरएल की सूची. |
patterns |
ज़रूरी है.
अनुमति देने वाले पैटर्न के लिए यूआरएल की वैकल्पिक डायक्शनरी |
रिटर्न
यह एक डायक्शनरी है, जो ctx.download के लिए पुष्टि करने वाले आर्ग्युमेंट के तौर पर काम करती है. ज़्यादा सटीक तरीके से कहें, तो यह डायक्शनरी उन सभी यूआरएल को मैप करेगी जहां netrc फ़ाइल, लॉगिन और पासवर्ड की जानकारी देती है. इस डायक्शनरी में, लॉगिन, पासवर्ड, और अनुमति देने का वैकल्पिक पैटर्न होता है. साथ ही, "टाइप" को "बुनियादी" या "पैटर्न" के साथ मैप किया जाता है.
workspace_and_buildfile
workspace_and_buildfile(ctx)
WORKSPACE और अनुरोध किए जाने पर, BUILD फ़ाइल लिखने के लिए यूटिलिटी फ़ंक्शन.
इस नियम का इस्तेमाल, रिपॉज़िटरी नियम के लागू करने वाले फ़ंक्शन में किया जाता है.
यह मानता है कि ctx.attr
में पैरामीटर name
, build_file
, build_file_content
,
workspace_file
, और workspace_file_content
मौजूद हैं. हो सकता है कि आखिरी चार पैरामीटर की वैल्यू None हो.
पैरामीटर
ctx |
ज़रूरी है.
इस यूटिलिटी फ़ंक्शन को कॉल करने वाले डेटा स्टोरेज के नियम का डेटा स्टोरेज कॉन्टेक्स्ट. |