implementation
फ़ंक्शन के लिए आर्ग्युमेंट के तौर पर module_ctx ऑब्जेक्ट मिलता है.
सदस्य
- download
- download_and_extract
- execute
- extension_metadata
- file
- is_dev_dependency
- मॉड्यूल
- os
- पाथ
- पढ़ें
- report_progress
- root_module_has_non_dev_dependency
- कौनसा
डाउनलोड करें
struct module_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 module_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 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
|
sequence of strings; या string; या None ;
डिफ़ॉल्ट रूप से None होता है उन रिपॉज़िटरी के नाम जिन्हें एक्सटेंशन, रूट मॉड्यूल की डायरेक्ट डिपेंडेंसी मानता है. अगर रूट मॉड्यूल, अन्य रिपॉज़िटरी इंपोर्ट करता है या use_repo के ज़रिए इन सभी रिपॉज़िटरी को इंपोर्ट नहीं करता है, तो एक्सटेंशन का आकलन करते समय Bazel एक चेतावनी और फ़िक्सअप कमांड प्रिंट करेगा.अगर
|
root_module_direct_dev_deps
|
sequence of strings; या string; या None ;
डिफ़ॉल्ट रूप से None होता है उन रिपॉज़िटरी के नाम जिन्हें एक्सटेंशन, रूट मॉड्यूल की डायरेक्ट डेवलपमेंट डिपेंडेंसी मानता है. अगर रूट मॉड्यूल, अन्य रिपॉज़िटरी इंपोर्ट करता है या use_extension(..., dev_dependency = True) की मदद से बनाए गए एक्सटेंशन प्रॉक्सी पर use_repo के ज़रिए इन सभी रिपॉज़िटरी को इंपोर्ट नहीं करता है, तो एक्सटेंशन का आकलन करते समय Bazel एक चेतावनी और फ़िक्सअप कमांड प्रिंट करेगा.अगर
|
फ़ाइल
None
module_ctx.file(path, content='', executable=True, legacy_utf8=True)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
path
|
string; या Label; या path;
required repository directory के हिसाब से, बनाई जाने वाली फ़ाइल का पाथ. |
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;
required A tag obtained from bazel_module.tags. |
मॉड्यूल
list module_ctx.modules
os
repository_os module_ctx.os
पाथ
path module_ctx.path(path)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
path
|
string; या Label; या path;
ज़रूरी है स्ट्रिंग, लेबल या पाथ जिससे पाथ बनाना है |
पढ़ा गया
string module_ctx.read(path)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
path
|
string; या Label; या path;
ज़रूरी है वह पाथ जहां से फ़ाइल को पढ़ा जाना है. |
report_progress
None
module_ctx.report_progress(status='')
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
status
|
string;
डिफ़ॉल्ट तौर पर '' होता है फ़ेच करने की प्रोसेस की मौजूदा स्थिति के बारे में बताने वाली स्ट्रिंग |
root_module_has_non_dev_dependency
bool module_ctx.root_module_has_non_dev_dependency
कौनसा
path module_ctx.which(program)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
program
|
ज़रूरी है पाथ में ढूंढने के लिए प्रोग्राम. |
None
मिल सकता है.