रिपॉज़िटरी_टैब

किसी समस्या की शिकायत करें सोर्स देखें Nightly · 8.0 . 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

सदस्य

attr

struct repository_ctx.attr

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

मिटाएं

bool repository_ctx.delete(path)

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

पैरामीटर

पैरामीटर ब्यौरा
path स्ट्रिंग या पाथ; ज़रूरी है
रिपॉज़िटरी डायरेक्ट्री के हिसाब से या ऐब्सलूट, मिटाए जाने वाली फ़ाइल का पाथ. यह कोई पाथ या स्ट्रिंग हो सकती है.

डाउनलोड करें

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

download_and_extract

struct repository_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 स्ट्रिंग या स्ट्रिंग की Iterable वैल्यू; ज़रूरी है
एक ही फ़ाइल का रेफ़रंस देने वाले मिरर यूआरएल की सूची.
output स्ट्रिंग; या लेबल; या पाथ; डिफ़ॉल्ट ''
रिपॉज़िटरी डायरेक्ट्री के हिसाब से, उस डायरेक्ट्री का पाथ जहां संग्रह को अनपैक किया जाएगा.
sha256 string; डिफ़ॉल्ट तौर पर ''
होता है यह डाउनलोड की गई फ़ाइल का अनुमानित 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" में से कोई एक एक्सटेंशन डालें.
strip_prefix string; डिफ़ॉल्ट तौर पर ''
होता है निकाली गई फ़ाइलों से हटाने के लिए, डायरेक्ट्री का प्रीफ़िक्स. कई संग्रहों में एक टॉप-लेवल डायरेक्ट्री होती है, जिसमें संग्रह की सभी फ़ाइलें होती हैं. build_file में इस प्रीफ़िक्स को बार-बार बताने के बजाय, इस फ़ील्ड का इस्तेमाल करके, उसे निकाली गई फ़ाइलों से हटाया जा सकता है.

साथ काम करने के लिए, इस पैरामीटर का इस्तेमाल, अब इस्तेमाल नहीं किए जाने वाले नाम stripPrefix के तहत भी किया जा सकता है.

allow_fail bool; डिफ़ॉल्ट तौर पर False
पर सेट होता है अगर यह सेट है, तो डाउनलोड न हो पाने की गड़बड़ी दिखाने के बजाय, रिटर्न वैल्यू में गड़बड़ी की जानकारी दें.
canonical_id स्ट्रिंग; डिफ़ॉल्ट रूप से ''
होता है अगर यह सेट है, तो कैश मेमोरी में हिट करने की सुविधा सिर्फ़ उन मामलों तक सीमित करें जहां फ़ाइल को कैश मेमोरी में उसी कैननिकल आईडी के साथ जोड़ा गया था. डिफ़ॉल्ट रूप से, कैश मेमोरी में डेटा सेव करने के लिए चेकसम का इस्तेमाल किया जाता है" (sha256 या integrity).
auth dict; डिफ़ॉल्ट तौर पर {}
होता है यह एक वैकल्पिक डायक्शनरी है, जिसमें कुछ यूआरएल की पुष्टि करने से जुड़ी जानकारी होती है.
headers dict; डिफ़ॉल्ट तौर पर {}
होता है सभी यूआरएल के लिए एचटीटीपी हेडर की जानकारी देने वाला वैकल्पिक डायक्शनरी.
integrity स्ट्रिंग; डिफ़ॉल्ट रूप से ''
होता है सब-सोर्स इंटिग्रिटी फ़ॉर्मैट में, डाउनलोड की गई फ़ाइल का अनुमानित चेकसम. यह डाउनलोड की गई फ़ाइल के चेकसम से मेल खाना चाहिए. चेकसम को हटाना सुरक्षा के लिहाज़ से जोखिम भरा है, क्योंकि रिमोट फ़ाइलों में बदलाव हो सकता है. इस फ़ील्ड को हटाने पर, आपका बिल्ड पूरी तरह से सुरक्षित नहीं रहेगा. डेवलपमेंट को आसान बनाने के लिए, यह विकल्प ज़रूरी नहीं है. हालांकि, इसे शिपिंग से पहले सेट किया जाना चाहिए. अगर चेकसम दिया गया है, तो रिपॉज़िटरी कैश मेमोरी में, दिए गए चेकसम वाली फ़ाइल की पहले जांच की जाएगी. अगर कैश मेमोरी में फ़ाइल नहीं मिली, तो ही उसे डाउनलोड करने की कोशिश की जाएगी. डाउनलोड होने के बाद, फ़ाइल को कैश मेमोरी में जोड़ दिया जाएगा.
rename_files dict; डिफ़ॉल्ट रूप से {}
होता है यह एक वैकल्पिक डायक्शनरी है, जिसमें एक्सट्रैक्ट करने के दौरान फ़ाइलों के नाम बदलने के बारे में बताया गया है. किसी कीवर्ड से पूरी तरह मैच होने वाले नाम वाली संग्रहित एंट्री का नाम, डायरेक्ट्री के प्रीफ़िक्स में बदलाव करने से पहले, वैल्यू पर बदल दिया जाएगा. इसका इस्तेमाल उन संग्रहों को निकालने के लिए किया जा सकता है जिनमें यूनिकोड फ़ाइल नाम नहीं हैं या जिनमें ऐसी फ़ाइलें हैं जो केस-इनसेंसिटिव फ़ाइल सिस्टम पर एक ही पाथ में निकाली जाएंगी.

execute

exec_result repository_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")

आर्ग्युमेंट की सूची में दिए गए कमांड को लागू करता है. कमांड को पूरा होने में timeout सेकंड लग सकते हैं. डिफ़ॉल्ट रूप से, यह समय 600 सेकंड होता है. यह तरीका, exec_result स्ट्रक्चर दिखाता है, जिसमें निर्देश का आउटपुट होता है. environment मैप का इस्तेमाल, प्रोसेस में पास किए जाने वाले कुछ एनवायरमेंट वैरिएबल को बदलने के लिए किया जा सकता है.

पैरामीटर

पैरामीटर ब्यौरा
arguments sequence; ज़रूरी है
आर्ग्युमेंट की सूची, पहला एलिमेंट, प्रोग्राम को चलाने का पाथ होना चाहिए.
timeout int; डिफ़ॉल्ट रूप से 600
होता है सेकंड में, कमांड की ज़्यादा से ज़्यादा अवधि (डिफ़ॉल्ट रूप से 600 सेकंड).
environment dict; डिफ़ॉल्ट {}
है प्रोसेस में पास करने के लिए, कुछ एनवायरमेंट वैरिएबल को सेट करने के लिए मजबूर करें. एनवायरमेंट वैरिएबल हटाने के लिए, वैल्यू None हो सकती है.
quiet bool; डिफ़ॉल्ट तौर पर True
होता है अगर टर्मिनल पर stdout और stderr को प्रिंट करना है.
working_directory string; डिफ़ॉल्ट तौर पर ""
होता है निर्देशों को लागू करने के लिए काम करने वाली डायरेक्ट्री. यह रिपॉज़िटरी रूट के हिसाब से या एब्सोलूट हो सकता है. डिफ़ॉल्ट रूप से, यह रिपॉज़िटरी का रूट होता है.

एक्सट्रैक्ट

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

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

पैरामीटर

पैरामीटर ब्यौरा
archive स्ट्रिंग; या लेबल; या पाथ; ज़रूरी है
उस संग्रह का पाथ जिसे अनपैक किया जाएगा. यह पाथ, रिपॉज़िटरी डायरेक्ट्री से जुड़ा होना चाहिए.
output स्ट्रिंग; या लेबल; या पाथ; डिफ़ॉल्ट रूप से ''
वह पाथ जहां संग्रह को अनपैक किया जाएगा. यह पाथ, रिपॉज़िटरी डायरेक्ट्री से लिया जाता है.
strip_prefix string; डिफ़ॉल्ट रूप से ''
होता है यह, निकाली गई फ़ाइलों से हटाने के लिए डायरेक्ट्री का प्रीफ़िक्स होता है. कई संग्रहों में एक टॉप-लेवल डायरेक्ट्री होती है, जिसमें संग्रह की सभी फ़ाइलें होती हैं. build_file में इस प्रीफ़िक्स को बार-बार बताने के बजाय, इस फ़ील्ड का इस्तेमाल करके, उसे निकाली गई फ़ाइलों से हटाया जा सकता है.

साथ काम करने के लिए, इस पैरामीटर का इस्तेमाल, अब इस्तेमाल नहीं किए जाने वाले नाम stripPrefix के तहत भी किया जा सकता है.

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

फ़ाइल

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

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

पैरामीटर

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

getenv

string repository_ctx.getenv(name, default=None)

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

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

पैरामीटर

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

नाम

string repository_ctx.name

इस नियम से बनाए गए बाहरी रिपॉज़िटरी का नाम.

os

repository_os repository_ctx.os

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

पैच

None repository_ctx.patch(patch_file, strip=0, *, watch_patch='auto')

बाहरी रिपॉज़िटरी की रूट डायरेक्ट्री में पैच फ़ाइल लागू करें. पैच फ़ाइल, स्टैंडर्ड यूनिफ़ाइड डिफ़ फ़ॉर्मैट फ़ाइल होनी चाहिए. Bazel-नेटिव पैच लागू करने की सुविधा, पैच कमांड-लाइन टूल की तरह फ़ज़ मैच और बाइनरी पैच के साथ काम नहीं करती.

पैरामीटर

पैरामीटर ब्यौरा
patch_file स्ट्रिंग; या लेबल; या पाथ; ज़रूरी है
लागू करने के लिए पैच फ़ाइल, यह लेबल, रिलेटिव पाथ या ऐब्सलूट पाथ हो सकती है. अगर यह रिलेटिव पाथ है, तो यह रिपॉज़िटरी डायरेक्ट्री पर रीडायरेक्ट करेगा.
strip int; डिफ़ॉल्ट 0
है फ़ाइल के नामों से, तय की गई संख्या के शुरुआती कॉम्पोनेंट हटाएं.
watch_patch स्ट्रिंग; डिफ़ॉल्ट रूप से 'auto'
पैच फ़ाइल को वॉच करना है या नहीं. यह स्ट्रिंग 'yes', 'no' या 'auto' हो सकती है. 'yes' का इस्तेमाल करने का मतलब है कि watch() का तरीका तुरंत लागू हो जाएगा. 'no' का इस्तेमाल करने पर, फ़ाइल को देखने की कोशिश नहीं की जाएगी. 'auto' का इस्तेमाल करने पर, फ़ाइल को सिर्फ़ तब देखा जाएगा, जब ऐसा करना कानूनी हो. ज़्यादा जानकारी के लिए, watch() दस्तावेज़ देखें.

पाथ

path repository_ctx.path(path)

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

पैरामीटर

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

पढ़ा गया

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

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

पैरामीटर

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

नाम बदलें

None repository_ctx.rename(src, dst)

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

पैरामीटर

पैरामीटर ब्यौरा
src स्ट्रिंग; या लेबल; या पाथ; ज़रूरी है
मौजूदा फ़ाइल या डायरेक्ट्री का पाथ, जिसका नाम बदलना है. यह पाथ, रिपॉज़िटरी डायरेक्ट्री के हिसाब से होना चाहिए.
dst स्ट्रिंग; या लेबल; या पाथ; ज़रूरी है
यह वह नया नाम है जिससे फ़ाइल या डायरेक्ट्री का नाम बदला जाएगा. यह नाम, रिपॉज़िटरी डायरेक्ट्री के हिसाब से दिया जाता है.

report_progress

None repository_ctx.report_progress(status='')

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

पैरामीटर

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

None repository_ctx.symlink(target, link_name)

फ़ाइल सिस्टम पर सिमलिंक बनाता है.

पैरामीटर

पैरामीटर ब्यौरा
target स्ट्रिंग; या लेबल; या पाथ; ज़रूरी है
वह पाथ जिस पर सिमलंक को ले जाना चाहिए.
स्ट्रिंग; या लेबल; या पाथ; ज़रूरी है
बनाने के लिए सिर्फ़ लिंक का पाथ.

टेंप्लेट

None repository_ctx.template(path, template, substitutions={}, executable=True, *, watch_template='auto')

template का इस्तेमाल करके नई फ़ाइल जनरेट करता है. template में substitutions की किसी कुंजी की हर बार आने पर, उसे उससे जुड़ी वैल्यू से बदल दिया जाएगा. नतीजा path में लिखा गया है. executable आर्ग्युमेंट (डिफ़ॉल्ट रूप से 'सही') को सेट करके, एक्सीक्यूटेबल बिट को चालू या बंद किया जा सकता है. हालांकि, यह आर्ग्युमेंट देना ज़रूरी नहीं है.

पैरामीटर

पैरामीटर ब्यौरा
path स्ट्रिंग; या लेबल; या पाथ; ज़रूरी है
रिपॉज़िटरी डायरेक्ट्री के हिसाब से, बनाई जाने वाली फ़ाइल का पाथ.
template स्ट्रिंग; या लेबल; या पाथ; ज़रूरी है
टेंप्लेट फ़ाइल का पाथ.
substitutions dict; डिफ़ॉल्ट {}
है टेंप्लेट को बड़ा करते समय किए जाने वाले बदलाव.
executable bool; डिफ़ॉल्ट रूप से True
है बनाई गई फ़ाइल पर, 'चलाया जा सकता है' फ़्लैग सेट करें. यह डिफ़ॉल्ट रूप से 'सही' पर सेट होता है.
watch_template स्ट्रिंग; डिफ़ॉल्ट तौर पर 'auto'
टेंप्लेट फ़ाइल को देखना है या नहीं. यह स्ट्रिंग 'yes', 'no' या 'auto' हो सकती है. 'yes' का इस्तेमाल करने का मतलब है कि watch() का तरीका तुरंत लागू हो जाएगा. 'no' का इस्तेमाल करने पर, फ़ाइल को देखने की कोशिश नहीं की जाएगी. 'auto' का इस्तेमाल करने पर, फ़ाइल को सिर्फ़ तब देखा जाएगा, जब ऐसा करना कानूनी हो. ज़्यादा जानकारी के लिए, watch() दस्तावेज़ देखें.

देखें

None repository_ctx.watch(path)

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

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

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

पैरामीटर

पैरामीटर ब्यौरा
path स्ट्रिंग; या लेबल; या पाथ; ज़रूरी है
वीडियो देखने के लिए, फ़ाइल का पाथ.

watch_tree

None repository_ctx.watch_tree(path)

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

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

पैरामीटर

पैरामीटर ब्यौरा
path स्ट्रिंग; या लेबल; या पाथ; ज़रूरी है
व्यू के लिए डायरेक्ट्री ट्री का पाथ.

कौनसा

path repository_ctx.which(program)

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

पैरामीटर

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

workspace_root

path repository_ctx.workspace_root

bazel को शुरू करने के लिए इस्तेमाल किए गए रूट वर्कस्पेस का पाथ.