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

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 और auth_patterns एट्रिब्यूट का इस्तेमाल करें.

पैरामीटर

ctx ज़रूरी है.

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

urls आवश्यक.

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

रिटर्न

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

शायद

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

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

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