डेटा स्टोर करने की जगह के नियमों का इस्तेमाल करता है

इन फ़ंक्शन को @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://bazel.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 ज़रूरी है.

dict of attributes to override or add to orig

रिटर्न

डिक्शनरी में एट्रिब्यूट होते हैं. इसमें, ओवरराइड से मिली कुंजियां डाली/अपडेट की जाती हैं

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

workspace_and_buildfile(ctx)

WORKSPACE फ़ाइल लिखने के लिए यूटिलिटी फ़ंक्शन. अगर अनुरोध किया जाता है, तो BUILD फ़ाइल भी लिखी जा सकती है.

इस नियम का इस्तेमाल, रिपॉज़िटरी के नियम के लागू करने वाले फ़ंक्शन में किया जाता है. इसमें यह माना जाता है कि name, build_file, build_file_content, workspace_file, और workspace_file_content पैरामीटर, ctx.attr में मौजूद हैं. इनमें से आखिरी चार पैरामीटर की वैल्यू, 'कोई नहीं' हो सकती है.

पैरामीटर

ctx ज़रूरी है.

इस यूटिलिटी फ़ंक्शन को कॉल करने वाले रिपॉज़िटरी नियम का रिपॉज़िटरी कॉन्टेक्स्ट.