implementation फ़ंक्शन के लिए आर्ग्युमेंट के तौर पर module_ctx ऑब्जेक्ट मिलता है.
सदस्य
- download
 - download_and_extract
 - execute
 - extension_metadata
 - extract
 - तथ्य
 - file
 - getenv
 - is_dev_dependency
 - मॉड्यूल
 - os
 - पाथ
 - पढ़ें
 - report_progress
 - root_module_has_non_dev_dependency
 - watch
 - कौनसा
 
डाउनलोड करें
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; or Iterable of strings;
                                     ज़रूरी है एक ही फ़ाइल का रेफ़रंस देने वाले मिरर यूआरएल की सूची.  | 
          
              output
             | 
            
                          string; या Label; या path;
                                     डिफ़ॉल्ट रूप से ''होता है यह आउटपुट फ़ाइल का पाथ है, जो रिपॉज़िटरी डायरेक्ट्री के हिसाब से होता है.  | 
          
              sha256
             | 
            
                          string;
                                     डिफ़ॉल्ट तौर पर ''होता है डाउनलोड की गई फ़ाइल का SHA-256 हैश. यह डाउनलोड की गई फ़ाइल के SHA-256 हैश से मेल खाना चाहिए. SHA-256 को शामिल न करने से सुरक्षा से जुड़ा जोखिम हो सकता है, क्योंकि रिमोट फ़ाइलें बदली जा सकती हैं. इस फ़ील्ड को शामिल न करने पर, आपका बिल्ड नॉन-हर्मेटिक हो जाएगा. इसे सेट करना ज़रूरी नहीं है, लेकिन इससे डेवलपमेंट की प्रोसेस आसान हो जाती है. हालांकि, इसे शिपिंग से पहले सेट करना ज़रूरी है. अगर हैश दिया गया है, तो रिपॉज़िटरी की कैश मेमोरी में दिए गए हैश वाली फ़ाइल की जांच की जाएगी. फ़ाइल को सिर्फ़ तब डाउनलोड करने की कोशिश की जाएगी, जब वह कैश मेमोरी में न मिले. डाउनलोड हो जाने के बाद, फ़ाइल को कैश मेमोरी में जोड़ दिया जाएगा.  | 
          
              executable
             | 
            
                          bool;
                                     डिफ़ॉल्ट तौर पर Falseहै यह बनाई गई फ़ाइल पर एक्ज़ीक्यूटेबल फ़्लैग सेट करता है. डिफ़ॉल्ट रूप से, यह फ़्लैग 'गलत' पर सेट होता है.  | 
          
              allow_fail
             | 
            
                          bool;
                                     डिफ़ॉल्ट वैल्यू Falseहै अगर यह विकल्प सेट किया जाता है, तो डाउनलोड पूरा न होने पर गड़बड़ी दिखाने के बजाय, रिटर्न वैल्यू में गड़बड़ी दिखाई जाती है.  | 
          
              canonical_id
             | 
            
                          string;
                                     डिफ़ॉल्ट वैल्यू ''है अगर इसे सेट किया जाता है, तो कैश मेमोरी से फ़ाइलें सिर्फ़ उन मामलों में मिलेंगी जहां फ़ाइल को एक ही कैननिकल आईडी के साथ कैश मेमोरी में जोड़ा गया था. डिफ़ॉल्ट रूप से, कैश मेमोरी में सेव करने के लिए चेकसम ( sha256 या integrity) का इस्तेमाल किया जाता है.
             | 
          
              auth
             | 
            
                          dict;
                                     डिफ़ॉल्ट तौर पर {}होता है यह एक वैकल्पिक डिक्शनरी है. इसमें कुछ यूआरएल के लिए पुष्टि करने की जानकारी दी जाती है.  | 
          
              headers
             | 
            
                          dict;
                                     डिफ़ॉल्ट तौर पर {}होता है यह एक ऐसी डिक्शनरी है जिसमें सभी यूआरएल के लिए एचटीटीपी हेडर की जानकारी दी जाती है. हालांकि, इसे शामिल करना ज़रूरी नहीं है.  | 
          
              integrity
             | 
            
                          string;
                                     डिफ़ॉल्ट ''होता है डाउनलोड की गई फ़ाइल का अनुमानित चेकसम, सबरीसोर्स इंटिग्रिटी फ़ॉर्मैट में. यह डाउनलोड की गई फ़ाइल के चेकसम से मेल खाना चाहिए. चेकसम को शामिल न करने से सुरक्षा से जुड़ा जोखिम हो सकता है, क्योंकि रिमोट फ़ाइलों में बदलाव किया जा सकता है. इस फ़ील्ड को शामिल न करने पर, आपका बिल्ड नॉन-हर्मेटिक हो जाएगा. इसे सेट करना ज़रूरी नहीं है, लेकिन इससे डेवलपमेंट की प्रोसेस आसान हो जाती है. हालांकि, इसे शिपिंग से पहले सेट करना ज़रूरी है. अगर चेकसम दिया गया है, तो रिपॉज़िटरी कैश में दिए गए चेकसम वाली फ़ाइल की जांच की जाएगी. फ़ाइल को सिर्फ़ तब डाउनलोड करने की कोशिश की जाएगी, जब वह कैश में न मिले. डाउनलोड हो जाने के बाद, फ़ाइल को कैश मेमोरी में जोड़ दिया जाएगा.  | 
          
              block
             | 
            
                          bool;
                                     default is TrueIf set to false, the call returns immediately and instead of the regular return value, it returns a token with one single method, wait(), which blocks until the download is finished and returns the usual return value or throws as usual.  | 
          
download_and_extract
struct module_ctx.download_and_extract(url, output='', sha256='', type='', strip_prefix='', allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', rename_files={})
success शामिल होता है. यह एक फ़्लैग है. अगर डाउनलोड पूरा हो जाता है, तो इसकी वैल्यू true होती है. अगर डाउनलोड पूरा हो जाता है, तो यह फ़ाइल का हैश दिखाता है. इसमें sha256 और integrity फ़ील्ड होते हैं. जब sha256 या integrity को उपयोगकर्ता ने तय किया हो, तब canonical_id को साफ़ तौर पर सेट करने का सुझाव दिया जाता है. उदाहरण के लिए, get_default_canonical_id
                  
      पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
              url
             | 
            
                          string; or Iterable of strings;
                                     ज़रूरी है एक ही फ़ाइल का रेफ़रंस देने वाले मिरर यूआरएल की सूची.  | 
          
              output
             | 
            
                          string; या Label; या path;
                                     डिफ़ॉल्ट तौर पर ''होता है यह उस डायरेक्ट्री का पाथ होता है जहां संग्रह को अनपैक किया जाएगा. यह पाथ, डेटाबेस डायरेक्ट्री के हिसाब से होता है.  | 
          
              sha256
             | 
            
                          string;
                                     डिफ़ॉल्ट तौर पर ''होता है डाउनलोड की गई फ़ाइल का SHA-256 हैश. यह डाउनलोड की गई फ़ाइल के SHA-256 हैश से मेल खाना चाहिए. SHA-256 को शामिल न करने से सुरक्षा से जुड़ा जोखिम हो सकता है, क्योंकि रिमोट फ़ाइलें बदली जा सकती हैं. इस फ़ील्ड को शामिल न करने पर, आपका बिल्ड नॉन-हर्मेटिक हो जाएगा. इसे सेट करना ज़रूरी नहीं है, लेकिन इससे डेवलपमेंट की प्रोसेस आसान हो जाती है. हालांकि, इसे शिपिंग से पहले सेट करना ज़रूरी है. अगर हैश दिया गया है, तो रिपॉज़िटरी की कैश मेमोरी में दिए गए हैश वाली फ़ाइल की जांच की जाएगी. फ़ाइल को सिर्फ़ तब डाउनलोड करने की कोशिश की जाएगी, जब वह कैश मेमोरी में न मिले. डाउनलोड हो जाने के बाद, फ़ाइल को कैश मेमोरी में जोड़ दिया जाएगा.  | 
          
              type
             | 
            
                          string;
                                     डिफ़ॉल्ट तौर पर ''होता है डाउनलोड की गई फ़ाइल का संग्रह टाइप. डिफ़ॉल्ट रूप से, संग्रह के टाइप का पता यूआरएल के फ़ाइल एक्सटेंशन से चलता है. अगर फ़ाइल का कोई एक्सटेंशन नहीं है, तो यहां "zip", "jar", "war", "aar", "nupkg", "whl", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".tbz", ".ar", ".deb" या ".7z" में से कोई एक एक्सटेंशन साफ़ तौर पर बताया जा सकता है.  | 
          
              strip_prefix
             | 
            
                          string;
                                     डिफ़ॉल्ट तौर पर ''होता है यह एक्सट्रैक्ट की गई फ़ाइलों से हटाने के लिए डायरेक्ट्री का प्रीफ़िक्स होता है. कई संग्रहों में टॉप-लेवल डायरेक्ट्री होती है. इसमें संग्रह की सभी फ़ाइलें होती हैं. build_file में इस प्रीफ़िक्स को बार-बार तय करने के बजाय, इस फ़ील्ड का इस्तेमाल करके इसे निकाली गई फ़ाइलों से हटाया जा सकता है.
यह पैरामीटर, पुराने नाम   | 
          
              allow_fail
             | 
            
                          bool;
                                     डिफ़ॉल्ट वैल्यू Falseहै अगर यह विकल्प सेट किया जाता है, तो डाउनलोड पूरा न होने पर गड़बड़ी दिखाने के बजाय, रिटर्न वैल्यू में गड़बड़ी दिखाई जाती है.  | 
          
              canonical_id
             | 
            
                          string;
                                     डिफ़ॉल्ट वैल्यू ''है अगर इसे सेट किया जाता है, तो कैश मेमोरी से फ़ाइलें सिर्फ़ उन मामलों में मिलेंगी जहां फ़ाइल को एक ही कैननिकल आईडी के साथ कैश मेमोरी में जोड़ा गया था. डिफ़ॉल्ट रूप से, कैश मेमोरी में सेव करने के लिए चेकसम ( sha256 या integrity) का इस्तेमाल किया जाता है.
             | 
          
              auth
             | 
            
                          dict;
                                     डिफ़ॉल्ट तौर पर {}होता है यह एक वैकल्पिक डिक्शनरी है. इसमें कुछ यूआरएल के लिए पुष्टि करने की जानकारी दी जाती है.  | 
          
              headers
             | 
            
                          dict;
                                     डिफ़ॉल्ट तौर पर {}होता है यह एक ऐसी डिक्शनरी है जिसमें सभी यूआरएल के लिए एचटीटीपी हेडर की जानकारी दी जाती है. हालांकि, इसे शामिल करना ज़रूरी नहीं है.  | 
          
              integrity
             | 
            
                          string;
                                     डिफ़ॉल्ट ''होता है डाउनलोड की गई फ़ाइल का अनुमानित चेकसम, सबरीसोर्स इंटिग्रिटी फ़ॉर्मैट में. यह डाउनलोड की गई फ़ाइल के चेकसम से मेल खाना चाहिए. चेकसम को शामिल न करने से सुरक्षा से जुड़ा जोखिम हो सकता है, क्योंकि रिमोट फ़ाइलों में बदलाव किया जा सकता है. इस फ़ील्ड को शामिल न करने पर, आपका बिल्ड नॉन-हर्मेटिक हो जाएगा. इसे सेट करना ज़रूरी नहीं है, लेकिन इससे डेवलपमेंट की प्रोसेस आसान हो जाती है. हालांकि, इसे शिपिंग से पहले सेट करना ज़रूरी है. अगर चेकसम दिया गया है, तो रिपॉज़िटरी कैश में दिए गए चेकसम वाली फ़ाइल की जांच की जाएगी. फ़ाइल को सिर्फ़ तब डाउनलोड करने की कोशिश की जाएगी, जब वह कैश में न मिले. डाउनलोड हो जाने के बाद, फ़ाइल को कैश मेमोरी में जोड़ दिया जाएगा.  | 
          
              rename_files
             | 
            
                          dict;
                                     डिफ़ॉल्ट तौर पर {}होता है यह एक वैकल्पिक डिक्शनरी है. इसमें उन फ़ाइलों के बारे में बताया जाता है जिनका नाम एक्सट्रैक्शन के दौरान बदलना है. जिन एंट्री के नाम किसी कुंजी से पूरी तरह मेल खाते हैं उन्हें वैल्यू के हिसाब से नाम दिया जाएगा. ऐसा डायरेक्ट्री के प्रीफ़िक्स में किसी भी तरह का बदलाव करने से पहले किया जाएगा. इसका इस्तेमाल उन संग्रहों को निकालने के लिए किया जा सकता है जिनमें नॉन-यूनिकोड फ़ाइलनेम होते हैं या जिनमें ऐसी फ़ाइलें होती हैं जो केस-इनसेंसिटिव फ़ाइल सिस्टम पर एक ही पाथ पर एक्सट्रैक्ट होती हैं.  | 
          
लागू करना
exec_result module_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")
timeout सेकंड से ज़्यादा नहीं होना चाहिए. डिफ़ॉल्ट रूप से यह 600 सेकंड होता है. यह तरीका, exec_result स्ट्रक्चर दिखाता है. इसमें कमांड का आउटपुट होता है. environment मैप का इस्तेमाल, प्रोसेस में पास किए जाने वाले कुछ एनवायरमेंट वैरिएबल को बदलने के लिए किया जा सकता है.
                  
      पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
              arguments
             | 
            
                          sequence;
                                     ज़रूरी है आर्ग्युमेंट की सूची. पहला एलिमेंट, एक्ज़ीक्यूट किए जाने वाले प्रोग्राम का पाथ होना चाहिए.  | 
          
              timeout
             | 
            
                          int;
                                     default is 600कमांड की ज़्यादा से ज़्यादा अवधि, सेकंड में (डिफ़ॉल्ट रूप से 600 सेकंड).  | 
          
              environment
             | 
            
                          dict;
                                     डिफ़ॉल्ट तौर पर {}होता है कुछ एनवायरमेंट वैरिएबल को प्रोसेस में पास करने के लिए सेट करें. एनवायरमेंट वैरिएबल हटाने के लिए, वैल्यू को None पर सेट किया जा सकता है.
             | 
          
              quiet
             | 
            
                          bool;
                                     डिफ़ॉल्ट रूप से Trueहोता है अगर stdout और stderr को टर्मिनल पर प्रिंट किया जाना चाहिए.  | 
          
              working_directory
             | 
            
                          string;
                                     डिफ़ॉल्ट रूप से ""होता है कमांड को लागू करने के लिए वर्किंग डायरेक्ट्री. यह रिपॉज़िटरी के रूट के हिसाब से या पूरी तरह से अलग हो सकता है. डिफ़ॉल्ट रूप से, यह रिपॉज़िटरी का रूट होता है.  | 
          
extension_metadata
extension_metadata module_ctx.extension_metadata(*, root_module_direct_deps=None, root_module_direct_dev_deps=None, reproducible=False, facts={})
पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
              root_module_direct_deps
             | 
            
                          sequence of strings; या string; या None;
                                     डिफ़ॉल्ट रूप से Noneहोता है उन रिपॉज़िटरी के नाम जिन्हें एक्सटेंशन, रूट मॉड्यूल की डायरेक्ट डिपेंडेंसी मानता है. अगर रूट मॉड्यूल, अतिरिक्त रिपॉज़िटरी इंपोर्ट करता है या use_repo के ज़रिए इन सभी रिपॉज़िटरी को इंपोर्ट नहीं करता है, तो एक्सटेंशन का आकलन करते समय Bazel एक चेतावनी दिखाएगा. इसमें उपयोगकर्ता को bazel mod tidy चलाने के लिए कहा जाएगा, ताकि use_repo कॉल अपने-आप ठीक हो जाएं. अगर  अगर  
  | 
          
              root_module_direct_dev_deps
             | 
            
                          sequence of strings; या string; या None;
                                     डिफ़ॉल्ट रूप से Noneहोता है उन रिपॉज़िटरी के नाम जिन्हें एक्सटेंशन, रूट मॉड्यूल की डायरेक्ट डेवलपमेंट डिपेंडेंसी मानता है. अगर रूट मॉड्यूल, अतिरिक्त रिपॉज़िटरी इंपोर्ट करता है या use_extension(..., dev_dependency = True) की मदद से बनाई गई एक्सटेंशन प्रॉक्सी पर use_repo के ज़रिए इन सभी रिपॉज़िटरी को इंपोर्ट नहीं करता है, तो एक्सटेंशन का आकलन करते समय Bazel एक चेतावनी दिखाएगा. इसमें उपयोगकर्ता को bazel mod tidy चलाने के लिए कहा जाएगा, ताकि use_repo कॉल अपने-आप ठीक हो जाएं. अगर  
  | 
          
              reproducible
             | 
            
                          bool;
                                     डिफ़ॉल्ट तौर पर Falseहोता है इससे पता चलता है कि यह मॉड्यूल एक्सटेंशन, पूरी तरह से रिप्रोड्यूस किया जा सकता है. इसलिए, इसे लॉकफ़ाइल में सेव नहीं किया जाना चाहिए.  | 
          
              facts
             | 
            
                          strings का dict;
                                     डिफ़ॉल्ट तौर पर {}होता है यह JSON जैसा dict होता है. इसे `module_ctx.facts` प्रॉपर्टी के ज़रिए, इस एक्सटेंशन के आने वाले समय में होने वाले एक्ज़ीक्यूशन के लिए उपलब्ध कराया जाता है. यह उन एक्सटेंशन के लिए काम की है जो ऐसे तथ्यों को सुरक्षित रखना चाहते हैं जो हर जगह सही होते हैं. जैसे, न बदलने वाली रिपॉज़िटरी में कलाकृतियों के हैश. Bazel, एक्सटेंशन के अलग-अलग वर्शन से मिले कई फ़ैक्ट डिक्शनरी को मर्ज कर सकता है. ऐसा वह MODULE.bazel.lock फ़ाइल पर मर्ज करने से जुड़ी समस्याओं को हल करने के लिए करता है. यह ऐसा करता है, जैसे Starlark में `dict.update()` तरीके या `|` ऑपरेटर को लागू किया गया हो. एक्सटेंशन को सिर्फ़ मुख्य-वैल्यू स्टोरेज के लिए तथ्यों का इस्तेमाल करना चाहिए. साथ ही, यह पक्का करना चाहिए कि मुख्य वैल्यू, वैल्यू को यूनीक तरीके से तय करती हो. हालांकि, ऐसा सिर्फ़ अतिरिक्त जानकारी और नेटवर्क ऐक्सेस के ज़रिए किया जा सकता है. एक्सटेंशन, इस मर्जिंग से ऑप्ट आउट कर सकता है. इसके लिए, उसे एक डिक्ट देना होगा. इसमें एक टॉप-लेवल की तय की गई कुंजी और कोई भी वैल्यू होगी. ध्यान दें कि यहां दी गई वैल्यू को एक्सटेंशन का कोई दूसरा वर्शन वापस पढ़ सकता है. इसलिए, वर्शन नंबर शामिल करें या ऐसे स्कीमा का इस्तेमाल करें जिससे अस्पष्टता न हो.  | 
          
एक्सट्रैक्ट करें
None module_ctx.extract(archive, output='', strip_prefix='', *, rename_files={}, watch_archive='auto')पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
              archive
             | 
            
                          string; या Label; या path;
                                     required संग्रहित किए गए उस फ़ोल्डर का पाथ जिसे अनपैक किया जाएगा. यह पाथ, रिपॉज़िटरी डायरेक्ट्री के हिसाब से तय किया जाता है.  | 
          
              output
             | 
            
                          string; या Label; या path;
                                     डिफ़ॉल्ट तौर पर ''होता है यह उस डायरेक्ट्री का पाथ होता है जहां संग्रह को अनपैक किया जाएगा. यह पाथ, डेटाबेस डायरेक्ट्री के हिसाब से होता है.  | 
          
              strip_prefix
             | 
            
                          string;
                                     डिफ़ॉल्ट तौर पर ''होता है यह डायरेक्ट्री का ऐसा प्रीफ़िक्स होता है जिसे निकाली गई फ़ाइलों से हटा दिया जाता है. कई संग्रहों में टॉप-लेवल डायरेक्ट्री होती है. इसमें संग्रह की सभी फ़ाइलें होती हैं. build_file में इस प्रीफ़िक्स को बार-बार तय करने के बजाय, इस फ़ील्ड का इस्तेमाल करके इसे निकाली गई फ़ाइलों से हटाया जा सकता है.
यह पैरामीटर, पुराने नाम   | 
          
              rename_files
             | 
            
                          dict;
                                     डिफ़ॉल्ट तौर पर {}होता है यह एक वैकल्पिक डिक्शनरी है. इसमें उन फ़ाइलों के बारे में बताया जाता है जिनका नाम एक्सट्रैक्शन के दौरान बदलना है. जिन एंट्री के नाम किसी कुंजी से पूरी तरह मेल खाते हैं उन्हें वैल्यू के हिसाब से नाम दिया जाएगा. ऐसा डायरेक्ट्री के प्रीफ़िक्स में किसी भी तरह का बदलाव करने से पहले किया जाएगा. इसका इस्तेमाल उन संग्रहों को निकालने के लिए किया जा सकता है जिनमें नॉन-यूनिकोड फ़ाइलनेम होते हैं या जिनमें ऐसी फ़ाइलें होती हैं जो केस-इनसेंसिटिव फ़ाइल सिस्टम पर एक ही पाथ पर एक्सट्रैक्ट होती हैं.  | 
          
              watch_archive
             | 
            
                          string;
                                     डिफ़ॉल्ट रूप से 'auto'होता है संग्रहित की गई फ़ाइल को देखना है या नहीं. यह स्ट्रिंग 'yes', 'no' या 'auto' हो सकती है. 'yes' पास करने का मतलब है कि watch() तरीके को तुरंत लागू करना; 'no' पास करने का मतलब है कि फ़ाइल को देखने की कोशिश नहीं की जाएगी; 'auto' पास करने का मतलब है कि फ़ाइल को सिर्फ़ तब देखने की कोशिश की जाएगी, जब ऐसा करना कानूनी हो (ज़्यादा जानकारी के लिए, watch() दस्तावेज़ देखें.
             | 
          
तथ्य
Facts module_ctx.facts
फ़ाइल
None module_ctx.file(path, content='', executable=True, legacy_utf8=False)पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
              path
             | 
            
                          string; या Label; या path;
                                     required रिपॉज़िटरी डायरेक्ट्री के हिसाब से, बनाई जाने वाली फ़ाइल का पाथ.  | 
          
              content
             | 
            
                          string;
                                     डिफ़ॉल्ट रूप से ''होता है बनाई जाने वाली फ़ाइल का कॉन्टेंट. डिफ़ॉल्ट रूप से यह खाली होता है.  | 
          
              executable
             | 
            
                          bool;
                                     डिफ़ॉल्ट तौर पर Trueहै बनाई गई फ़ाइल पर एक्ज़ीक्यूटेबल फ़्लैग सेट करें. यह डिफ़ॉल्ट रूप से 'सही' पर सेट होता है.  | 
          
              legacy_utf8
             | 
            
                          bool;
                                     डिफ़ॉल्ट रूप से Falseहोता है कोई कार्रवाई नहीं. यह पैरामीटर अब काम नहीं करता. इसे Bazel के आने वाले वर्शन में हटा दिया जाएगा.  | 
          
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
os
repository_os module_ctx.os
पाथ
path module_ctx.path(path)
repository_ctx है, तो रिलेटिव पाथ को रिपॉज़िटरी डायरेक्ट्री के हिसाब से देखा जाएगा. अगर यह module_ctx है, तो रिलेटिव पाथ को इस मॉड्यूल एक्सटेंशन के लिए, कुछ समय के लिए काम करने वाली डायरेक्ट्री के हिसाब से देखा जाएगा. अगर पाथ कोई लेबल है, तो यह उससे जुड़ी फ़ाइल के पाथ पर रीडायरेक्ट हो जाएगा. ध्यान दें कि रिमोट रिपॉज़िटरी और मॉड्यूल एक्सटेंशन, विश्लेषण के दौरान लागू किए जाते हैं. इसलिए, ये टारगेट के नतीजे पर निर्भर नहीं हो सकते. लेबल को ऐसी फ़ाइल की ओर ले जाना चाहिए जो जनरेट नहीं की गई है. अगर पाथ कोई पाथ है, तो यह उस पाथ को वैसे ही दिखाएगा.
                  
      पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
              path
             | 
            
                          string; या Label; या path;
                                     ज़रूरी हैstring, Label या path, जिससे पाथ बनाना है.
             | 
          
पढ़ा गया
string module_ctx.read(path, *, watch='auto')
पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
              path
             | 
            
                          string; या Label; या path;
                                     ज़रूरी है उस फ़ाइल का पाथ जिससे डेटा पढ़ना है.  | 
          
              watch
             | 
            
                          string;
                                     डिफ़ॉल्ट रूप से '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)"बदलाव" में ये बदलाव शामिल हैं: फ़ाइल के कॉन्टेंट में बदलाव (अगर पाथ कोई फ़ाइल है); अगर पाथ पहले कोई फ़ाइल था, लेकिन अब कोई डायरेक्ट्री है या इसके उलट; और अगर पाथ मौजूद है या मौजूद नहीं है. खास तौर पर, अगर पाथ कोई डायरेक्ट्री है, तो डायरेक्ट्री में मौजूद किसी भी फ़ाइल में किए गए बदलाव इसमें शामिल नहीं होते हैं. इसके लिए, path.readdir() का इस्तेमाल करें.
ध्यान दें कि फ़िलहाल फ़ेच की जा रही रेपो या मौजूदा मॉड्यूल एक्सटेंशन की वर्किंग डायरेक्ट्री में पाथ देखने की कोशिश करने पर, गड़बड़ी होगी. अगर कोई मॉड्यूल एक्सटेंशन, मौजूदा Bazel वर्कस्पेस से बाहर के पाथ को देखने की कोशिश करता है, तो भी गड़बड़ी होगी.
पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
              path
             | 
            
                          string; या Label; या path;
                                     ज़रूरी है उस फ़ाइल का पाथ जिसे मॉनिटर करना है.  | 
          
कौनसा
path module_ctx.which(program)
path दिखाता है. अगर पाथ में ऐसा कोई प्रोग्राम मौजूद नहीं है, तो None दिखाता है.
                  
      पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
              program
             | 
            
                          string;
                                     ज़रूरी है पाथ में ढूंढने के लिए प्रोग्राम.  | 
          
None को वापस किया जा सकता है.