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

किसी समस्या की शिकायत करें सोर्स देखें Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

ये फ़ंक्शन, @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 फ़ाइल से यूआरएल की सूची के लिए, सही पुष्टि करने वाला डायक्शन पाने के लिए यूटिलिटी फ़ंक्शन.

अगर उपलब्ध हो, तो वैकल्पिक netrc और auth_patterns एट्रिब्यूट का इस्तेमाल करें.

पैरामीटर

ctx ज़रूरी है.

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

urls ज़रूरी है.

पढ़ने के लिए यूआरएल की सूची

रिटर्न

पुष्टि करने के लिए इस्तेमाल होने वाला डायक्शनरी, जिसे repository_ctx.download फ़ंक्शन में पास किया जा सकता है

शायद

maybe(repo_rule, name, kwargs)

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

यह, https://bazel.build/rules/deploying#dependencies में दस्तावेज़ किए गए सुरक्षित repositories.bzl मैक्रो को लागू करने के लिए है.

पैरामीटर

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

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