implementation
फ़ंक्शन के लिए repository_ctx ऑब्जेक्ट मिलता है.
सदस्य
- attr
- मिटाएं
- download
- download_and_extract
- execute
- extract
- file
- name
- os
- पैच
- पाथ
- पढ़ें
- 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
|
string; or Iterable of strings;
ज़रूरी है एक ही फ़ाइल का रेफ़रंस देने वाले मिरर यूआरएल की सूची. |
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
|
string; or Iterable of strings;
ज़रूरी है एक ही फ़ाइल का रेफ़रंस देने वाले मिरर यूआरएल की सूची. |
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;
required लागू करने के लिए पैच फ़ाइल. यह लेबल, रिलेटिव पाथ या ऐब्सलूट पाथ हो सकता है. अगर यह रिलेटिव पाथ है, तो यह रिपॉज़िटरी डायरेक्ट्री में बदल जाएगा. |
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;
required टेंप्लेट फ़ाइल का पाथ. |
substitutions
|
डिफ़ॉल्ट रूप से, {} टेंप्लेट को बड़ा करते समय किए जाने वाले बदलाव होते हैं. |
executable
|
डिफ़ॉल्ट रूप से True होता है बनाई गई फ़ाइल पर, एक्ज़ीक्यूटेबल फ़्लैग सेट करता है. डिफ़ॉल्ट रूप से यह सही होता है. |
कौनसा
path repository_ctx.which(program)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
program
|
ज़रूरी है पाथ में ढूंढने के लिए प्रोग्राम. |
None
मिल सकता है.
workspace_root
path repository_ctx.workspace_root