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

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

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

पैसे चुकाकर बने सदस्यों के लिए

एट्रिब्यूट

struct repository_ctx.attr

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

मिटाएं

bool repository_ctx.delete(path)

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

पैरामीटर

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

डाउनलोड करें

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

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

पैरामीटर

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

पैरामीटर

पैरामीटर ब्यौरा
url string; या string के दोहराए जा सकने वाले; ज़रूरी हैं
एक ही फ़ाइल के बारे में बताने वाले डुप्लीकेट यूआरएल की सूची.
output string; या लेबल; या पाथ; डिफ़ॉल्ट रूप से, उस डायरेक्ट्री का ''
पाथ होता है जहां संग्रह को अनपैक किया जाएगा. यह रिपॉज़िटरी डायरेक्ट्री से अलग होता है.
sha256 डिफ़ॉल्ट, डाउनलोड की गई फ़ाइल का अनुमानित SHA-256 हैश ''
है. यह डाउनलोड की गई फ़ाइल के SHA-256 हैश से मेल खाना चाहिए. SHA-256 को छोड़ना सुरक्षा जोखिम है, क्योंकि रिमोट फ़ाइलें बदल सकती हैं. इस फ़ील्ड को छोड़ने पर, आपका बिल्ड नॉन-हेरमेटिक बन जाएगा. प्रॉडक्ट को आसानी से डेवलप करने के लिए, इसे सेट करना ज़रूरी नहीं है. हालांकि, इसे शिपिंग से पहले सेट किया जाना चाहिए. अगर यह उपलब्ध कराया जाता है, तो डेटा स्टोर करने की जगह की कैश मेमोरी की जांच, पहले दी गई हैश वाली फ़ाइल के लिए की जाएगी. डाउनलोड करने की कोशिश सिर्फ़ तब की जाएगी, जब कैश मेमोरी में फ़ाइल न मिली हो. डाउनलोड होने के बाद, फ़ाइल को कैश मेमोरी में जोड़ दिया जाएगा.
type डाउनलोड की गई फ़ाइल का संग्रह टाइप डिफ़ॉल्ट रूप से ''
है. डिफ़ॉल्ट रूप से, संग्रह का टाइप यूआरएल के फ़ाइल एक्सटेंशन से तय होता है. अगर फ़ाइल का कोई एक्सटेंशन नहीं है, तो "zip", "jar", "var", "aar", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".tbz", ".ar", में से किसी एक के बारे में साफ़ तौर पर बताएं.
stripPrefix डिफ़ॉल्ट रूप से यह ''
एक्सट्रैक्ट की गई फ़ाइलों से अलग करने के लिए एक डायरेक्ट्री प्रीफ़िक्स है. कई संग्रह में एक टॉप-लेवल की डायरेक्ट्री होती है, जिसमें संग्रह की सभी फ़ाइलें होती हैं. इस प्रीफ़िक्स को build_file में बार-बार तय करने की ज़रूरत नहीं होती. इसके बजाय, इस फ़ील्ड का इस्तेमाल करके, इसे निकाली गई फ़ाइलों से हटाया जा सकता है.
allow_fail डिफ़ॉल्ट वैल्यू False पर सेट है
अगर इसे सेट किया गया है, तो पूरे न हो पाने वाले डाउनलोड के लिए गड़बड़ी दिखाने के बजाय, रिटर्न वैल्यू में गड़बड़ी की जानकारी दें
canonical_id डिफ़ॉल्ट वैल्यू '' है
अगर सेट हो, तो कैश हिट को उन मामलों में सीमित करें जहां फ़ाइल को उसी कैननिकल आईडी से कैश में जोड़ा गया था
auth डिफ़ॉल्ट यह है {}
एक ऐसा वैकल्पिक निर्देश है जिसमें कुछ यूआरएल की पुष्टि करने की जानकारी दी गई होती है.
headers डिफ़ॉल्ट {} है
एक ऐसा वैकल्पिक निर्देश है जो सभी यूआरएल के लिए एचटीटीपी हेडर तय करता है.
integrity डिफ़ॉल्ट रूप से यह ''
डाउनलोड की गई फ़ाइल का अपेक्षित चेकसम होता है. यह सबरिसॉर्स इंटिग्रिटी फ़ॉर्मैट में होता है. यह डाउनलोड की गई फ़ाइल के चेकसम से मेल खाना चाहिए. चेकसम को छोड़ना एक सुरक्षा जोखिम है, क्योंकि रिमोट फ़ाइलें बदल सकती हैं. इस फ़ील्ड को छोड़ने पर, आपका बिल्ड नॉन-हेरमेटिक बन जाएगा. प्रॉडक्ट को आसानी से डेवलप करने के लिए, इसे सेट करना ज़रूरी नहीं है. हालांकि, इसे शिपिंग से पहले सेट किया जाना चाहिए.
rename_files डिफ़ॉल्ट रूप से यह {} पर सेट होता है
एक वैकल्पिक निर्देश, जिसमें एक्सट्रैक्शन के दौरान फ़ाइलों के नाम बदलने होते हैं. जिन संग्रहित एंट्री के नाम किसी कुंजी से पूरी तरह मेल खाते हैं उनका नाम बदलकर, वैल्यू के नाम कर दिया जाएगा. ऐसा डायरेक्ट्री प्रीफ़िक्स अडजस्टमेंट से पहले होगा. इसका इस्तेमाल ऐसे संग्रहों को एक्सट्रैक्ट करने के लिए किया जा सकता है जिनमें बिना यूनिकोड फ़ाइल नाम वाले फ़ाइल नाम हों या जिनमें ऐसी फ़ाइलें हों जो केस-इनसेंसिटिव फ़ाइल सिस्टम पर उसी पाथ पर ले जाएंगी.

execute

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; या लेबल; या पाथ; संग्रह के लिए ज़रूरी
ऐसा पाथ जिसे अनपैक किया जाएगा. यह रिपॉज़िटरी डायरेक्ट्री से जुड़ा होगा.
output string; या लेबल; या पाथ; डिफ़ॉल्ट रूप से, उस डायरेक्ट्री का ''
पाथ होता है जहां संग्रह को अनपैक किया जाएगा. यह रिपॉज़िटरी डायरेक्ट्री से अलग होता है.
stripPrefix डिफ़ॉल्ट रूप से यह ''
एक्सट्रैक्ट की गई फ़ाइलों से अलग करने के लिए एक डायरेक्ट्री प्रीफ़िक्स है. कई संग्रह में एक टॉप-लेवल की डायरेक्ट्री होती है, जिसमें संग्रह की सभी फ़ाइलें होती हैं. इस प्रीफ़िक्स को build_file में बार-बार तय करने की ज़रूरत नहीं होती. इसके बजाय, इस फ़ील्ड का इस्तेमाल करके, इसे निकाली गई फ़ाइलों से हटाया जा सकता है.
rename_files डिफ़ॉल्ट रूप से यह {} पर सेट होता है
एक वैकल्पिक निर्देश, जिसमें एक्सट्रैक्शन के दौरान फ़ाइलों के नाम बदलने होते हैं. जिन संग्रहित एंट्री के नाम किसी कुंजी से पूरी तरह मेल खाते हैं उनका नाम बदलकर, वैल्यू के नाम कर दिया जाएगा. ऐसा डायरेक्ट्री प्रीफ़िक्स अडजस्टमेंट से पहले होगा. इसका इस्तेमाल ऐसे संग्रहों को एक्सट्रैक्ट करने के लिए किया जा सकता है जिनमें बिना यूनिकोड फ़ाइल नाम वाले फ़ाइल नाम हों या जिनमें ऐसी फ़ाइलें हों जो केस-इनसेंसिटिव फ़ाइल सिस्टम पर उसी पाथ पर ले जाएंगी.
watch_archive डिफ़ॉल्ट रूप से यह 'auto'
होता है कि संग्रहित फ़ाइल को देखना है या नहीं. यह 'हां', 'नहीं' या 'अपने-आप' स्ट्रिंग हो सकती है. 'हां' को पास करना watch() मेथड को तुरंत शुरू करने के बराबर है; 'नहीं' को पास करने से फ़ाइल को देखने की कोशिश नहीं की जाती; 'ऑटो' को पास करने से फ़ाइल को देखने की कोशिश सिर्फ़ तब की जाएगी, जब ऐसा करना कानूनी हो (ज़्यादा जानकारी के लिए watch() दस्तावेज़ देखें.

फ़ाइल

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

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

पैरामीटर

पैरामीटर ब्यौरा
path string; या लेबल; या पाथ; बनाने के लिए फ़ाइल का पाथ ज़रूरी
है, जो रिपॉज़िटरी डायरेक्ट्री से जुड़ा होता है.
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

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

os

repository_os repository_ctx.os

सिस्टम से जानकारी ऐक्सेस करने का निर्देश.

पैच

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

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

पैरामीटर

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

पाथ

path repository_ctx.path(path)

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

पैरामीटर

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

पढ़ना

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

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

पैरामीटर

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

report_progress

None repository_ctx.report_progress(status='')

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

पैरामीटर

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

None repository_ctx.symlink(target, link_name)

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

पैरामीटर

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

टेंप्लेट

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

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

पैरामीटर

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

स्मार्टवॉच

None repository_ctx.watch(path)

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

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

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

पैरामीटर

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

watch_tree

None repository_ctx.watch_tree(path)

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

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

पैरामीटर

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

कौनसा

path repository_ctx.which(program)

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

पैरामीटर

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

workspace_root

path repository_ctx.workspace_root

बाज़ेल को शुरू करने की प्रक्रिया के रूट वर्कस्पेस का पाथ.