ये फ़ंक्शन, @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://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 |
ज़रूरी है.
ऑरिग में जोड़ने या बदलने के लिए एट्रिब्यूट का उच्चारण |
रिटर्न
शामिल किए गए/अपडेट किए गए बदलावों की कुंजियों के साथ एट्रिब्यूट का उच्चारण
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 |
आवश्यक.
इस यूटिलिटी फ़ंक्शन को कॉल करने वाले डेटा स्टोरेज के नियम का डेटा स्टोरेज कॉन्टेक्स्ट. |