मॉड्यूल एक्सटेंशन का कॉन्टेक्स्ट, जिसमें हेल्पर फ़ंक्शन और डिपेंडेंसी ग्राफ़ में काम के टैग की जानकारी शामिल होती है. मॉड्यूल एक्सटेंशन बनाने पर, आपको implementation
फ़ंक्शन के आर्ग्युमेंट के तौर पर module_ctx ऑब्जेक्ट मिलता है.
सदस्य
- डाउनलोड करें
- download_and_extract
- execute
- extension_metadata
- फ़ाइल
- is_dev_dependency
- मॉड्यूल
- os
- path
- read
- report_progress
- root_module_has_non_dev_dependency
- which
डाउनलोड करें
struct module_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')
success
वाला स्ट्रक्चर दिखाता है. यह एक फ़्लैग होता है, जो true
होता है, अगर डाउनलोड पूरा हो जाता है. अगर डाउनलोड पूरा हो जाता है, तो sha256
और integrity
फ़ील्ड के साथ फ़ाइल का हैश दिखाता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
url
|
स्ट्रिंग या स्ट्रिंग की Iterable वैल्यू;
ज़रूरी है एक ही फ़ाइल का रेफ़रंस देने वाले मिरर यूआरएल की सूची. |
output
|
स्ट्रिंग; या लेबल; या पाथ;
डिफ़ॉल्ट रूप से '' होता है रिपॉज़िटरी डायरेक्ट्री के हिसाब से, आउटपुट फ़ाइल का पाथ. |
sha256
|
डिफ़ॉल्ट तौर पर, '' डाउनलोड की गई फ़ाइल का अनुमानित SHA-256 हैश. यह डाउनलोड की गई फ़ाइल के SHA-256 हैश से मेल खाना चाहिए. SHA-256 को हटाना सुरक्षा के लिहाज़ से जोखिम भरा है, क्योंकि रिमोट फ़ाइलों में बदलाव हो सकता है. इस फ़ील्ड को हटाने पर, आपका बिल्ड पूरी तरह से सुरक्षित नहीं रहेगा. डेवलपमेंट को आसान बनाने के लिए, यह विकल्प ज़रूरी नहीं है. हालांकि, इसे शिपिंग से पहले सेट किया जाना चाहिए. |
executable
|
डिफ़ॉल्ट रूप से False होता है बनाई गई फ़ाइल पर, 'चलाया जा सकता है' फ़्लैग सेट करें. यह डिफ़ॉल्ट रूप से गलत होता है. |
allow_fail
|
डिफ़ॉल्ट रूप से False पर सेट होता है अगर सेट किया जाता है, तो डाउनलोड न हो पाने की गड़बड़ी दिखाने के बजाय, रिटर्न वैल्यू में गड़बड़ी की जानकारी दें |
canonical_id
|
डिफ़ॉल्ट तौर पर '' है अगर यह सेट है, तो कैश मेमोरी में हिट करने की सुविधा को सिर्फ़ उन मामलों तक सीमित करें जहां फ़ाइल को कैश मेमोरी में उसी कैननिकल आईडी के साथ जोड़ा गया था |
auth
|
डिफ़ॉल्ट {} है यह एक वैकल्पिक डायक्शनरी है, जिसमें कुछ यूआरएल के लिए पुष्टि करने की जानकारी दी गई है. |
integrity
|
डिफ़ॉल्ट रूप से '' सब-सोर्स इंटिग्रिटी फ़ॉर्मैट में, डाउनलोड की गई फ़ाइल का अनुमानित चेकसम. यह डाउनलोड की गई फ़ाइल के चेकसम से मेल खाना चाहिए. चेकसम को हटाना सुरक्षा के लिहाज़ से जोखिम भरा है, क्योंकि रिमोट फ़ाइलों में बदलाव हो सकता है. इस फ़ील्ड को हटाने पर, आपका बिल्ड पूरी तरह से सुरक्षित नहीं रहेगा. डेवलपमेंट को आसान बनाने के लिए, यह विकल्प ज़रूरी नहीं है. हालांकि, इसे शिपिंग से पहले सेट किया जाना चाहिए. |
download_and_extract
struct module_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})
success
वाला स्ट्रक्चर दिखाता है. यह फ़्लैग, true
होता है, अगर डाउनलोड पूरा हो जाता है. अगर डाउनलोड पूरा हो जाता है, तो sha256
और integrity
फ़ील्ड के साथ फ़ाइल का हैश दिखाया जाता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
url
|
स्ट्रिंग या स्ट्रिंग की Iterable वैल्यू;
ज़रूरी है एक ही फ़ाइल का रेफ़रंस देने वाले मिरर यूआरएल की सूची. |
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
|
डिफ़ॉल्ट रूप से {} एक वैकल्पिक डिक्शनरी, जिसमें एक्सट्रैक्ट करने के दौरान फ़ाइलों के नाम बदलने के बारे में बताया गया है. किसी कीवर्ड से पूरी तरह मैच होने वाले नाम वाली संग्रहित एंट्री का नाम, डायरेक्ट्री के प्रीफ़िक्स में बदलाव करने से पहले, वैल्यू पर बदल दिया जाएगा. इसका इस्तेमाल उन संग्रहों को निकालने के लिए किया जा सकता है जिनमें यूनिकोड फ़ाइल नाम नहीं हैं या जिनमें ऐसी फ़ाइलें हैं जो केस-इनसेंसिटिव फ़ाइल सिस्टम पर एक ही पाथ में निकाली जाएंगी. |
execute
exec_result module_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
|
डिफ़ॉल्ट रूप से, यह "" होती है कमांड को लागू करने के लिए काम करने वाली डायरेक्ट्री. यह रिपॉज़िटरी रूट के हिसाब से या एब्सोलूट हो सकता है. |
extension_metadata
extension_metadata module_ctx.extension_metadata(root_module_direct_deps=None, root_module_direct_dev_deps=None)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
root_module_direct_deps
|
स्ट्रिंग या स्ट्रिंग या None का क्रम;
डिफ़ॉल्ट None हैउन रिपॉज़िटरी के नाम जिन्हें एक्सटेंशन, रूट मॉड्यूल की डायरेक्ट डिपेंडेंसी मानता है. अगर रूट मॉड्यूल, use_repo के ज़रिए अतिरिक्त रिपॉज़िटरी इंपोर्ट करता है या इन सभी रिपॉज़िटरी को इंपोर्ट नहीं करता है, तो एक्सटेंशन का आकलन करने पर Bazel, एक चेतावनी और ठीक करने का निर्देश प्रिंट करेगा.अगर
|
root_module_direct_dev_deps
|
स्ट्रिंग या स्ट्रिंग या None का क्रम;
डिफ़ॉल्ट तौर पर None उन रिपॉज़िटरी के नाम जिन्हें एक्सटेंशन, रूट मॉड्यूल की सीधे तौर पर डिवेलपर डिपेंडेंसी मानता है. अगर रूट मॉड्यूल, use_extension(..., dev_dependency = True) की मदद से बनाए गए एक्सटेंशन प्रॉक्सी पर use_repo के ज़रिए अतिरिक्त रिपॉज़िटरी इंपोर्ट करता है या इन सभी रिपॉज़िटरी को इंपोर्ट नहीं करता है, तो एक्सटेंशन का आकलन करने पर Bazel, चेतावनी और ठीक करने का निर्देश प्रिंट करेगा.अगर
|
फ़ाइल
None
module_ctx.file(path, content='', executable=True, legacy_utf8=True)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
path
|
स्ट्रिंग; या लेबल; या पाथ;
ज़रूरी रिपॉज़िटरी डायरेक्ट्री के हिसाब से, बनाई जाने वाली फ़ाइल का पाथ. |
content
|
डिफ़ॉल्ट तौर पर, '' वह कॉन्टेंट होता है जिसे फ़ाइल में जोड़ना है. यह डिफ़ॉल्ट रूप से खाली होता है. |
executable
|
डिफ़ॉल्ट तौर पर True होता है बनाई गई फ़ाइल पर, 'एक्सीक्यूटेबल' फ़्लैग सेट करें. यह डिफ़ॉल्ट रूप से 'सही' पर सेट होता है. |
legacy_utf8
|
डिफ़ॉल्ट True फ़ाइल के कॉन्टेंट को UTF-8 में बदलें. यह डिफ़ॉल्ट रूप से 'सही' पर सेट होता है. आने वाले वर्शन में, डिफ़ॉल्ट पैरामीटर बदल जाएगा और यह पैरामीटर हट जाएगा. |
is_dev_dependency
bool module_ctx.is_dev_dependency(tag)
devDependency = True
के साथ use_extension कॉल के नतीजे में, दिया गया टैग तय किया गया था या नहीं.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
tag
|
bazel_module_tag;
ज़रूरी है यह bazel_module.tags से मिला टैग है. |
मॉड्यूल
list module_ctx.modules
os
repository_os module_ctx.os
पाथ
path module_ctx.path(path)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
path
|
स्ट्रिंग; या लेबल; या पाथ;
ज़रूरी है वह स्ट्रिंग, लेबल या पाथ जिससे पाथ बनाना है |
पढ़ा गया
string module_ctx.read(path)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
path
|
स्ट्रिंग; या लेबल; या पाथ;
ज़रूरी है उस फ़ाइल का पाथ जिसे पढ़ना है. |
report_progress
None
module_ctx.report_progress(status='')
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
status
|
स्ट्रिंग;
डिफ़ॉल्ट तौर पर '' है फ़ेच की प्रोग्रेस की मौजूदा स्थिति बताने वाली स्ट्रिंग |
root_module_has_non_dev_dependency
bool module_ctx.root_module_has_non_dev_dependency
कौनसा
path module_ctx.which(program)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
program
|
ज़रूरी पाथ में ढूंढने के लिए प्रोग्राम. |
None
को वापस किया जा सकता है.