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