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

समस्या की शिकायत करें सोर्स देखें

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

पैसे चुकाकर बने सदस्यों के लिए

एट्रिब्यूट

struct repository_ctx.attr

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

मिटाएं

bool repository_ctx.delete(path)

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

पैरामीटर

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

डाउनलोड करें

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

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

पैरामीटर

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

फ़ाइल

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

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

पैरामीटर

पैरामीटर कंपनी का ब्यौरा
path string; या Label; या 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)

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

पैरामीटर

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

पाथ

path repository_ctx.path(path)

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

पैरामीटर

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

पढ़ना

string repository_ctx.read(path)

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

पैरामीटर

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

report_progress

None repository_ctx.report_progress(status='')

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

पैरामीटर

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

None repository_ctx.symlink(target, link_name)

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

पैरामीटर

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

टेंप्लेट

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

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

पैरामीटर

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

कौनसा

path repository_ctx.which(program)

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

पैरामीटर

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

workspace_root

path repository_ctx.workspace_root

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