implementation फ़ंक्शन के लिए तर्क के तौर पर repository_ctx ऑब्जेक्ट मिलता है.
सदस्य
- attr
- मिटाएं
- download
- download_and_extract
- execute
- extract
- फ़ाइल
- name
- os
- पैच
- path
- पढ़ें
- report_progress
- symlink
- template
- कौनसी
- workspace_root
attr
struct repository_ctx.attr
मिटाएं
bool repository_ctx.delete(path)
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
path
|
string; या path;
required मिटाई जाने वाली फ़ाइल का पाथ. यह रिपॉज़िटरी डायरेक्ट्री के हिसाब से रेलेटिव पाथ या ऐब्सलूट पाथ हो सकता है. यह पाथ या स्ट्रिंग हो सकता है. |
डाउनलोड करें
struct repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')
success शामिल होता है. यह एक फ़्लैग है. अगर डाउनलोड पूरा हो जाता है, तो इसकी वैल्यू true होती है. अगर डाउनलोड पूरा हो जाता है, तो यह फ़ाइल का हैश दिखाता है. इसमें sha256 और integrity फ़ील्ड होते हैं.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
url
|
स्ट्रिंग; या स्ट्रिंग का इटरेबल;
ज़रूरी है एक ही फ़ाइल का रेफ़रंस देने वाले मिरर यूआरएल की सूची. |
output
|
string; या Label; या path;
डिफ़ॉल्ट वैल्यू ''है डेटाबेस डायरेक्ट्री के हिसाब से आउटपुट फ़ाइल का पाथ. |
sha256
|
डिफ़ॉल्ट वैल्यू ''है डाउनलोड की गई फ़ाइल का SHA-256 हैश. यह डाउनलोड की गई फ़ाइल के SHA-256 हैश से मेल खाना चाहिए. SHA-256 को शामिल न करने से सुरक्षा से जुड़ी समस्या हो सकती है, क्योंकि रिमोट फ़ाइलें बदल सकती हैं. इस फ़ील्ड को शामिल न करने से, आपका बिल्ड नॉन-हर्मेटिक हो जाएगा. इससे डेवलपमेंट को आसान बनाने में मदद मिलती है. हालांकि, शिपिंग से पहले इसे सेट करना ज़रूरी है. |
executable
|
डिफ़ॉल्ट वैल्यू Falseहै यह फ़्लैग, बनाई गई फ़ाइल पर एक्ज़ीक्यूटेबल फ़्लैग सेट करता है. डिफ़ॉल्ट रूप से इसकी वैल्यू 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
|
स्ट्रिंग; या स्ट्रिंग का इटरेबल;
ज़रूरी है एक ही फ़ाइल का रेफ़रंस देने वाले मिरर यूआरएल की सूची. |
output
|
string; या Label; या 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", ".tbz", ".ar" या ".deb" में से कोई एक एक्सटेंशन साफ़ तौर पर बताया जा सकता है. |
stripPrefix
|
डिफ़ॉल्ट रूप से, ''एक डायरेक्ट्री प्रीफ़िक्स होता है, जिसे निकाली गई फ़ाइलों से हटा दिया जाता है. कई संग्रहों में सबसे ऊपर के लेवल की डायरेक्ट्री होती है. इसमें संग्रह की सभी फ़ाइलें शामिल होती हैं. build_file में इस प्रीफ़िक्स को बार-बार तय करने के बजाय, इस फ़ील्ड का इस्तेमाल करके इसे निकाली गई फ़ाइलों से हटाया जा सकता है.
|
allow_fail
|
डिफ़ॉल्ट वैल्यू Falseहै अगर यह वैल्यू सेट है, तो डाउनलोड नहीं हो पाने की वजह से गड़बड़ी दिखाने के बजाय, दिखाई गई वैल्यू में गड़बड़ी के बारे में बताएं |
canonical_id
|
डिफ़ॉल्ट वैल्यू '' हैअगर यह विकल्प सेट किया जाता है, तो कैश मेमोरी से फ़ाइलें सिर्फ़ उन मामलों में मिलेंगी जहां फ़ाइल को एक ही कैननिकल आईडी के साथ कैश मेमोरी में जोड़ा गया था |
auth
|
डिफ़ॉल्ट वैल्यू {}है यह एक वैकल्पिक डिक्शनरी है. इसमें कुछ यूआरएल के लिए पुष्टि करने की जानकारी दी जाती है. |
integrity
|
डिफ़ॉल्ट वैल्यू ''है डाउनलोड की गई फ़ाइल का, सबरिसॉर्स इंटिग्रिटी फ़ॉर्मैट में अनुमानित चेकसम. यह डाउनलोड की गई फ़ाइल के चेकसम से मेल खाना चाहिए. चेकसम को शामिल न करने से सुरक्षा से जुड़ी समस्या हो सकती है, क्योंकि रिमोट फ़ाइलें बदल सकती हैं. इस फ़ील्ड को शामिल न करने से, आपका बिल्ड नॉन-हर्मेटिक हो जाएगा. इससे डेवलपमेंट को आसान बनाने में मदद मिलती है. हालांकि, शिपिंग से पहले इसे सेट करना ज़रूरी है. |
rename_files
|
डिफ़ॉल्ट तौर पर {}होता है यह एक वैकल्पिक डिक्शनरी है. इसमें उन फ़ाइलों के बारे में बताया जाता है जिनका नाम एक्सट्रैक्शन के दौरान बदलना है. किसी कुंजी से पूरी तरह मेल खाने वाले नाम वाली एंट्री को वैल्यू के तौर पर बदला जाएगा. ऐसा डायरेक्ट्री के प्रीफ़िक्स में किसी भी तरह के बदलाव से पहले किया जाएगा. इसका इस्तेमाल उन संग्रहों को निकालने के लिए किया जा सकता है जिनमें नॉन-यूनिकोड फ़ाइलनाम होते हैं या जिनमें ऐसी फ़ाइलें होती हैं जो केस-इनसेंसिटिव फ़ाइल सिस्टम पर एक ही पाथ पर एक्सट्रैक्ट होती हैं. |
लागू करना
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;
required यह उस संग्रह का पाथ होता है जिसे अनपैक किया जाएगा. यह पाथ, डेटाबेस डायरेक्ट्री के हिसाब से होता है. |
output
|
string; या Label; या path;
डिफ़ॉल्ट वैल्यू ''है यह उस डायरेक्ट्री का पाथ है जहां संग्रह को अनपैक किया जाएगा. यह पाथ, डेटाबेस डायरेक्ट्री के हिसाब से होता है. |
stripPrefix
|
डिफ़ॉल्ट रूप से, ''एक डायरेक्ट्री प्रीफ़िक्स होता है, जिसे निकाली गई फ़ाइलों से हटा दिया जाता है. कई संग्रहों में सबसे ऊपर के लेवल की डायरेक्ट्री होती है. इसमें संग्रह की सभी फ़ाइलें शामिल होती हैं. build_file में इस प्रीफ़िक्स को बार-बार तय करने के बजाय, इस फ़ील्ड का इस्तेमाल करके इसे निकाली गई फ़ाइलों से हटाया जा सकता है.
|
rename_files
|
डिफ़ॉल्ट तौर पर {}होता है यह एक वैकल्पिक डिक्शनरी है. इसमें उन फ़ाइलों के बारे में बताया जाता है जिनका नाम एक्सट्रैक्शन के दौरान बदलना है. किसी कुंजी से पूरी तरह मेल खाने वाले नाम वाली एंट्री को वैल्यू के तौर पर बदला जाएगा. ऐसा डायरेक्ट्री के प्रीफ़िक्स में किसी भी तरह के बदलाव से पहले किया जाएगा. इसका इस्तेमाल उन संग्रहों को निकालने के लिए किया जा सकता है जिनमें नॉन-यूनिकोड फ़ाइलनाम होते हैं या जिनमें ऐसी फ़ाइलें होती हैं जो केस-इनसेंसिटिव फ़ाइल सिस्टम पर एक ही पाथ पर एक्सट्रैक्ट होती हैं. |
फ़ाइल
None repository_ctx.file(path, content='', executable=True, legacy_utf8=True)पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
path
|
string; या Label; या path;
required repository directory के हिसाब से, बनाई जाने वाली फ़ाइल का पाथ. |
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)पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
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;
required यह रिपॉज़िटरी डायरेक्ट्री के हिसाब से, बनाए जाने वाले सिमलंक का पाथ होता है. |
टेंप्लेट
None repository_ctx.template(path, template, substitutions={}, executable=True)template का इस्तेमाल करके, नई फ़ाइल जनरेट करता है. template में मौजूद substitutions की हर कुंजी को उसकी वैल्यू से बदल दिया जाएगा. नतीजा path में लिखा गया है. वैकल्पिकexecutable आर्ग्युमेंट (डिफ़ॉल्ट रूप से सही पर सेट होता है) को, एक्ज़ीक्यूटेबल बिट को चालू या बंद करने के लिए सेट किया जा सकता है.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
path
|
string; या Label; या path;
required repository directory के हिसाब से, बनाई जाने वाली फ़ाइल का पाथ. |
template
|
string; या Label; या path;
ज़रूरी है टेंप्लेट फ़ाइल का पाथ. |
substitutions
|
डिफ़ॉल्ट वैल्यू {}है टेंप्लेट को बड़ा करते समय किए जाने वाले बदलाव. |
executable
|
डिफ़ॉल्ट वैल्यू Trueहै यह बनाई गई फ़ाइल पर एक्ज़ीक्यूटेबल फ़्लैग सेट करती है. डिफ़ॉल्ट रूप से, यह 'सही' पर सेट होती है. |
कौनसा
path repository_ctx.which(program)
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
program
|
ज़रूरी है पाथ में ढूंढने के लिए प्रोग्राम. |
None को वापस किया जा सकता है.
workspace_root
path repository_ctx.workspace_root