मॉड्यूल_टैब

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

सदस्य

डाउनलोड करें

unknown module_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', block=True)

यह फ़ंक्शन, दिए गए यूआरएल के लिए आउटपुट पाथ पर एक फ़ाइल डाउनलोड करता है. साथ ही, एक स्ट्रक्चर दिखाता है. इसमें success शामिल होता है. यह एक फ़्लैग है. अगर डाउनलोड पूरा हो जाता है, तो इसकी वैल्यू true होती है. अगर डाउनलोड पूरा हो जाता है, तो इसमें फ़ाइल का हैश भी शामिल होता है. इसमें sha256 और integrity फ़ील्ड होते हैं. जब उपयोगकर्ता sha256 या integrity की वैल्यू तय करता है, तब canonical_id की वैल्यू साफ़ तौर पर सेट करने का सुझाव दिया जाता है. उदाहरण के लिए, get_default_canonical_id

पैरामीटर

पैरामीटर ब्यौरा
url string; या strings का Iterable; ज़रूरी है
एक ही फ़ाइल का रेफ़रंस देने वाले मिरर यूआरएल की सूची.
output string; या Label; या path; डिफ़ॉल्ट रूप से ''
होता है डेटाबेस डायरेक्ट्री के हिसाब से आउटपुट फ़ाइल का पाथ.
sha256 डिफ़ॉल्ट वैल्यू ''
है डाउनलोड की गई फ़ाइल का SHA-256 हैश. यह डाउनलोड की गई फ़ाइल के SHA-256 हैश से मेल खाना चाहिए. SHA-256 को शामिल न करने से सुरक्षा से जुड़ी समस्या हो सकती है, क्योंकि रिमोट फ़ाइलें बदल सकती हैं. इस फ़ील्ड को शामिल न करने से, आपका बिल्ड नॉन-हर्मेटिक हो जाएगा. इससे डेवलपमेंट को आसान बनाने में मदद मिलती है. हालांकि, शिपिंग से पहले इसे सेट करना ज़रूरी है. अगर हैश दिया गया है, तो रिपॉज़िटरी की कैश मेमोरी में दिए गए हैश वाली फ़ाइल की जांच की जाएगी. फ़ाइल को सिर्फ़ तब डाउनलोड करने की कोशिश की जाएगी, जब वह कैश मेमोरी में न मिले. डाउनलोड हो जाने के बाद, फ़ाइल को कैश मेमोरी में जोड़ दिया जाएगा.
executable डिफ़ॉल्ट वैल्यू False
है यह फ़्लैग, बनाई गई फ़ाइल पर एक्ज़ीक्यूटेबल फ़्लैग सेट करता है. डिफ़ॉल्ट रूप से, इसकी वैल्यू false होती है.
allow_fail डिफ़ॉल्ट रूप से False
पर सेट होता है इस विकल्प को सेट करने पर, डाउनलोड फ़ेल होने पर गड़बड़ी दिखाने के बजाय, रिटर्न वैल्यू में गड़बड़ी दिखाई जाती है.
canonical_id डिफ़ॉल्ट वैल्यू '' है
अगर यह विकल्प सेट किया जाता है, तो कैश मेमोरी से फ़ाइलें सिर्फ़ उन मामलों में मिलेंगी जहां फ़ाइल को एक ही कैननिकल आईडी के साथ कैश मेमोरी में जोड़ा गया था. डिफ़ॉल्ट रूप से, कैश मेमोरी में सेव करने के लिए चेकसम (sha256 या integrity) का इस्तेमाल किया जाता है.
auth डिफ़ॉल्ट वैल्यू {}
है यह एक वैकल्पिक डिक्शनरी है. इसमें कुछ यूआरएल के लिए पुष्टि करने की जानकारी दी जाती है.
headers डिफ़ॉल्ट तौर पर {}
होता है यह एक वैकल्पिक डिक्शनरी है. इसमें सभी यूआरएल के लिए एचटीटीपी हेडर की जानकारी दी जाती है.
integrity डिफ़ॉल्ट वैल्यू ''
है डाउनलोड की गई फ़ाइल का, सबरिसॉर्स इंटिग्रिटी फ़ॉर्मैट में अनुमानित चेकसम. यह डाउनलोड की गई फ़ाइल के चेकसम से मेल खाना चाहिए. चेकसम को शामिल न करने से सुरक्षा से जुड़ी समस्या हो सकती है, क्योंकि रिमोट फ़ाइलें बदल सकती हैं. इस फ़ील्ड को शामिल न करने से, आपका बिल्ड नॉन-हर्मेटिक हो जाएगा. इससे डेवलपमेंट को आसान बनाने में मदद मिलती है. हालांकि, शिपिंग से पहले इसे सेट करना ज़रूरी है. अगर चेकसम दिया गया है, तो रिपॉज़िटरी कैश में दिए गए चेकसम वाली फ़ाइल की जांच की जाएगी. फ़ाइल को सिर्फ़ तब डाउनलोड करने की कोशिश की जाएगी, जब वह कैश में न मिले. डाउनलोड हो जाने के बाद, फ़ाइल को कैश मेमोरी में जोड़ दिया जाएगा.
block डिफ़ॉल्ट वैल्यू True
है इसे false पर सेट करने पर, कॉल तुरंत वापस आ जाता है. साथ ही, सामान्य रिटर्न वैल्यू के बजाय, यह एक टोकन दिखाता है. इसमें एक ही तरीका होता है, wait(). यह तब तक ब्लॉक रहता है, जब तक डाउनलोड पूरा नहीं हो जाता. इसके बाद, यह सामान्य रिटर्न वैल्यू दिखाता है या सामान्य तरीके से थ्रो करता है.

download_and_extract

struct module_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', rename_files={})

यह फ़ंक्शन, दिए गए यूआरएल के लिए आउटपुट पाथ पर एक फ़ाइल डाउनलोड करता है. इसके बाद, उसे एक्सट्रैक्ट करता है. साथ ही, एक स्ट्रक्चर दिखाता है. इसमें success शामिल होता है. यह एक फ़्लैग है. अगर डाउनलोड पूरा हो जाता है, तो यह true होता है. अगर डाउनलोड पूरा हो जाता है, तो यह फ़ाइल का हैश होता है. इसमें sha256 और integrity फ़ील्ड होते हैं. जब उपयोगकर्ता sha256 या integrity की वैल्यू तय करता है, तब canonical_id की वैल्यू साफ़ तौर पर सेट करने का सुझाव दिया जाता है. उदाहरण के लिए, get_default_canonical_id

पैरामीटर

पैरामीटर ब्यौरा
url string; या strings का Iterable; ज़रूरी है
एक ही फ़ाइल का रेफ़रंस देने वाले मिरर यूआरएल की सूची.
output string; या Label; या path; डिफ़ॉल्ट तौर पर ''
होता है यह उस डायरेक्ट्री का पाथ होता है जहां संग्रह को अनपैक किया जाएगा. यह पाथ, डेटाबेस डायरेक्ट्री के हिसाब से होता है.
sha256 डिफ़ॉल्ट वैल्यू ''
है डाउनलोड की गई फ़ाइल का SHA-256 हैश. यह डाउनलोड की गई फ़ाइल के SHA-256 हैश से मेल खाना चाहिए. SHA-256 को शामिल न करने से सुरक्षा से जुड़ी समस्या हो सकती है, क्योंकि रिमोट फ़ाइलें बदल सकती हैं. इस फ़ील्ड को शामिल न करने से, आपका बिल्ड नॉन-हर्मेटिक हो जाएगा. इससे डेवलपमेंट को आसान बनाने में मदद मिलती है. हालांकि, शिपिंग से पहले इसे सेट करना ज़रूरी है. अगर हैश दिया गया है, तो रिपॉज़िटरी की कैश मेमोरी में दिए गए हैश वाली फ़ाइल की जांच की जाएगी. फ़ाइल को सिर्फ़ तब डाउनलोड करने की कोशिश की जाएगी, जब वह कैश मेमोरी में न मिले. डाउनलोड हो जाने के बाद, फ़ाइल को कैश मेमोरी में जोड़ दिया जाएगा.
type डिफ़ॉल्ट रूप से ''
होता है डाउनलोड की गई फ़ाइल का संग्रह टाइप. डिफ़ॉल्ट रूप से, संग्रह के टाइप का पता यूआरएल के फ़ाइल एक्सटेंशन से चलता है. अगर फ़ाइल का कोई एक्सटेंशन नहीं है, तो यहां "zip", "jar", "war", "aar", "nupkg", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".tbz", ".ar" या ".deb" में से कोई एक एक्सटेंशन साफ़ तौर पर बताया जा सकता है.
stripPrefix डिफ़ॉल्ट वैल्यू ''
है यह एक डायरेक्ट्री प्रीफ़िक्स है, जिसे निकाली गई फ़ाइलों से हटाना है. कई संग्रहों में सबसे ऊपर के लेवल की डायरेक्ट्री होती है. इसमें संग्रह की सभी फ़ाइलें शामिल होती हैं. build_file में इस प्रीफ़िक्स को बार-बार तय करने के बजाय, इस फ़ील्ड का इस्तेमाल करके इसे निकाली गई फ़ाइलों से हटाया जा सकता है.
allow_fail डिफ़ॉल्ट रूप से False
पर सेट होता है इस विकल्प को सेट करने पर, डाउनलोड फ़ेल होने पर गड़बड़ी दिखाने के बजाय, रिटर्न वैल्यू में गड़बड़ी दिखाई जाती है.
canonical_id डिफ़ॉल्ट वैल्यू '' है
अगर यह विकल्प सेट किया जाता है, तो कैश मेमोरी से फ़ाइलें सिर्फ़ उन मामलों में मिलेंगी जहां फ़ाइल को एक ही कैननिकल आईडी के साथ कैश मेमोरी में जोड़ा गया था. डिफ़ॉल्ट रूप से, कैश मेमोरी में सेव करने के लिए चेकसम" (sha256 या integrity) का इस्तेमाल किया जाता है.
auth डिफ़ॉल्ट वैल्यू {}
है यह एक वैकल्पिक डिक्शनरी है. इसमें कुछ यूआरएल के लिए पुष्टि करने की जानकारी दी जाती है.
headers डिफ़ॉल्ट तौर पर {}
होता है यह एक वैकल्पिक डिक्शनरी है. इसमें सभी यूआरएल के लिए एचटीटीपी हेडर की जानकारी दी जाती है.
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, reproducible=False)

यह एक ओपेक ऑब्जेक्ट बनाता है. इसे मॉड्यूल एक्सटेंशन के लागू करने वाले फ़ंक्शन से वापस लाया जा सकता है. इससे Bazel को एक्सटेंशन से जनरेट की गई रिपॉज़िटरी के बारे में मेटाडेटा मिलता है.

पैरामीटर

पैरामीटर ब्यौरा
root_module_direct_deps स्ट्रिंग का sequence; या string; या None; डिफ़ॉल्ट वैल्यू None
है उन रिपॉज़िटरी के नाम जिन्हें एक्सटेंशन, रूट मॉड्यूल की डायरेक्ट डिपेंडेंसी मानता है. अगर रूट मॉड्यूल, अतिरिक्त रिपॉज़िटरी इंपोर्ट करता है या use_repo के ज़रिए इन सभी रिपॉज़िटरी को इंपोर्ट नहीं करता है, तो एक्सटेंशन का आकलन करते समय Bazel एक चेतावनी दिखाएगा. इसमें उपयोगकर्ता को bazel mod tidy चलाने के लिए कहा जाएगा, ताकि use_repo कॉल अपने-आप ठीक हो जाएं.

अगर root_module_direct_deps में से कोई एक मौजूद नहीं है, तो एक्सटेंशन का आकलन करते समय, चेतावनी और फ़िक्सअप कमांड प्रिंट की जाएगी.

अगर root_module_direct_deps और root_module_direct_dev_deps में से किसी एक की वैल्यू दी गई है, तो दूसरे की वैल्यू भी देनी होगी. इन दोनों पैरामीटर से तय की गई सूचियां अलग-अलग होनी चाहिए.

root_module_direct_deps और root_module_direct_dev_deps में से सिर्फ़ एक को खास वैल्यू "all" पर सेट किया जा सकता है. इसे इस तरह से माना जाता है कि एक्सटेंशन से जनरेट की गई सभी रिपॉज़िटरी के नामों वाली सूची को वैल्यू के तौर पर तय किया गया है.

root_module_direct_dev_deps स्ट्रिंग का क्रम; या स्ट्रिंग; या None; डिफ़ॉल्ट वैल्यू None
है उन रिपॉज़िटरी के नाम जिन्हें एक्सटेंशन, रूट मॉड्यूल की डायरेक्ट डेवलपमेंट डिपेंडेंसी मानता है. अगर रूट मॉड्यूल, अतिरिक्त रिपॉज़िटरी इंपोर्ट करता है या use_extension(..., dev_dependency = True) की मदद से बनाए गए एक्सटेंशन प्रॉक्सी पर use_repo के ज़रिए इन सभी रिपॉज़िटरी को इंपोर्ट नहीं करता है, तो एक्सटेंशन का आकलन करते समय Bazel एक चेतावनी दिखाएगा. इसमें उपयोगकर्ता को bazel mod tidy चलाने के लिए कहा जाएगा, ताकि use_repo कॉल अपने-आप ठीक हो जाएं.

अगर root_module_direct_deps और root_module_direct_dev_deps में से किसी एक की वैल्यू दी गई है, तो दूसरे की वैल्यू भी देनी होगी. इन दोनों पैरामीटर से तय की गई सूचियां अलग-अलग होनी चाहिए.

root_module_direct_deps और root_module_direct_dev_deps में से सिर्फ़ एक को खास वैल्यू "all" पर सेट किया जा सकता है. इसे इस तरह से माना जाता है कि एक्सटेंशन से जनरेट की गई सभी रिपॉज़िटरी के नामों वाली सूची को वैल्यू के तौर पर तय किया गया है.

reproducible bool; default is False
States that this module extension ensures complete reproducibility, thereby it should not be stored in the lockfile.

एक्सट्रैक्ट करना

None module_ctx.extract(archive, output='', stripPrefix='', *, rename_files={}, watch_archive='auto')

किसी संग्रह को रिपॉज़िटरी डायरेक्ट्री में निकालें.

पैरामीटर

पैरामीटर ब्यौरा
archive string; या Label; या path; required
यह उस संग्रह का पाथ होता है जिसे अनपैक किया जाएगा. यह पाथ, डेटाबेस डायरेक्ट्री के हिसाब से होता है.
output string; या Label; या path; डिफ़ॉल्ट वैल्यू ''
है यह उस डायरेक्ट्री का पाथ है जहां संग्रह को अनपैक किया जाएगा. यह पाथ, डेटाबेस डायरेक्ट्री के हिसाब से होता है.
stripPrefix डिफ़ॉल्ट रूप से, ''
एक डायरेक्ट्री प्रीफ़िक्स होता है, जिसे निकाली गई फ़ाइलों से हटा दिया जाता है. कई संग्रहों में सबसे ऊपर के लेवल की डायरेक्ट्री होती है. इसमें संग्रह की सभी फ़ाइलें शामिल होती हैं. build_file में इस प्रीफ़िक्स को बार-बार तय करने के बजाय, इस फ़ील्ड का इस्तेमाल करके इसे निकाली गई फ़ाइलों से हटाया जा सकता है.
rename_files डिफ़ॉल्ट तौर पर {}
होता है यह एक वैकल्पिक डिक्शनरी है. इसमें उन फ़ाइलों के बारे में जानकारी होती है जिनका नाम एक्सट्रैक्शन के दौरान बदलना है. किसी कुंजी से पूरी तरह मेल खाने वाले नाम वाली आर्काइव की गई एंट्री का नाम बदलकर वैल्यू कर दिया जाएगा. ऐसा डायरेक्ट्री के प्रीफ़िक्स में किसी भी तरह के बदलाव से पहले किया जाएगा. इसका इस्तेमाल उन संग्रहों को निकालने के लिए किया जा सकता है जिनमें नॉन-यूनिकोड फ़ाइलनाम होते हैं या जिनमें ऐसी फ़ाइलें होती हैं जो केस-इनसेंसिटिव फ़ाइल सिस्टम पर एक ही पाथ पर एक्सट्रैक्ट होती हैं.
watch_archive डिफ़ॉल्ट रूप से 'auto'
होता है संग्रहित फ़ाइल को देखना है या नहीं. यह स्ट्रिंग 'yes', 'no' या 'auto' हो सकती है. 'yes' पास करने का मतलब है कि watch() तरीके को तुरंत लागू करना; 'no' पास करने का मतलब है कि फ़ाइल को देखने की कोशिश नहीं की जाएगी; 'auto' पास करने का मतलब है कि फ़ाइल को सिर्फ़ तब देखने की कोशिश की जाएगी, जब ऐसा करना कानूनी हो (ज़्यादा जानकारी के लिए, watch() के दस्तावेज़ देखें.

फ़ाइल

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

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

पैरामीटर

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

getenv

string module_ctx.getenv(name, default=None)

अगर एनवायरमेंट वैरिएबल name मौजूद है, तो यह फ़ंक्शन उसकी वैल्यू को स्ट्रिंग के तौर पर दिखाता है. अगर यह मौजूद नहीं है, तो यह default दिखाता है.

इंक्रीमेंटल तरीके से बनाने पर, name नाम वाले वैरिएबल की वैल्यू में कोई भी बदलाव होने पर, इस डेटाबेस को फिर से फ़ेच किया जाएगा.

पैरामीटर

पैरामीटर ब्यौरा
name string; ज़रूरी है
ज़रूरी एनवायरमेंट वैरिएबल का नाम.
default string; या None; डिफ़ॉल्ट वैल्यू None
है अगर name नहीं मिलता है, तो डिफ़ॉल्ट वैल्यू दिखाई जाती है.
इसमें None मिल सकता है.

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

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

os

repository_os module_ctx.os

सिस्टम से जानकारी ऐक्सेस करने के लिए एक स्ट्रक्चर.

पाथ

path module_ctx.path(path)

यह फ़ंक्शन, स्ट्रिंग, लेबल या पाथ से पाथ दिखाता है. अगर पाथ रिलेटिव है, तो इसे रिपॉज़िटरी डायरेक्ट्री के हिसाब से हल किया जाएगा. अगर पाथ कोई लेबल है, तो यह उससे जुड़ी फ़ाइल के पाथ पर रीडायरेक्ट हो जाएगा. ध्यान दें कि रिमोट रिपॉज़िटरी, विश्लेषण के दौरान लागू की जाती हैं. इसलिए, ये टारगेट नतीजे पर निर्भर नहीं हो सकतीं. लेबल को जनरेट नहीं की गई फ़ाइल की ओर पॉइंट करना चाहिए. अगर पाथ कोई पाथ है, तो यह उस पाथ को वैसे ही दिखाएगा.

पैरामीटर

पैरामीटर ब्यौरा
path string; या Label; या path; ज़रूरी है
string, Label या path, जिससे पाथ बनाया जाना है.

पढ़ा गया

string module_ctx.read(path, *, watch='auto')

यह अनुमति मिलने पर, फ़ाइल सिस्टम पर मौजूद किसी फ़ाइल के कॉन्टेंट को पढ़ा जा सकता है.

पैरामीटर

पैरामीटर ब्यौरा
path string; या Label; या path; ज़रूरी है
उस फ़ाइल का पाथ जिससे डेटा पढ़ना है.
watch डिफ़ॉल्ट रूप से 'auto'
होता है फ़ाइल को देखना है या नहीं. यह स्ट्रिंग 'yes', 'no' या 'auto' हो सकती है. 'yes' पास करने का मतलब है कि watch() तरीके को तुरंत लागू करना; 'no' पास करने का मतलब है कि फ़ाइल को देखने की कोशिश नहीं की जाएगी; 'auto' पास करने का मतलब है कि फ़ाइल को सिर्फ़ तब देखने की कोशिश की जाएगी, जब ऐसा करना कानूनी हो (ज़्यादा जानकारी के लिए, watch() के दस्तावेज़ देखें.

report_progress

None module_ctx.report_progress(status='')

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

पैरामीटर

पैरामीटर ब्यौरा
status string; डिफ़ॉल्ट वैल्यू ''
है string फ़ेच करने की प्रोसेस के मौजूदा स्टेटस के बारे में बताता है.

root_module_has_non_dev_dependency

bool module_ctx.root_module_has_non_dev_dependency

रूट मॉड्यूल, इस एक्सटेंशन का इस्तेमाल नॉन-डेव डिपेंडेंसी के तौर पर करता है या नहीं.

देखें

None module_ctx.watch(path)

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

"बदलाव" में ये बदलाव शामिल हैं: फ़ाइल के कॉन्टेंट में बदलाव (अगर पाथ कोई फ़ाइल है); अगर पाथ पहले कोई फ़ाइल था, लेकिन अब कोई डायरेक्ट्री है या इसके उलट; और अगर पाथ मौजूद है या मौजूद नहीं है. खास तौर पर, अगर पाथ कोई डायरेक्ट्री है, तो डायरेक्ट्री में मौजूद किसी भी फ़ाइल में किए गए बदलाव इसमें शामिल नहीं होते. इसके लिए, path.readdir() का इस्तेमाल करें.

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

पैरामीटर

पैरामीटर ब्यौरा
path string; या Label; या path; required
नज़र रखने के लिए फ़ाइल का पाथ.

कौनसा

path module_ctx.which(program)

यह फ़ंक्शन, पाथ में मौजूद प्रोग्राम का path दिखाता है. अगर पाथ में ऐसा कोई प्रोग्राम मौजूद नहीं है, तो यह None दिखाता है.

पैरामीटर

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