implementation फ़ंक्शन के लिए repository_ctx ऑब्जेक्ट मिलता है.
सदस्य
- attr
- मिटाएं
- download
- download_and_extract
- execute
- extract
- फ़ाइल
- getenv
- name
- original_name
- os
- पैच
- path
- पढ़ें
- rename
- repo_metadata
- report_progress
- symlink
- template
- watch
- watch_tree
- कौनसी
- workspace_root
attr
structure 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
|
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 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
|
string; या strings का Iterable;
ज़रूरी है एक ही फ़ाइल का रेफ़रंस देने वाले मिरर यूआरएल की सूची. |
output
|
string; या Label; या path;
डिफ़ॉल्ट तौर पर ''होता है यह उस डायरेक्ट्री का पाथ होता है जहां संग्रह को अनपैक किया जाएगा. यह पाथ, डेटाबेस डायरेक्ट्री के हिसाब से होता है. |
sha256
|
string;
डिफ़ॉल्ट तौर पर ''होता है डाउनलोड की गई फ़ाइल का SHA-256 हैश. यह डाउनलोड की गई फ़ाइल के SHA-256 हैश से मेल खाना चाहिए. SHA-256 को शामिल न करने से सुरक्षा से जुड़ा जोखिम हो सकता है, क्योंकि रिमोट फ़ाइलें बदली जा सकती हैं. इस फ़ील्ड को शामिल न करने पर, आपकी बिल्ड नॉन-हर्मेटिक हो जाएगी. इसे सेट करना ज़रूरी नहीं है, लेकिन इससे डेवलपमेंट की प्रोसेस आसान हो जाती है. हालांकि, इसे शिपिंग से पहले सेट करना ज़रूरी है. अगर हैश दिया गया है, तो रिपॉज़िटरी की कैश मेमोरी में दिए गए हैश वाली फ़ाइल की जांच की जाएगी. फ़ाइल को सिर्फ़ तब डाउनलोड करने की कोशिश की जाएगी, जब वह कैश मेमोरी में न मिले. डाउनलोड हो जाने के बाद, फ़ाइल को कैश मेमोरी में जोड़ दिया जाएगा. |
type
|
string;
डिफ़ॉल्ट तौर पर ''होता है डाउनलोड की गई फ़ाइल का संग्रह टाइप. डिफ़ॉल्ट रूप से, संग्रह के टाइप का पता यूआरएल के फ़ाइल एक्सटेंशन से चलता है. अगर फ़ाइल का कोई एक्सटेंशन नहीं है, तो यहां "zip", "jar", "war", "aar", "nupkg", "whl", "tar", "tar.gz", "tgz", "gz", "tar.xz", "txz", "xz", "tar.zst", "tzst", "zst", "tar.bz2", "tbz", "bz2", "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 repository_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;
डिफ़ॉल्ट तौर पर ""होता है कमांड को लागू करने के लिए वर्किंग डायरेक्ट्री. यह रिपॉज़िटरी के रूट के हिसाब से या पूरी तरह से तय किया जा सकता है. डिफ़ॉल्ट रूप से, यह रिपॉज़िटरी का रूट होता है. |
एक्सट्रैक्ट करें
None repository_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() दस्तावेज़ देखें.
|
फ़ाइल
None repository_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 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')पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
patch_file
|
string; या Label; या path;
required लागू करने के लिए पैच फ़ाइल. यह लेबल, रिलेटिव पाथ या ऐब्सलूट पाथ हो सकता है. अगर यह रिलेटिव पाथ है, तो यह रिपॉज़िटरी डायरेक्ट्री में बदल जाएगा. |
strip
|
int;
डिफ़ॉल्ट रूप से 0होता है फ़ाइल के नामों से, शुरू के कॉम्पोनेंट की तय की गई संख्या को हटाता है. |
watch_patch
|
string;
डिफ़ॉल्ट रूप से 'auto'होता है पैच फ़ाइल को वॉच करना है या नहीं. यह 'yes', 'no' या 'auto' स्ट्रिंग हो सकती है. 'yes' पास करने का मतलब है कि watch() तरीके को तुरंत लागू करना; 'no' पास करने का मतलब है कि फ़ाइल को देखने की कोशिश नहीं की जाएगी; 'auto' पास करने का मतलब है कि फ़ाइल को सिर्फ़ तब देखने की कोशिश की जाएगी, जब ऐसा करना कानूनी हो (ज़्यादा जानकारी के लिए, watch() दस्तावेज़ देखें.
|
पाथ
path repository_ctx.path(path)
repository_ctx है, तो रिलेटिव पाथ को रिपॉज़िटरी डायरेक्ट्री के हिसाब से देखा जाएगा. अगर यह module_ctx है, तो रिलेटिव पाथ को इस मॉड्यूल एक्सटेंशन के लिए, कुछ समय के लिए काम करने वाली डायरेक्ट्री के हिसाब से देखा जाएगा. अगर पाथ कोई लेबल है, तो यह उससे जुड़ी फ़ाइल के पाथ पर रीडायरेक्ट हो जाएगा. ध्यान दें कि रिमोट रिपॉज़िटरी और मॉड्यूल एक्सटेंशन, विश्लेषण के दौरान लागू किए जाते हैं. इसलिए, ये टारगेट नतीजे पर निर्भर नहीं हो सकते. लेबल को ऐसी फ़ाइल की ओर ले जाना चाहिए जो जनरेट नहीं की गई है. अगर पाथ कोई पाथ है, तो यह उस पाथ को वैसे ही दिखाएगा.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
path
|
string; या Label; या path;
ज़रूरी हैstring, Label या path, जिससे पाथ बनाना है.
|
पढ़ा गया
string repository_ctx.read(path, *, watch='auto')
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
path
|
string; या Label; या path;
ज़रूरी है उस फ़ाइल का पाथ जिससे डेटा पढ़ना है. |
watch
|
string;
डिफ़ॉल्ट रूप से 'auto'होता है फ़ाइल को वॉच करना है या नहीं. यह 'yes', 'no' या 'auto' स्ट्रिंग हो सकती है. 'yes' पास करने का मतलब है कि watch() तरीके को तुरंत लागू करना; 'no' पास करने का मतलब है कि फ़ाइल को देखने की कोशिश नहीं की जाएगी; 'auto' पास करने का मतलब है कि फ़ाइल को सिर्फ़ तब देखने की कोशिश की जाएगी, जब ऐसा करना कानूनी हो (ज़्यादा जानकारी के लिए, watch() दस्तावेज़ देखें.
|
नाम बदलें
None repository_ctx.rename(src, dst)src से बदलकर dst किया जाता है. ज़रूरत के हिसाब से पैरंट डायरेक्ट्री बनाई जाती हैं. अगर डेस्टिनेशन पाथ पहले से मौजूद है, तो यह फ़ेल हो जाता है. दोनों पाथ, रिपॉज़िटरी में मौजूद होने चाहिए.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
src
|
string; या Label; या path;
required यह रिपॉज़िटरी डायरेक्ट्री के हिसाब से, नाम बदलने के लिए मौजूदा फ़ाइल या डायरेक्ट्री का पाथ होता है. |
dst
|
string; या Label; या path;
required वह नया नाम जिसे फ़ाइल या डायरेक्ट्री को दिया जाएगा. यह नाम, रिपॉज़िटरी डायरेक्ट्री के हिसाब से होगा. |
repo_metadata
repo_metadata repository_ctx.repo_metadata(*, reproducible=False, attrs_for_reproducibility={})
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
reproducible
|
bool;
डिफ़ॉल्ट तौर पर Falseहै इससे पता चलता है कि इस रेपो को फिर से फ़ेच किया जा सकता है. इसका मतलब है कि अगर इसे ठीक उसी इनपुट एट्रिब्यूट, रेपो नियम की परिभाषा, मॉनिटर की गई फ़ाइलों, और एनवायरमेंट वैरिएबल वगैरह के साथ फिर से फ़ेच किया जाता है, तो ठीक वैसा ही आउटपुट मिलेगा. यह प्रॉपर्टी तब भी काम करनी चाहिए, जब ट्रैक न की गई अन्य स्थितियां बदल जाएं. जैसे, इंटरनेट से मिली जानकारी, वर्कस्पेस रूट का पाथ, मनमुताबिक एक्ज़ीक्यूटेबल चलाने से मिला आउटपुट वगैरह. अगर इसे True पर सेट किया जाता है, तो फ़ेच किए गए रेपो कॉन्टेंट को सभी वर्कस्पेस में कैश मेमोरी में सेव किया जा सकता है. ध्यान दें कि इस विकल्प को 'सही' पर सेट करने से, यह गारंटी नहीं मिलती कि रिपॉज़िटरी के कॉन्टेंट की कैश मेमोरी में कैशिंग होगी. उदाहरण के लिए, स्थानीय रिपॉज़िटरी के नियमों को कभी भी कैश नहीं किया जाता. |
attrs_for_reproducibility
|
dict;
डिफ़ॉल्ट तौर पर {}होता है अगर reproducible की वैल्यू False है, तो इसे सेट किया जा सकता है. इससे Bazel को यह पता चलता है कि ओरिजनल repo नियम के किन एट्रिब्यूट में बदलाव करना है, ताकि इसे फिर से बनाया जा सके.
|
report_progress
None repository_ctx.report_progress(status='')पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
status
|
string;
डिफ़ॉल्ट रूप से ''होता है string फ़ेच करने की प्रोसेस के मौजूदा स्टेटस के बारे में बताता है.
|
सिमलिंक
None repository_ctx.symlink(target, link_name)पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
target
|
string; या Label; या path;
ज़रूरी है वह पाथ जिस पर सिमलंक को पॉइंट करना चाहिए. |
link_name
|
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
|
dict;
डिफ़ॉल्ट तौर पर {}होता है टेंप्लेट को बड़ा करते समय किए जाने वाले बदलाव. |
executable
|
bool;
डिफ़ॉल्ट तौर पर Trueहै बनाई गई फ़ाइल पर एक्ज़ीक्यूटेबल फ़्लैग सेट करें. यह डिफ़ॉल्ट रूप से सही पर सेट होता है. |
watch_template
|
string;
डिफ़ॉल्ट तौर पर 'auto'होता है यह तय करता है कि टेंप्लेट फ़ाइल को वॉच करना है या नहीं. यह 'yes', 'no' या 'auto' स्ट्रिंग हो सकती है. 'yes' पास करने का मतलब है कि watch() तरीके को तुरंत लागू करना; 'no' पास करने का मतलब है कि फ़ाइल को देखने की कोशिश नहीं की जाएगी; 'auto' पास करने का मतलब है कि फ़ाइल को सिर्फ़ तब देखने की कोशिश की जाएगी, जब ऐसा करना कानूनी हो (ज़्यादा जानकारी के लिए, watch() दस्तावेज़ देखें.
|
देखें
None repository_ctx.watch(path)"बदलाव" में फ़ाइल के कॉन्टेंट में किए गए बदलाव शामिल होते हैं. ऐसा तब होता है, जब पाथ कोई फ़ाइल हो. अगर पाथ कोई फ़ाइल था, लेकिन अब कोई डायरेक्ट्री है या इसके उलट है, तो भी बदलाव शामिल होते हैं. इसके अलावा, अगर पाथ मौजूद है या मौजूद नहीं है, तो भी बदलाव शामिल होते हैं. खास तौर पर, अगर पाथ कोई डायरेक्ट्री है, तो डायरेक्ट्री में मौजूद किसी भी फ़ाइल में किए गए बदलाव इसमें शामिल नहीं होते. इसके लिए, path.readdir() का इस्तेमाल करें.
ध्यान दें कि फ़िलहाल जिस रेपो को फ़ेच किया जा रहा है या मौजूदा मॉड्यूल एक्सटेंशन की वर्किंग डायरेक्ट्री में मौजूद पाथ को देखने की कोशिश करने पर, गड़बड़ी होगी. अगर कोई मॉड्यूल एक्सटेंशन, Bazel के मौजूदा फ़ाइल फ़ोल्डर से बाहर के पाथ को मॉनिटर करने की कोशिश करता है, तो भी गड़बड़ी होगी.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
path
|
string; या Label; या path;
required नज़र रखने के लिए फ़ाइल का पाथ. |
watch_tree
None repository_ctx.watch_tree(path)ध्यान दें कि फ़िलहाल फ़ेच की जा रही रेपो के अंदर मौजूद पाथ को देखने की कोशिश करने पर, गड़बड़ी होगी.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
path
|
string; या Label; या path;
ज़रूरी है निगरानी के लिए डायरेक्ट्री ट्री का पाथ. |
कौनसा
path repository_ctx.which(program)
path दिखाता है. अगर पाथ में ऐसा कोई प्रोग्राम मौजूद नहीं है, तो यह None दिखाता है.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
program
|
string;
ज़रूरी है पाथ में ढूंढने के लिए प्रोग्राम. |
None को वापस किया जा सकता है.
workspace_root
path repository_ctx.workspace_root