इन फ़ंक्शन को @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
load("@bazel//tools/build_defs/repo:utils.bzl", "download_remote_files")
download_remote_files(ctx, auth)
रिमोट फ़ाइलों को डाउनलोड करने के लिए यूटिलिटी फ़ंक्शन.
इस नियम का इस्तेमाल, रिपॉज़िटरी के नियम के लागू करने वाले फ़ंक्शन में किया जाता है. यह मानता है कि ctx.attr में remote_file_urls और remote_file_integrity पैरामीटर मौजूद हैं.
पैरामीटर
ctx |
ज़रूरी है.
इस यूटिलिटी फ़ंक्शन को कॉल करने वाले रिपॉज़िटरी नियम का रिपॉज़िटरी कॉन्टेक्स्ट. |
auth |
यह विकल्प इस्तेमाल करना ज़रूरी नहीं है.
डिफ़ॉल्ट वैल्यू None है
यह एक वैकल्पिक डिक्शनरी है. इसमें कुछ यूआरएल के लिए पुष्टि करने की जानकारी दी जाती है. |
रिटर्न
dict, फ़ाइल पाथ को डाउनलोड करने की जानकारी पर मैप करता है.
get_auth
load("@bazel//tools/build_defs/repo:utils.bzl", "get_auth")
get_auth(ctx, urls)
यह यूटिलिटी फ़ंक्शन, .netrc फ़ाइल से यूआरएल की सूची के लिए सही auth dict पाने के लिए होता है.
अगर उपलब्ध हो, तो netrc और auth_patterns एट्रिब्यूट के लिए सहायता पाएं.
पैरामीटर
ctx |
ज़रूरी है.
इस यूटिलिटी फ़ंक्शन को कॉल करने वाले रिपॉज़िटरी नियम का रिपॉज़िटरी कॉन्टेक्स्ट. |
urls |
ज़रूरी है.
पढ़ने के लिए यूआरएल की सूची |
रिटर्न
ऑथराइज़ेशन डिक्शनरी, जिसे repository_ctx.download में पास किया जा सकता है
शायद
load("@bazel//tools/build_defs/repo:utils.bzl", "maybe")
maybe(repo_rule, name, **kwargs)
यह एक यूटिलिटी फ़ंक्शन है. इसका इस्तेमाल सिर्फ़ तब किया जाता है, जब कोई रिपॉज़िटरी पहले से मौजूद न हो.
इसका इस्तेमाल, सुरक्षित repositories.bzl मैक्रो को लागू करने के लिए किया जाता है. इसके बारे में https://bazel.build/rules/deploying#dependencies पर बताया गया है.
पैरामीटर
repo_rule |
ज़रूरी है.
डेटाबेस के नियम से जुड़ा फ़ंक्शन. |
name |
ज़रूरी है.
बनाई जाने वाली रिपॉज़िटरी का नाम. |
kwargs |
ज़रूरी नहीं है.
repo_rule फ़ंक्शन में पास किए गए बाकी आर्ग्युमेंट. |
रिटर्न
कुछ नहीं, ज़रूरत पड़ने पर रिपॉज़िटरी को साइड इफ़ेक्ट के तौर पर तय करता है.
parse_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "parse_netrc")
parse_netrc(contents, filename)
यह एक यूटिलिटी फ़ंक्शन है. इसका इस्तेमाल कम से कम एक बुनियादी .netrc फ़ाइल को पार्स करने के लिए किया जाता है.
पैरामीटर
contents |
ज़रूरी है.
पार्सर के लिए इनपुट. |
filename |
यह विकल्प इस्तेमाल करना ज़रूरी नहीं है.
डिफ़ॉल्ट वैल्यू "a .netrc file" है
गड़बड़ी के मैसेज में इस्तेमाल करने के लिए फ़ाइल का नाम. |
रिटर्न
डिक्शनरी, जिसमें मशीन के नामों को डिक्शनरी से मैप किया जाता है. इस डिक्शनरी में मशीन के बारे में जानकारी दी जाती है
पैच
load("@bazel//tools/build_defs/repo:utils.bzl", "patch")
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
load("@bazel//tools/build_defs/repo:utils.bzl", "read_netrc")
read_netrc(ctx, filename)
यह एक यूटिलिटी फ़ंक्शन है. इसका इस्तेमाल कम से कम एक बुनियादी .netrc फ़ाइल को पार्स करने के लिए किया जाता है.
पैरामीटर
ctx |
ज़रूरी है.
इस यूटिलिटी फ़ंक्शन को कॉल करने वाले रिपॉज़िटरी नियम का रिपॉज़िटरी कॉन्टेक्स्ट. |
filename |
ज़रूरी है.
पढ़ने के लिए .netrc फ़ाइल का नाम |
रिटर्न
डिक्शनरी, जिसमें मशीन के नामों को डिक्शनरी से मैप किया जाता है. इस डिक्शनरी में मशीन के बारे में जानकारी दी जाती है
read_user_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "read_user_netrc")
read_user_netrc(ctx)
उपयोगकर्ता की डिफ़ॉल्ट netrc फ़ाइल को पढ़ता है.
पैरामीटर
ctx |
ज़रूरी है.
यह यूटिलिटी फ़ंक्शन को कॉल करने वाले रिपॉज़िटरी नियम का रिपॉज़िटरी कॉन्टेक्स्ट है. |
रिटर्न
डिक्शनरी, जिसमें मशीन के नाम को डिक्शनरी से मैप किया जाता है. इस डिक्शनरी में मशीन के बारे में जानकारी दी जाती है.
update_attrs
load("@bazel//tools/build_defs/repo:utils.bzl", "update_attrs")
update_attrs(orig, keys, override)
यह एक यूटिलिटी फ़ंक्शन है. इसका इस्तेमाल, किसी खास रिपॉज़िटरी के नियम को लागू करने के लिए किया जाता है. इससे, तय किए गए एट्रिब्यूट में बदलाव किया जा सकता है और उन्हें जोड़ा जा सकता है.
इसका इस्तेमाल, नियम को फिर से लागू करने के लिए किया जाता है.
पैरामीटर
orig |
ज़रूरी है.
किसी नियम को लागू करने के दौरान, साफ़ तौर पर या परोक्ष रूप से सेट किए गए एट्रिब्यूट की डिक्शनरी |
keys |
ज़रूरी है.
इस नियम के लिए तय किए गए एट्रिब्यूट का पूरा सेट |
override |
ज़रूरी है.
dict of attributes to override or add to orig |
रिटर्न
डिक्शनरी में एट्रिब्यूट होते हैं. इसमें, ओवरराइड से मिली कुंजियां डाली/अपडेट की जाती हैं
use_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "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
load("@bazel//tools/build_defs/repo:utils.bzl", "workspace_and_buildfile")
workspace_and_buildfile(ctx)
BUILD फ़ाइल लिखने के लिए यूटिलिटी फ़ंक्शन.
इस नियम का इस्तेमाल, रिपॉज़िटरी के नियम के लागू करने वाले फ़ंक्शन में किया जाता है.
यह मानता है कि name, build_file, और build_file_content पैरामीटर, ctx.attr में मौजूद हैं. हालांकि, बाद के दो पैरामीटर की वैल्यू None हो सकती है.
पैरामीटर
ctx |
ज़रूरी है.
इस यूटिलिटी फ़ंक्शन को कॉल करने वाले रिपॉज़िटरी नियम का रिपॉज़िटरी कॉन्टेक्स्ट. |