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

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

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

रिटर्न

डिक्शनरी, जिसमें मशीन के नाम को डिक्शनरी से मैप किया जाता है. इस डिक्शनरी में मशीन के बारे में जानकारी दी जाती है.

load("@bazel//tools/build_defs/repo:utils.bzl", "symlink_files")

symlink_files(ctx)

यह फ़ंक्शन, लोकल फ़ाइलों को सिंबल के तौर पर लिंक करने के लिए इस्तेमाल किया जाता है.

इसका इस्तेमाल, रिपॉज़िटरी के नियम के लागू करने वाले फ़ंक्शन में किया जाता है. इसमें यह माना गया है कि पैरामीटर files, ctx.attr में मौजूद है.

मौजूदा फ़ाइलें ओवरराइट कर दी जाएंगी.

पैरामीटर

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 ज़रूरी है.

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