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