मॉड्यूल_टैब

समस्या की शिकायत करें सोर्स देखें

मॉड्यूल एक्सटेंशन का संदर्भ, जिसमें हेल्पर फ़ंक्शन और डिपेंडेंसी ग्राफ़ में ज़रूरी टैग के बारे में जानकारी शामिल है. मॉड्यूल एक्सटेंशन बनाते समय, आपको implementation फ़ंक्शन में आर्ग्युमेंट के तौर पर एक मॉड्यूल_टैब ऑब्जेक्ट मिलता है.

पैसे चुकाकर बने सदस्य

डाउनलोड करें

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 डिफ़ॉल्ट = गलत
बनाई गई फ़ाइल पर एक्ज़ीक्यूटेबल फ़्लैग सेट करें, डिफ़ॉल्ट रूप से गलत पर सेट करें.
allow_fail डिफ़ॉल्ट = गलत
अगर सेट है, तो फ़ेल हो चुके डाउनलोड के लिए गड़बड़ी दर्ज करने के बजाय, रिटर्न वैल्यू में गड़बड़ी दिखाएं
canonical_id डिफ़ॉल्ट = ''
अगर सेट किया जाता है, तो कैश हिट को उन मामलों में सीमित करें जहां फ़ाइल को एक ही कैननिकल आईडी वाली कैश मेमोरी में जोड़ा गया था
auth डिफ़ॉल्ट = {}
एक वैकल्पिक शब्द है, जो कुछ यूआरएल के लिए पुष्टि करने की जानकारी देता है.
integrity डिफ़ॉल्ट = ''
डाउनलोड की गई फ़ाइल का अपेक्षित चेकसम यह डाउनलोड की गई फ़ाइल के चेकसम से मेल खाना चाहिए. रिमोट फ़ाइलें बदलने के दौरान, चेकसम को छोड़ देना एक सुरक्षा जोखिम है. इस फ़ील्ड को सबसे ज़्यादा मिटाने से यह काम आसान नहीं होता. डेवलपमेंट को आसान बनाना ज़रूरी नहीं है. हालांकि, शिपिंग से पहले इसे सेट किया जाना चाहिए.

डाउनलोड_और_एक्सट्रैक्ट करें

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 डिफ़ॉल्ट = ''
डाउनलोड की गई फ़ाइल का संग्रह टाइप. डिफ़ॉल्ट रूप से, संग्रहित करने का तरीका यूआरएल के फ़ाइल एक्सटेंशन से तय होता है. अगर फ़ाइल में कोई एक्सटेंशन नहीं है, तो "zip", "j अपने", "वार", "ar", "tar"g", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".tbz", ".ar" या ".de" को साफ़ तौर पर बताया जा सकता है.
stripPrefix डिफ़ॉल्ट = ''
निकाली गई फ़ाइलों से स्ट्रिप निकालने के लिए डायरेक्ट्री प्रीफ़िक्स. कई संग्रहों में एक टॉप-लेवल की डायरेक्ट्री होती है, जिसमें संग्रह की सभी फ़ाइलें होती हैं. build_file में इस प्रीफ़िक्स को दिखाने की ज़रूरत नहीं होती है. हालांकि, इस फ़ील्ड का इस्तेमाल, निकाली गई फ़ाइलों से बार-बार हटाने के लिए किया जा सकता है.
allow_fail डिफ़ॉल्ट = गलत
अगर सेट है, तो फ़ेल हो चुके डाउनलोड के लिए गड़बड़ी दर्ज करने के बजाय, रिटर्न वैल्यू में गड़बड़ी दिखाएं
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 डिफ़ॉल्ट = सही
अगर stdout और stderr को टर्मिनल पर प्रिंट किया जाना चाहिए.
working_directory डिफ़ॉल्ट = ""
कमांड एक्ज़ीक्यूशन के लिए डायरेक्ट्री. डेटा स्टोर करने की जगह के रूट या ऐब्सलूट रेफ़रंस में दिखाया जा सकता है.

फ़ाइल

None module_ctx.file(path, content='', executable=True, legacy_utf8=True)

दिए गए कॉन्टेंट के साथ रिपॉज़िटरी डायरेक्ट्री में एक फ़ाइल जनरेट करता है.

पैरामीटर

पैरामीटर जानकारी
path string; or Label; or path; रिपॉज़िटरी डायरेक्ट्री के हिसाब से, फ़ाइल बनाने के लिए
पाथ की ज़रूरत होती है.
content डिफ़ॉल्ट = ''
बनाई जाने वाली फ़ाइल का कॉन्टेंट, डिफ़ॉल्ट रूप से खाली होता है.
executable डिफ़ॉल्ट = True
बनाई गई फ़ाइल पर एक्ज़ीक्यूटेबल फ़्लैग सेट करें, डिफ़ॉल्ट रूप से सही.
legacy_utf8 डिफ़ॉल्ट = True
फ़ाइल के कॉन्टेंट को UTF-8 में एन्कोड करें, जो डिफ़ॉल्ट रूप से सही होता है. आने वाले वर्शन डिफ़ॉल्ट तौर पर बदल जाएंगे और इस पैरामीटर को हटा देंगे.

is_dev_डिपेंडेंसी

bool module_ctx.is_dev_dependency(tag)

इससे पता चलता है कि दिया गया टैग, devDependency = True के साथ use_extensions कॉल के नतीजे में तय हुआ था या नहीं.

पैरामीटर

पैरामीटर जानकारी
tag bazel_module_tag ज़रूरी है
bazel_module.tag से मिला टैग.

मॉड्यूल

list module_ctx.modules

एक्सटर्नल डिपेंडेंसी ग्राफ़ में मौजूद सभी Bazel मॉड्यूल की सूची. हर मॉड्यूल bazel_module ऑब्जेक्ट है, जो उन सभी टैग को दिखाता है जो इस मॉड्यूल एक्सटेंशन के लिए तय किए गए हैं. इस शब्दकोश के इटरेशन ऑर्डर को रूट मॉड्यूल से शुरू करके, ब्रैथ-फ़र्स्ट सर्च करने की गारंटी दी जाती है.

ओएस

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 पाथ
ज़रूरी है.

रिपोर्ट_प्रगति

None module_ctx.report_progress(status='')

इस रिपॉज़िटरी या मॉड्यूल एक्सटेंशन को फ़ेच करने की प्रोसेस की स्थिति को अपडेट करता है

पैरामीटर

पैरामीटर जानकारी
status string: डिफ़ॉल्ट = ''
स्ट्रिंग, फ़ेच करने की स्थिति की मौजूदा स्थिति बताती है

कौनसा

path module_ctx.which(program)

पाथ में कोई प्रोग्राम न होने पर, उससे जुड़े प्रोग्राम का पाथ या 'कोई नहीं' दिखाता है.

पैरामीटर

पैरामीटर जानकारी
program ज़रूरी है
पाथ में ढूंढने के लिए प्रोग्राम.
None वापस किया जा सकता है.