implementation
फ़ंक्शन में आर्ग्युमेंट के तौर पर रिपॉज़िटरी_ctx ऑब्जेक्ट मिलता है.
सदस्य
- attr
- मिटाएं
- डाउनलोड करें
- download_and_extract
- लागू करें
- एक्सट्रैक्ट
- फ़ाइल
- name
- ओएस
- पैच
- पाथ
- पढ़ें
- report_progress
- सिमलिंक
- टेंप्लेट
- कौनसा
- workspace_root
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
|
default = {} कुछ यूआरएल के लिए, पुष्टि करने की जानकारी देने वाला ऐसा डिक्शनरी जो ज़रूरी नहीं है. |
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", "var", "aar", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".ar" या ".deb" लिखा जा सकता है यहां. |
stripPrefix
|
डिफ़ॉल्ट = '' निकाली गई फ़ाइलों से निकालने के लिए एक डायरेक्ट्री प्रीफ़िक्स. कई संग्रह में एक शीर्ष-स्तरीय निर्देशिका होती है जिसमें संग्रह की सभी फ़ाइलें होती हैं. build_file में, इस प्रीफ़िक्स को बार-बार बताने के बजाय, इस फ़ील्ड का इस्तेमाल करके निकाली गई फ़ाइलों से इसे हटाया जा सकता है.
|
allow_fail
|
डिफ़ॉल्ट = गलत अगर यह नीति सेट की जाती है, तो सफल न होने वाले डाउनलोड के लिए गड़बड़ी बढ़ाने के बजाय, रिटर्न वैल्यू में गड़बड़ी बताएं |
canonical_id
|
डिफ़ॉल्ट = '' अगर यह नीति सेट की गई है, तो कैश मेमोरी हिट को उन मामलों में सीमित करें जहां फ़ाइल को उसी कैननिकल आईडी के साथ कैश मेमोरी में जोड़ा गया था |
auth
|
default = {} कुछ यूआरएल के लिए, पुष्टि करने की जानकारी देने वाला ऐसा डिक्शनरी जो ज़रूरी नहीं है. |
integrity
|
डिफ़ॉल्ट = '' सबरिसॉर्स इंटेग्रिटी फ़ॉर्मैट में, डाउनलोड की गई फ़ाइल का अनुमानित चेकसम. यह डाउनलोड की गई फ़ाइल के चेकसम से मेल खाना चाहिए. चेकसम को हटाने से सुरक्षा जोखिम हो सकता है, क्योंकि रिमोट फ़ाइलें बदल सकती हैं. इस फ़ील्ड को छोड़ने से आपका बिल्ड नॉन-हर्मेटिक हो जाएगा. डेवलपमेंट को आसान बनाना ज़रूरी नहीं है. हालांकि, इसे शिपिंग से पहले सेट किया जाना चाहिए. |
rename_files
|
default = {} एक्सट्रैक्शन के दौरान नाम बदलने वाली फ़ाइलों के बारे में बताने वाला एक वैकल्पिक डिक्शनरी. किसी कुंजी से पूरी तरह मेल खाने वाले नामों वाली संग्रह एंट्री का नाम बदलकर, वैल्यू के तौर पर सेट कर दिया जाएगा. ऐसा, डायरेक्ट्री प्रीफ़िक्स अडजस्टमेंट से पहले किया जाएगा. इसका इस्तेमाल, ऐसे संग्रह को एक्सट्रैक्ट करने के लिए किया जा सकता है जिनमें गैर-यूनिकोड फ़ाइल नाम होते हैं या जिनमें ऐसी फ़ाइलें होती हैं जो केस-इनसेंसिटिव फ़ाइल सिस्टम के उसी पाथ पर ले जाती हैं. |
लागू करना
exec_result repository_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")
timeout
से तय होता है (सेकंड में, डिफ़ॉल्ट रूप से 600 सेकंड). यह तरीका, कमांड के आउटपुट वाला exec_result
स्ट्रक्चर दिखाता है. environment
मैप का इस्तेमाल, कुछ एनवायरमेंट वैरिएबल को बदलने के लिए किया जा सकता है, ताकि प्रोसेस को पास किया जा सके.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
arguments
|
ज़रूरी है आर्ग्युमेंट की सूची. सबसे पहले एलिमेंट का इस्तेमाल, प्रोग्राम का पाथ होना चाहिए. |
timeout
|
डिफ़ॉल्ट = 600 निर्देश की ज़्यादा से ज़्यादा अवधि सेकंड में हो सकती है (डिफ़ॉल्ट अवधि 600 सेकंड होती है). |
environment
|
default = {} कुछ एनवायरमेंट वैरिएबल को प्रोसेस में पास करने के लिए ज़बरदस्ती सेट करें. |
quiet
|
डिफ़ॉल्ट = सही अगर stdout और stderr को टर्मिनल पर प्रिंट किया जाना चाहिए. |
working_directory
|
डिफ़ॉल्ट = "" निर्देश लागू करने के लिए, वर्किंग डायरेक्ट्री. यह रिपॉज़िटरी रूट या ऐब्सलूट के हिसाब से हो सकता है. |
निकालें
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
|
default = {} एक्सट्रैक्शन के दौरान नाम बदलने वाली फ़ाइलों के बारे में बताने वाला एक वैकल्पिक डिक्शनरी. किसी कुंजी से पूरी तरह मेल खाने वाले नामों वाली संग्रह एंट्री का नाम बदलकर, वैल्यू के तौर पर सेट कर दिया जाएगा. ऐसा, डायरेक्ट्री प्रीफ़िक्स अडजस्टमेंट से पहले किया जाएगा. इसका इस्तेमाल, ऐसे संग्रह को एक्सट्रैक्ट करने के लिए किया जा सकता है जिनमें गैर-यूनिकोड फ़ाइल नाम होते हैं या जिनमें ऐसी फ़ाइलें होती हैं जो केस-इनसेंसिटिव फ़ाइल सिस्टम के उसी पाथ पर ले जाती हैं. |
फ़ाइल
None repository_ctx.file(path, content='', executable=True, legacy_utf8=True)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
path
|
string; or Label; or path ;
ज़रूरी हैरिपॉज़िटरी डायरेक्ट्री के हिसाब से, फ़ाइल बनाने का पाथ. |
content
|
डिफ़ॉल्ट = '' फ़ाइल की सामग्री बनाने के लिए, डिफ़ॉल्ट रूप से खाली होती है. |
executable
|
डिफ़ॉल्ट = सही बनाई गई फ़ाइल पर एक्ज़ीक्यूटेबल फ़्लैग को डिफ़ॉल्ट रूप से सही पर सेट करें. |
legacy_utf8
|
डिफ़ॉल्ट = सही फ़ाइल के कॉन्टेंट को UTF-8 में एन्कोड करें. यह डिफ़ॉल्ट रूप से सही होता है. आने वाले समय में डिफ़ॉल्ट सेटिंग, इस पैरामीटर को हटा देगी. |
नाम
string repository_ctx.name
os
repository_os repository_ctx.os
पैच
None repository_ctx.patch(patch_file, strip=0)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
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 ;
ज़रूरी हैवह पाथ जिस पर सिमलिंक को ले जाना चाहिए. |
link_name
|
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
|
default = {} टेंप्लेट को बड़ा करते समय किए जाने वाले विकल्प. |
executable
|
डिफ़ॉल्ट = सही बनाई गई फ़ाइल पर एक्ज़ीक्यूटेबल फ़्लैग को डिफ़ॉल्ट रूप से सही पर सेट करें. |
कौनसा
path repository_ctx.which(program)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
program
|
ज़रूरी है पाथ में ढूंढने के लिए प्रोग्राम करें. |
None
को वापस किया जा सकता है.
workspace_root
path repository_ctx.workspace_root