implementation
फ़ंक्शन में आर्ग्युमेंट के तौर पर रिपॉज़िटरी_ctx ऑब्जेक्ट मिलता है.
पैसे चुकाकर बने सदस्यों के लिए
- एट्रिब्यूट
- मिटाएं
- डाउनलोड करें
- download_and_extract
- execute
- एक्सट्रैक्ट
- फ़ाइल
- name
- os
- पैच
- पाथ
- पढ़ें
- report_progress
- सिमलिंक
- टेंप्लेट
- कौनसा
- workspace_root
एट्रिब्यूट
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;
ज़रूरी है वह पाथ जिस पर सिमलिंक को ले जाना चाहिए. |
link_name
|
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बेज़ल इनवोकेशन के रूट वर्कस्पेस का पाथ.