implementation
फ़ंक्शन में आर्ग्युमेंट के तौर पर मॉड्यूल_ctx ऑब्जेक्ट मिलता है.
पैसे चुकाकर बने सदस्यों के लिए
- डाउनलोड करें
- download_and_extract
- execute
- extension_metadata
- फ़ाइल
- 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; or Label; or path ;
रिपॉज़िटरी डायरेक्ट्री से संबंधित, आउटपुट फ़ाइल का डिफ़ॉल्ट = ''पाथ. |
sha256
|
डिफ़ॉल्ट = '' डाउनलोड की गई फ़ाइल का अनुमानित SHA-256 हैश. यह डाउनलोड की गई फ़ाइल के SHA-256 हैश से मेल खाना चाहिए. SHA-256 को छोड़ना सुरक्षा जोखिम है, क्योंकि रिमोट फ़ाइलें बदल सकती हैं. इस फ़ील्ड को छोड़ने पर, आपका बिल्ड नॉन-हेरमेटिक बन जाएगा. प्रॉडक्ट को आसानी से डेवलप करने के लिए, इसे सेट करना ज़रूरी नहीं है. हालांकि, इसे शिपिंग से पहले सेट किया जाना चाहिए. |
executable
|
default = False बनाई गई फ़ाइल पर एक्ज़ीक्यूटेबल फ़्लैग को डिफ़ॉल्ट रूप से 'गलत' पर सेट करें. |
allow_fail
|
डिफ़ॉल्ट = गलत है अगर इसे सेट किया जाता है, तो पूरे न हो पाने वाले डाउनलोड के लिए गड़बड़ी बढ़ाने के बजाय रिटर्न वैल्यू में गड़बड़ी की जानकारी दें |
canonical_id
|
डिफ़ॉल्ट = '' अगर सेट है, तो कैश हिट को उन मामलों तक सीमित करें जहां फ़ाइल को उसी कैननिकल आईडी के साथ कैश में जोड़ा गया था |
auth
|
default = {} यह एक वैकल्पिक वाक्य है. इसमें कुछ यूआरएल की पुष्टि करने की जानकारी दी जाती है. |
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; or Label; or path ;
डिफ़ॉल्ट = ''उस डायरेक्ट्री का पाथ जहां संग्रह को अनपैक किया जाएगा. यह रिपॉज़िटरी डायरेक्ट्री से मेल खाता है. |
sha256
|
डिफ़ॉल्ट = '' डाउनलोड की गई फ़ाइल का अनुमानित SHA-256 हैश. यह डाउनलोड की गई फ़ाइल के SHA-256 हैश से मेल खाना चाहिए. SHA-256 को छोड़ना सुरक्षा जोखिम है, क्योंकि रिमोट फ़ाइलें बदल सकती हैं. इस फ़ील्ड को छोड़ने पर, आपका बिल्ड नॉन-हेरमेटिक बन जाएगा. प्रॉडक्ट को आसानी से डेवलप करने के लिए, इसे सेट करना ज़रूरी नहीं है. हालांकि, इसे शिपिंग से पहले सेट किया जाना चाहिए. अगर यह उपलब्ध कराया जाता है, तो डेटा स्टोर करने की जगह की कैश मेमोरी की जांच, पहले दी गई हैश वाली फ़ाइल के लिए की जाएगी. डाउनलोड करने की कोशिश सिर्फ़ तब की जाएगी, जब कैश मेमोरी में फ़ाइल न मिली हो. डाउनलोड होने के बाद, फ़ाइल को कैश मेमोरी में जोड़ दिया जाएगा. |
type
|
default = '' डाउनलोड की गई फ़ाइल का संग्रह टाइप है. डिफ़ॉल्ट रूप से, संग्रह का टाइप यूआरएल के फ़ाइल एक्सटेंशन से तय होता है. अगर फ़ाइल का कोई एक्सटेंशन मौजूद नहीं है, तो यहां "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
|
default = {} यह एक वैकल्पिक वाक्य है. इसमें कुछ यूआरएल की पुष्टि करने की जानकारी दी जाती है. |
integrity
|
डिफ़ॉल्ट = '' सबरिसॉर्स इंटिग्रिटी फ़ॉर्मैट में, डाउनलोड की गई फ़ाइल का अनुमानित चेकसम. यह डाउनलोड की गई फ़ाइल के चेकसम से मेल खाना चाहिए. चेकसम को छोड़ना एक सुरक्षा जोखिम है, क्योंकि रिमोट फ़ाइलें बदल सकती हैं. इस फ़ील्ड को छोड़ने पर, आपका बिल्ड नॉन-हेरमेटिक बन जाएगा. प्रॉडक्ट को आसानी से डेवलप करने के लिए, इसे सेट करना ज़रूरी नहीं है. हालांकि, इसे शिपिंग से पहले सेट किया जाना चाहिए. |
rename_files
|
default = {} यह वैकल्पिक निर्देश है. इसमें एक्सट्रैक्शन के दौरान फ़ाइलों के नाम बदलने होते हैं. जिन संग्रहित एंट्री के नाम किसी कुंजी से पूरी तरह मेल खाते हैं उनका नाम बदलकर, वैल्यू के नाम कर दिया जाएगा. ऐसा डायरेक्ट्री प्रीफ़िक्स अडजस्टमेंट से पहले होगा. इसका इस्तेमाल ऐसे संग्रहों को एक्सट्रैक्ट करने के लिए किया जा सकता है जिनमें बिना यूनिकोड फ़ाइल नाम वाले फ़ाइल नाम हों या जिनमें ऐसी फ़ाइलें हों जो केस-इनसेंसिटिव फ़ाइल सिस्टम पर उसी पाथ पर ले जाएंगी. |
execute
exec_result module_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")तर्कों की सूची से दिए गए निर्देश को एक्ज़ीक्यूट करता है. इस निर्देश को चलाने का समय
timeout
(सेकंड में, डिफ़ॉल्ट रूप से 600 सेकंड) से सीमित है. यह तरीका ऐसा exec_result
स्ट्रक्चर दिखाता है जिसमें कमांड का आउटपुट शामिल होता है. environment
मैप का इस्तेमाल करके, प्रोसेस को पास किए जाने वाले कुछ एनवायरमेंट वैरिएबल को बदला जा सकता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
arguments
|
ज़रूरी है आर्ग्युमेंट की सूची. पहला एलिमेंट, प्रोग्राम का पाथ होना चाहिए. |
timeout
|
डिफ़ॉल्ट = 600 निर्देश की ज़्यादा से ज़्यादा अवधि सेकंड में (डिफ़ॉल्ट अवधि 600 सेकंड है). |
environment
|
default = {} कुछ एनवायरमेंट वैरिएबल को हर हाल में, प्रोसेस में पास किए जाने के लिए सेट करें. |
quiet
|
default = True अगर टर्मिनल पर stdout और stderr प्रिंट करना है. |
working_directory
|
default = "" कमांड एक्ज़ीक्यूशन के लिए वर्किंग डायरेक्ट्री. यह रिपॉज़िटरी के रूट या ऐब्सलूट, में से एक के बराबर हो सकता है. |
extension_metadata
extension_metadata module_ctx.extension_metadata(root_module_direct_deps=None, root_module_direct_dev_deps=None)यह एक ओपेक ऑब्जेक्ट बनाता है, जिसे मॉड्यूल एक्सटेंशन के लागू करने वाले फ़ंक्शन से दिखाया जा सकता है. इससे Bazel को एक्सटेंशन से जनरेट किए गए डेटा स्टोर करने की जगहों के बारे में मेटाडेटा देने में मदद मिलती है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
root_module_direct_deps
|
sequence of strings; or string; or None ;
डिफ़ॉल्ट = कोई नहींडेटा स्टोर करने की उन जगहों के नाम जिन्हें एक्सटेंशन, रूट मॉड्यूल की डायरेक्ट डिपेंडेंसी मानता है. अगर रूट मॉड्यूल, डेटा स्टोर करने की अतिरिक्त जगहों को इंपोर्ट करता है या use_repo की मदद से, डेटा स्टोर करने की इन सभी जगहों को इंपोर्ट नहीं करता है, तो एक्सटेंशन का आकलन होने के दौरान, Bazel चेतावनी और सुधार का निर्देश प्रिंट करेगा.अगर
|
root_module_direct_dev_deps
|
sequence of strings; or string; or None ;
डिफ़ॉल्ट = कोई नहींडेटा स्टोर करने की उन जगहों के नाम जिन्हें एक्सटेंशन, रूट मॉड्यूल की डायरेक्ट डेवलपर डिपेंडेंसी मानता है. अगर रूट मॉड्यूल, डेटा स्टोर करने की अतिरिक्त जगहों को इंपोर्ट करता है या use_extension(..., dev_dependency = True) की मदद से बनाए गए एक्सटेंशन प्रॉक्सी पर, use_repo की मदद से इन सभी डेटा स्टोर करने की जगहों को इंपोर्ट नहीं करता है, तो एक्सटेंशन का आकलन होने पर, Bazel चेतावनी और फ़िक्सअप निर्देश प्रिंट करेगा.अगर
|
फ़ाइल
None module_ctx.file(path, content='', executable=True, legacy_utf8=True)उपलब्ध कराए गए कॉन्टेंट के साथ, डेटा स्टोर करने की जगह की डायरेक्ट्री में एक फ़ाइल जनरेट करता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
path
|
string; or Label; or path ;
बनाने के लिए फ़ाइल कापाथ, रिपॉज़िटरी डायरेक्ट्री के हिसाब से ज़रूरी है. |
content
|
डिफ़ॉल्ट = '' बनाई जाने वाली फ़ाइल का कॉन्टेंट, डिफ़ॉल्ट रूप से खाली होता है. |
executable
|
default = 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बाहरी डिपेंडेंसी ग्राफ़ में सभी Bazel मॉड्यूल की सूची, जो इस मॉड्यूल एक्सटेंशन का इस्तेमाल करते हैं. इनमें से हर एक bazel_module ऑब्जेक्ट है, जो इस एक्सटेंशन के लिए तय किए गए सभी टैग दिखाता है. इस शब्दकोश के दोहराव का क्रम, रूट मॉड्यूल से शुरू होने वाली ब्रेड-फ़र्स्ट खोज के समान रहेगा.
os
repository_os module_ctx.osसिस्टम से जानकारी ऐक्सेस करने का निर्देश.
पाथ
path module_ctx.path(path)किसी स्ट्रिंग, लेबल या पाथ से पाथ दिखाता है. अगर पाथ रिलेटिव है, तो वह रिपॉज़िटरी डायरेक्ट्री के हिसाब से रिज़ॉल्व होगा. अगर पाथ कोई लेबल है, तो यह उससे जुड़ी फ़ाइल के पाथ में ले जाएगा. ध्यान दें कि विश्लेषण के दौरान, रिमोट डेटा स्टोर करने की जगहें एक्ज़ीक्यूट की जाती हैं. इसलिए, ये टारगेट के नतीजे पर निर्भर नहीं होते. इसलिए, लेबल को किसी ऐसी फ़ाइल पर ले जाना चाहिए जो जनरेट नहीं की गई हो. अगर पाथ एक पाथ है, तो यह वही दिखाएगा.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
path
|
string; or Label; or path ;
ज़रूरीवह स्ट्रिंग, लेबल या पाथ जिससे पाथ बनाना है |
पढ़ना
string module_ctx.read(path)फ़ाइल सिस्टम में मौजूद किसी फ़ाइल के कॉन्टेंट को पढ़ता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
path
|
string; or Label; or 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
वापस किया जा सकता है.