रिपॉज़िटरी_टैब

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

रिपॉज़िटरी नियम का कॉन्टेक्स्ट, जिसमें सहायक फ़ंक्शन और एट्रिब्यूट के बारे में जानकारी शामिल होती है. रिपॉज़िटरी का नियम बनाते समय, आपको implementation फ़ंक्शन के लिए, आर्ग्युमेंट के तौर पर repository_ctx ऑब्जेक्ट मिलता है.

सदस्य

attr

struct repository_ctx.attr

एट्रिब्यूट की वैल्यू ऐक्सेस करने के लिए स्ट्रक्चर. वैल्यू, उपयोगकर्ता से मिलती हैं. अगर वैल्यू नहीं दी जाती हैं, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाता है.

मिटाएं

bool repository_ctx.delete(path)

किसी फ़ाइल या डायरेक्ट्री को मिटाता है. यह एक बूल वैल्यू दिखाता है, जिससे पता चलता है कि इस कॉल से फ़ाइल या डायरेक्ट्री असल में मिटाई गई थी या नहीं.

पैरामीटर

पैरामीटर ब्यौरा
path स्ट्रिंग या पाथ; ज़रूरी है
रिपॉज़िटरी डायरेक्ट्री के हिसाब से या ऐब्सलूट, मिटाए जाने वाली फ़ाइल का पाथ. यह कोई पाथ या स्ट्रिंग हो सकती है.

डाउनलोड करें

struct repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')

दिए गए यूआरएल के लिए, आउटपुट पाथ में फ़ाइल डाउनलोड करता है. साथ ही, success वाला स्ट्रक्चर दिखाता है. यह एक फ़्लैग होता है, जो true होता है, अगर डाउनलोड पूरा हो जाता है. अगर डाउनलोड पूरा हो जाता है, तो sha256 और integrity फ़ील्ड के साथ फ़ाइल का हैश दिखाता है.

पैरामीटर

पैरामीटर ब्यौरा
url स्ट्रिंग या स्ट्रिंग की Iterable वैल्यू; ज़रूरी है
एक ही फ़ाइल का रेफ़रंस देने वाले मिरर यूआरएल की सूची.
output स्ट्रिंग; या लेबल; या पाथ; डिफ़ॉल्ट रूप से ''
होता है रिपॉज़िटरी डायरेक्ट्री के हिसाब से, आउटपुट फ़ाइल का पाथ.
sha256 डिफ़ॉल्ट तौर पर, ''
डाउनलोड की गई फ़ाइल का अनुमानित SHA-256 हैश. यह डाउनलोड की गई फ़ाइल के SHA-256 हैश से मेल खाना चाहिए. SHA-256 को हटाना सुरक्षा के लिहाज़ से जोखिम भरा है, क्योंकि रिमोट फ़ाइलों में बदलाव हो सकता है. इस फ़ील्ड को हटाने पर, आपका बिल्ड पूरी तरह से सुरक्षित नहीं रहेगा. डेवलपमेंट को आसान बनाने के लिए, यह विकल्प ज़रूरी नहीं है. हालांकि, इसे शिपिंग से पहले सेट किया जाना चाहिए.
executable डिफ़ॉल्ट रूप से False
होता है बनाई गई फ़ाइल पर, 'चलाया जा सकता है' फ़्लैग सेट करें. यह डिफ़ॉल्ट रूप से गलत होता है.
allow_fail डिफ़ॉल्ट रूप से False
पर सेट होता है अगर सेट किया जाता है, तो डाउनलोड न हो पाने की गड़बड़ी दिखाने के बजाय, रिटर्न वैल्यू में गड़बड़ी की जानकारी दें
canonical_id डिफ़ॉल्ट तौर पर ''
है अगर यह सेट है, तो कैश मेमोरी में हिट करने की सुविधा को सिर्फ़ उन मामलों तक सीमित करें जहां फ़ाइल को कैश मेमोरी में उसी कैननिकल आईडी के साथ जोड़ा गया था
auth डिफ़ॉल्ट {}
है यह एक वैकल्पिक डायक्शनरी है, जिसमें कुछ यूआरएल के लिए पुष्टि करने की जानकारी दी गई है.
integrity डिफ़ॉल्ट रूप से ''
सब-सोर्स इंटिग्रिटी फ़ॉर्मैट में, डाउनलोड की गई फ़ाइल का अनुमानित चेकसम. यह डाउनलोड की गई फ़ाइल के चेकसम से मेल खाना चाहिए. चेकसम को हटाना सुरक्षा के लिहाज़ से जोखिम भरा है, क्योंकि रिमोट फ़ाइलों में बदलाव हो सकता है. इस फ़ील्ड को हटाने पर, आपका बिल्ड पूरी तरह से सुरक्षित नहीं रहेगा. डेवलपमेंट को आसान बनाने के लिए, यह विकल्प ज़रूरी नहीं है. हालांकि, इसे शिपिंग से पहले सेट किया जाना चाहिए.

download_and_extract

struct repository_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})

यह फ़ंक्शन, दिए गए यूआरएल की फ़ाइल को आउटपुट पाथ में डाउनलोड करता है, उसे निकालता है, और success वाला स्ट्रक्चर दिखाता है. यह फ़्लैग, true होता है, अगर डाउनलोड पूरा हो जाता है. अगर डाउनलोड पूरा हो जाता है, तो sha256 और integrity फ़ील्ड के साथ फ़ाइल का हैश दिखाया जाता है.

पैरामीटर

पैरामीटर ब्यौरा
url स्ट्रिंग या स्ट्रिंग की Iterable वैल्यू; ज़रूरी है
एक ही फ़ाइल का रेफ़रंस देने वाले मिरर यूआरएल की सूची.
output स्ट्रिंग; या लेबल; या पाथ; डिफ़ॉल्ट रूप से ''
वह पाथ जहां संग्रह को अनपैक किया जाएगा. यह पाथ, रिपॉज़िटरी डायरेक्ट्री से लिया जाता है.
sha256 डिफ़ॉल्ट तौर पर, ''
डाउनलोड की गई फ़ाइल का अनुमानित SHA-256 हैश. यह डाउनलोड की गई फ़ाइल के SHA-256 हैश से मेल खाना चाहिए. SHA-256 को हटाना सुरक्षा के लिहाज़ से जोखिम भरा है, क्योंकि रिमोट फ़ाइलों में बदलाव हो सकता है. इस फ़ील्ड को हटाने पर, आपका बिल्ड पूरी तरह से सुरक्षित नहीं रहेगा. डेवलपमेंट को आसान बनाने के लिए, यह विकल्प ज़रूरी नहीं है. हालांकि, इसे शिपिंग से पहले सेट किया जाना चाहिए. अगर हैश दिया गया है, तो पहले रिपॉज़िटरी कैश में उस हैश वाली फ़ाइल की जांच की जाएगी. अगर फ़ाइल कैश में नहीं मिली, तो ही उसे डाउनलोड करने की कोशिश की जाएगी. डाउनलोड होने के बाद, फ़ाइल को कैश मेमोरी में जोड़ दिया जाएगा.
type डिफ़ॉल्ट तौर पर, ''
डाउनलोड की गई फ़ाइल का संग्रह टाइप. डिफ़ॉल्ट रूप से, यूआरएल के फ़ाइल एक्सटेंशन से यह तय होता है कि संग्रह किस तरह का है. अगर फ़ाइल का कोई एक्सटेंशन नहीं है, तो यहां "zip", "jar", "war", "aar", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".tbz", ".ar" या ".deb" में से कोई एक एक्सटेंशन डालें.
stripPrefix डिफ़ॉल्ट तौर पर, ''
होता है यह डायरेक्ट्री का प्रीफ़िक्स होता है, जिसे निकाली गई फ़ाइलों से हटाना होता है. कई संग्रहों में एक टॉप-लेवल डायरेक्ट्री होती है, जिसमें संग्रह की सभी फ़ाइलें होती हैं. build_file में इस प्रीफ़िक्स को बार-बार बताने के बजाय, इस फ़ील्ड का इस्तेमाल करके, निकाली गई फ़ाइलों से इसे हटाया जा सकता है.
allow_fail डिफ़ॉल्ट रूप से False
पर सेट होता है अगर सेट किया जाता है, तो डाउनलोड न हो पाने की गड़बड़ी दिखाने के बजाय, रिटर्न वैल्यू में गड़बड़ी की जानकारी दें
canonical_id डिफ़ॉल्ट तौर पर ''
है अगर यह सेट है, तो कैश मेमोरी में हिट करने की सुविधा को सिर्फ़ उन मामलों तक सीमित करें जहां फ़ाइल को कैश मेमोरी में उसी कैननिकल आईडी के साथ जोड़ा गया था
auth डिफ़ॉल्ट {}
है यह एक वैकल्पिक डायक्शनरी है, जिसमें कुछ यूआरएल के लिए पुष्टि करने की जानकारी दी गई है.
integrity डिफ़ॉल्ट रूप से ''
सब-सोर्स इंटिग्रिटी फ़ॉर्मैट में, डाउनलोड की गई फ़ाइल का अनुमानित चेकसम. यह डाउनलोड की गई फ़ाइल के चेकसम से मेल खाना चाहिए. चेकसम को हटाना सुरक्षा के लिहाज़ से जोखिम भरा है, क्योंकि रिमोट फ़ाइलों में बदलाव हो सकता है. इस फ़ील्ड को हटाने पर, आपका बिल्ड पूरी तरह से सुरक्षित नहीं रहेगा. डेवलपमेंट को आसान बनाने के लिए, यह विकल्प ज़रूरी नहीं है. हालांकि, इसे शिपिंग से पहले सेट किया जाना चाहिए.
rename_files डिफ़ॉल्ट रूप से {}
एक वैकल्पिक डिक्शनरी, जिसमें एक्सट्रैक्ट करने के दौरान फ़ाइलों के नाम बदलने के बारे में बताया गया है. किसी कीवर्ड से पूरी तरह मैच होने वाले नाम वाली संग्रहित एंट्री का नाम, डायरेक्ट्री के प्रीफ़िक्स में बदलाव करने से पहले, वैल्यू पर बदल दिया जाएगा. इसका इस्तेमाल उन संग्रहों को निकालने के लिए किया जा सकता है जिनमें यूनिकोड फ़ाइल नाम नहीं हैं या जिनमें ऐसी फ़ाइलें हैं जो केस-इनसेंसिटिव फ़ाइल सिस्टम पर एक ही पाथ में निकाली जाएंगी.

execute

exec_result repository_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")

आर्ग्युमेंट की सूची में दिए गए कमांड को लागू करता है. कमांड को पूरा होने में timeout सेकंड लग सकते हैं. डिफ़ॉल्ट रूप से, यह समय 600 सेकंड होता है. यह तरीका, exec_result स्ट्रक्चर दिखाता है, जिसमें निर्देश का आउटपुट होता है. environment मैप का इस्तेमाल, प्रोसेस में पास किए जाने वाले कुछ एनवायरमेंट वैरिएबल को बदलने के लिए किया जा सकता है.

पैरामीटर

पैरामीटर ब्यौरा
arguments ज़रूरी
आर्ग्युमेंट की सूची, पहला एलिमेंट उस प्रोग्राम का पाथ होना चाहिए जिसे चलाना है.
timeout डिफ़ॉल्ट रूप से 600
सेकंड में, कमांड की ज़्यादा से ज़्यादा अवधि (डिफ़ॉल्ट रूप से 600 सेकंड).
environment डिफ़ॉल्ट तौर पर, {}
होता है प्रोसेस में पास करने के लिए, कुछ एनवायरमेंट वैरिएबल को सेट करने के लिए ज़रूरी है.
quiet डिफ़ॉल्ट रूप से True
होता है अगर टर्मिनल पर stdout और stderr को प्रिंट करना है.
working_directory डिफ़ॉल्ट रूप से, यह ""
होती है कमांड को लागू करने के लिए काम करने वाली डायरेक्ट्री. यह रिपॉज़िटरी रूट के हिसाब से या एब्सोलूट हो सकता है.

एक्सट्रैक्ट

None repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={})

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

पैरामीटर

पैरामीटर ब्यौरा
archive स्ट्रिंग; या लेबल; या पाथ; ज़रूरी है
उस संग्रह का पाथ जिसे अनपैक किया जाएगा. यह पाथ, रिपॉज़िटरी डायरेक्ट्री से जुड़ा होना चाहिए.
output स्ट्रिंग; या लेबल; या पाथ; डिफ़ॉल्ट रूप से ''
वह पाथ जहां संग्रह को अनपैक किया जाएगा. यह पाथ, रिपॉज़िटरी डायरेक्ट्री से लिया जाता है.
stripPrefix डिफ़ॉल्ट तौर पर, ''
होता है यह डायरेक्ट्री का प्रीफ़िक्स होता है, जिसे निकाली गई फ़ाइलों से हटाना होता है. कई संग्रहों में एक टॉप-लेवल डायरेक्ट्री होती है, जिसमें संग्रह की सभी फ़ाइलें होती हैं. build_file में इस प्रीफ़िक्स को बार-बार बताने के बजाय, इस फ़ील्ड का इस्तेमाल करके, निकाली गई फ़ाइलों से इसे हटाया जा सकता है.
rename_files डिफ़ॉल्ट रूप से {}
एक वैकल्पिक डिक्शनरी, जिसमें एक्सट्रैक्ट करने के दौरान फ़ाइलों के नाम बदलने के बारे में बताया गया है. किसी कीवर्ड से पूरी तरह मैच होने वाले नाम वाली संग्रहित एंट्री का नाम, डायरेक्ट्री के प्रीफ़िक्स में बदलाव करने से पहले, वैल्यू पर बदल दिया जाएगा. इसका इस्तेमाल उन संग्रहों को निकालने के लिए किया जा सकता है जिनमें यूनिकोड फ़ाइल नाम नहीं हैं या जिनमें ऐसी फ़ाइलें हैं जो केस-इनसेंसिटिव फ़ाइल सिस्टम पर एक ही पाथ में निकाली जाएंगी.

फ़ाइल

None repository_ctx.file(path, content='', executable=True, legacy_utf8=True)

दिए गए कॉन्टेंट के साथ, रिपॉज़िटरी डायरेक्ट्री में एक फ़ाइल जनरेट करता है.

पैरामीटर

पैरामीटर ब्यौरा
path स्ट्रिंग; या लेबल; या पाथ; ज़रूरी
रिपॉज़िटरी डायरेक्ट्री के हिसाब से, बनाई जाने वाली फ़ाइल का पाथ.
content डिफ़ॉल्ट तौर पर, ''
वह कॉन्टेंट होता है जिसे फ़ाइल में जोड़ना है. यह डिफ़ॉल्ट रूप से खाली होता है.
executable डिफ़ॉल्ट तौर पर True
होता है बनाई गई फ़ाइल पर, 'एक्सीक्यूटेबल' फ़्लैग सेट करें. यह डिफ़ॉल्ट रूप से 'सही' पर सेट होता है.
legacy_utf8 डिफ़ॉल्ट True
फ़ाइल के कॉन्टेंट को UTF-8 में बदलें. यह डिफ़ॉल्ट रूप से 'सही' पर सेट होता है. आने वाले वर्शन में, डिफ़ॉल्ट पैरामीटर बदल जाएगा और यह पैरामीटर हट जाएगा.

नाम

string repository_ctx.name

इस नियम से बनाए गए बाहरी रिपॉज़िटरी का नाम.

os

repository_os repository_ctx.os

सिस्टम से जानकारी ऐक्सेस करने के लिए स्ट्रक्चर.

पैच

None repository_ctx.patch(patch_file, strip=0)

बाहरी रिपॉज़िटरी की रूट डायरेक्ट्री में पैच फ़ाइल लागू करें. पैच फ़ाइल, स्टैंडर्ड यूनिफ़ाइड डिफ़ फ़ॉर्मैट फ़ाइल होनी चाहिए. Bazel-नेटिव पैच लागू करने की सुविधा, पैच कमांड-लाइन टूल की तरह फ़ज़ मैच और बाइनरी पैच के साथ काम नहीं करती.

पैरामीटर

पैरामीटर ब्यौरा
patch_file स्ट्रिंग; या लेबल; या पाथ; ज़रूरी है
लागू करने के लिए पैच फ़ाइल, यह लेबल, रिलेटिव पाथ या ऐब्सलूट पाथ हो सकती है. अगर यह रिलेटिव पाथ है, तो यह रिपॉज़िटरी डायरेक्ट्री पर रीडायरेक्ट करेगा.
strip डिफ़ॉल्ट रूप से, यह 0
होता है फ़ाइल के नामों से, तय की गई संख्या के लीडिंग कॉम्पोनेंट हटाएं.

पाथ

path repository_ctx.path(path)

किसी स्ट्रिंग, लेबल या पाथ से पाथ दिखाता है. अगर पाथ रिलेटिव है, तो इसे रिपॉज़िटरी डायरेक्ट्री के हिसाब से हल किया जाएगा. अगर पाथ कोई लेबल है, तो वह उससे जुड़ी फ़ाइल के पाथ पर रीडायरेक्ट करेगा. ध्यान दें कि रिमोट रिपॉज़िटरी, विश्लेषण के दौरान लागू किए जाते हैं. इसलिए, ये किसी टारगेट नतीजे पर निर्भर नहीं हो सकते. लेबल, जनरेट नहीं की गई फ़ाइल पर ले जाना चाहिए. अगर पाथ कोई पाथ है, तो वह उस पाथ को वैसा ही दिखाएगा.

पैरामीटर

पैरामीटर ब्यौरा
path स्ट्रिंग; या लेबल; या पाथ; ज़रूरी है
वह स्ट्रिंग, लेबल या पाथ जिससे पाथ बनाना है

पढ़ा गया

string repository_ctx.read(path)

फ़ाइल सिस्टम में मौजूद किसी फ़ाइल का कॉन्टेंट पढ़ता है.

पैरामीटर

पैरामीटर ब्यौरा
path स्ट्रिंग; या लेबल; या पाथ; ज़रूरी है
उस फ़ाइल का पाथ जिसे पढ़ना है.

report_progress

None repository_ctx.report_progress(status='')

इस रिपॉज़िटरी या मॉड्यूल एक्सटेंशन को फ़ेच करने की प्रोग्रेस की स्थिति अपडेट करता है

पैरामीटर

पैरामीटर ब्यौरा
status स्ट्रिंग; डिफ़ॉल्ट तौर पर ''
है फ़ेच की प्रोग्रेस की मौजूदा स्थिति बताने वाली स्ट्रिंग

None repository_ctx.symlink(target, link_name)

फ़ाइल सिस्टम पर सिमलिंक बनाता है.

पैरामीटर

पैरामीटर ब्यौरा
target स्ट्रिंग; या लेबल; या पाथ; ज़रूरी है
वह पाथ जिस पर सिमलंक को ले जाना चाहिए.
स्ट्रिंग; या लेबल; या पाथ; ज़रूरी है
रिपॉज़िटरी डायरेक्ट्री के हिसाब से, बनाए जाने वाले सिंबललिंक का पाथ.

टेंप्लेट

None repository_ctx.template(path, template, substitutions={}, executable=True)

template का इस्तेमाल करके नई फ़ाइल जनरेट करता है. template में substitutions की किसी कुंजी की हर बार आने पर, उसे उससे जुड़ी वैल्यू से बदल दिया जाएगा. नतीजा path में लिखा गया है. वैकल्पिकexecutable आर्ग्युमेंट (डिफ़ॉल्ट रूप से 'सही') को, एक्सीक्यूटेबल बिट को चालू या बंद करने के लिए सेट किया जा सकता है.

पैरामीटर

पैरामीटर ब्यौरा
path स्ट्रिंग; या लेबल; या पाथ; ज़रूरी
रिपॉज़िटरी डायरेक्ट्री के हिसाब से, बनाई जाने वाली फ़ाइल का पाथ.
template स्ट्रिंग; या लेबल; या पाथ; ज़रूरी
टेंप्लेट फ़ाइल का पाथ.
substitutions डिफ़ॉल्ट रूप से, {}
टेंप्लेट को बड़ा करते समय किए जाने वाले बदलाव.
executable डिफ़ॉल्ट तौर पर True
होता है बनाई गई फ़ाइल पर, 'एक्सीक्यूटेबल' फ़्लैग सेट करें. यह डिफ़ॉल्ट रूप से 'सही' पर सेट होता है.

कौनसा

path repository_ctx.which(program)

इससे उस प्रोग्राम का पाथ मिलता है. अगर पाथ में कोई ऐसा प्रोग्राम नहीं है, तो None दिखता है.

पैरामीटर

पैरामीटर ब्यौरा
program ज़रूरी
पाथ में ढूंढने के लिए प्रोग्राम.
None को वापस किया जा सकता है.

workspace_root

path repository_ctx.workspace_root

bazel को शुरू करने के लिए इस्तेमाल किए गए रूट वर्कस्पेस का पाथ.