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

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

सदस्य

attr

struct repository_ctx.attr

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

मिटाएं

bool repository_ctx.delete(path)

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

पैरामीटर

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

डाउनलोड करें

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

download_and_extract

struct repository_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 repository_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 डिफ़ॉल्ट रूप से ""
होता है यह कमांड को एक्ज़ीक्यूट करने के लिए वर्किंग डायरेक्ट्री होती है. यह रिपॉज़िटरी के रूट के हिसाब से या पूरी तरह से तय किया जा सकता है. डिफ़ॉल्ट रूप से, यह रिपॉज़िटरी का रूट होता है.

एक्सट्रैक्ट करें

None repository_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 repository_ctx.file(path, content='', executable=True, legacy_utf8=True)

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

पैरामीटर

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

getenv

string repository_ctx.getenv(name, default=None)

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

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

पैरामीटर

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

नाम

string repository_ctx.name

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

original_name

string repository_ctx.original_name

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

os

repository_os repository_ctx.os

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

पैच

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

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

पैरामीटर

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

पाथ

path repository_ctx.path(path)

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

पैरामीटर

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

पढ़ा गया

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

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

पैरामीटर

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

report_progress

None repository_ctx.report_progress(status='')

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

पैरामीटर

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

None repository_ctx.symlink(target, link_name)

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

पैरामीटर

पैरामीटर ब्यौरा
target string; या Label; या path; ज़रूरी है
वह पाथ जिस पर सिमलंक को पॉइंट करना चाहिए.
string; या Label; या path; required
सिमलिंक बनाने का पाथ.

टेंप्लेट

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

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

पैरामीटर

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

देखें

None repository_ctx.watch(path)

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

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

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

पैरामीटर

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

watch_tree

None repository_ctx.watch_tree(path)

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

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

पैरामीटर

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

कौनसा

path repository_ctx.which(program)

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

पैरामीटर

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

workspace_root

path repository_ctx.workspace_root

Bazel इनवोकेशन के रूट वर्कस्पेस का पाथ.