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

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

पैसे चुकाकर बने सदस्य

attr

struct repository_ctx.attr

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

मिटाएं

bool repository_ctx.delete(path)

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

पैरामीटर

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

डाउनलोड करें

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

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

पैरामीटर

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

निकालें

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

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

पैरामीटर

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

फ़ाइल

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

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

पैरामीटर

पैरामीटर ब्यौरा
path string; or Label; or 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 string; or Label; or path; ज़रूरी है
लागू की जाने वाली पैच फ़ाइल, लेबल, रिलेटिव पाथ या ऐब्सलूट पाथ हो सकती है. अगर यह रिलेटिव पाथ है, तो यह रिपॉज़िटरी डायरेक्ट्री में चला जाएगा.
strip डिफ़ॉल्ट = 0
फ़ाइल के नामों से, लीडिंग कॉम्पोनेंट की तय संख्या को हटा दें.

पाथ

path repository_ctx.path(path)

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

पैरामीटर

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

पढ़ना

string repository_ctx.read(path)

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

पैरामीटर

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

report_progress

None repository_ctx.report_progress(status='')

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

पैरामीटर

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

None repository_ctx.symlink(target, link_name)

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

पैरामीटर

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

टेंप्लेट

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

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

पैरामीटर

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

कौनसा

path repository_ctx.which(program)

पाथ में ऐसा कोई प्रोग्राम न होने पर, इससे जुड़े प्रोग्राम का पाथ दिखाता है या 'कोई नहीं' दिखाता है.

पैरामीटर

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

workspace_root

path repository_ctx.workspace_root

बेज़ेल को शुरू करने वाले सेशन के रूट वर्कस्पेस का पाथ.