ये फ़ंक्शन @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_patterns एट्रिब्यूट का इस्तेमाल करें.
पैरामीटर
ctx |
ज़रूरी है.
इस यूटिलिटी फ़ंक्शन को कॉल करने वाले डेटा स्टोरेज के नियम का डेटा स्टोरेज कॉन्टेक्स्ट. |
urls |
आवश्यक.
पढ़ने के लिए यूआरएल की सूची |
रिटर्न
पुष्टि करने के लिए इस्तेमाल होने वाला डायक्शनरी, जिसे repository_ctx.download फ़ंक्शन में पास किया जा सकता है
शायद
maybe(repo_rule, name, kwargs)
यह फ़ंक्शन, सिर्फ़ तब किसी डेटा स्टोरेज को जोड़ने के लिए इस्तेमाल किया जाता है, जब वह पहले से मौजूद न हो.
यह सुरक्षित repositories.bzl मैक्रो लागू करने के लिए है, जिसे https://batz.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 |
ज़रूरी है.
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 |
ज़रूरी है.
इस यूटिलिटी फ़ंक्शन को कॉल करने वाले डेटा स्टोरेज के नियम का डेटा स्टोरेज कॉन्टेक्स्ट. |