implementation
फ़ंक्शन के लिए आर्ग्युमेंट के तौर पर एक formula_ctx ऑब्जेक्ट मिलता है.
पैसे चुकाकर बने सदस्य
- attr
- मिटाएं
- डाउनलोड
- download_and_extract
- एक्ज़ीक्यूट करें
- एक्सट्रैक्ट करें
- फ़ाइल
- name
- ओएस
- पैच
- पाथ
- पढ़ें
- report_progress
- लिंक
- टेंप्लेट
- कौनसा
- workspace_root
attr
struct repository_ctx.attrएट्रिब्यूट की वैल्यू ऐक्सेस करने से जुड़ा स्ट्रक्चर. ये वैल्यू उपयोगकर्ता से मिलती हैं (अगर नहीं, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाता है).
मिटाएं
bool repository_ctx.delete(path)किसी फ़ाइल या डायरेक्ट्री को मिटाता है. इससे यह पता चलता है कि इस कॉल से फ़ाइल या डायरेक्ट्री को मिटाया गया है या नहीं.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
path
|
string; or path
ज़रूरीमिटाने के लिए फ़ाइल का पाथ, रिपॉज़िटरी डायरेक्ट्री या ऐब्सोल्यूट के हिसाब से होना चाहिए. पाथ या स्ट्रिंग हो सकती है. |
डाउनलोड करें
struct repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')दिए गए यूआरएल के आउटपुट पाथ में कोई फ़ाइल डाउनलोड करता है और
success
वाला फ़्लैग दिखाता है, जो true
वाला एक फ़्लैग होता है. अगर डाउनलोड पूरा हो जाता है, तो फ़ाइल से जुड़ा हैश, और sha256
और integrity
वाले फ़ाइल का हैश हो जाता है.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
url
|
string; or Iterable of strings
ज़रूरी हैएक ही फ़ाइल के बारे में बताने वाले डुप्लीकेट यूआरएल की सूची. |
output
|
string; or Label; or path :
डिफ़ॉल्ट = ''आउटपुट फ़ाइल का पाथ, रिपॉज़िटरी डायरेक्ट्री के हिसाब से. |
sha256
|
डिफ़ॉल्ट = '' डाउनलोड की गई फ़ाइल का अनुमानित SHA-256 हैश. यह डाउनलोड की गई फ़ाइल के SHA-256 हैश से मेल खाना चाहिए. SHA-256 को हटाने से सुरक्षा का जोखिम होता है, क्योंकि रिमोट फ़ाइलें बदल सकती हैं. इस फ़ील्ड को सबसे ज़्यादा मिटाने से यह काम आसान नहीं होता. डेवलपमेंट को आसान बनाना ज़रूरी नहीं है. हालांकि, शिपिंग से पहले इसे सेट किया जाना चाहिए. |
executable
|
डिफ़ॉल्ट = गलत बनाई गई फ़ाइल पर एक्ज़ीक्यूटेबल फ़्लैग सेट करें, डिफ़ॉल्ट रूप से गलत पर सेट करें. |
allow_fail
|
डिफ़ॉल्ट = गलत अगर सेट है, तो फ़ेल हो चुके डाउनलोड के लिए गड़बड़ी दर्ज करने के बजाय, रिटर्न वैल्यू में गड़बड़ी दिखाएं |
canonical_id
|
डिफ़ॉल्ट = '' अगर सेट किया जाता है, तो कैश हिट को उन मामलों में सीमित करें जहां फ़ाइल को एक ही कैननिकल आईडी वाली कैश मेमोरी में जोड़ा गया था |
auth
|
डिफ़ॉल्ट = {} एक वैकल्पिक शब्द है, जो कुछ यूआरएल के लिए पुष्टि करने की जानकारी देता है. |
integrity
|
डिफ़ॉल्ट = '' डाउनलोड की गई फ़ाइल का अपेक्षित चेकसम यह डाउनलोड की गई फ़ाइल के चेकसम से मेल खाना चाहिए. रिमोट फ़ाइलें बदलने के दौरान, चेकसम को छोड़ देना एक सुरक्षा जोखिम है. इस फ़ील्ड को सबसे ज़्यादा मिटाने से यह काम आसान नहीं होता. डेवलपमेंट को आसान बनाना ज़रूरी नहीं है. हालांकि, शिपिंग से पहले इसे सेट किया जाना चाहिए. |
डाउनलोड_और_एक्सट्रैक्ट करें
struct repository_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})दिए गए यूआरएल के लिए आउटपुट पाथ में कोई फ़ाइल डाउनलोड करता है, उसे एक्सट्रैक्ट करता है, और
success
वाला फ़्लैग दिखाता है जो true
होने पर डाउनलोड पूरा होता है. अगर यह सफल होता है, तो sha256
और integrity
फ़ील्ड के साथ फ़ाइल का हैश होता है.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
url
|
string; or Iterable of strings
ज़रूरी हैएक ही फ़ाइल के बारे में बताने वाले डुप्लीकेट यूआरएल की सूची. |
output
|
string; or Label; or path , डिफ़ॉल्ट = ''उस डायरेक्ट्री का पाथ जहां संग्रह को अनपैक किया जाएगा. |
sha256
|
डिफ़ॉल्ट = '' डाउनलोड की गई फ़ाइल का अनुमानित SHA-256 हैश. यह डाउनलोड की गई फ़ाइल के SHA-256 हैश से मेल खाना चाहिए. SHA-256 को हटाने से सुरक्षा का जोखिम होता है, क्योंकि रिमोट फ़ाइलें बदल सकती हैं. इस फ़ील्ड को सबसे ज़्यादा मिटाने से यह काम आसान नहीं होता. डेवलपमेंट को आसान बनाना ज़रूरी नहीं है. हालांकि, शिपिंग से पहले इसे सेट किया जाना चाहिए. अगर दिए गए हैश से, डेटा स्टोर करने की जगह की जानकारी दी गई है, तो पहले उसकी जांच की जाएगी. डाउनलोड करने की कोशिश तभी की जाएगी, जब फ़ाइल कैश मेमोरी में मौजूद न हो. डाउनलोड हो जाने के बाद, फ़ाइल को कैश मेमोरी में जोड़ दिया जाएगा. |
type
|
डिफ़ॉल्ट = '' डाउनलोड की गई फ़ाइल का संग्रह टाइप. डिफ़ॉल्ट रूप से, संग्रहित करने का तरीका यूआरएल के फ़ाइल एक्सटेंशन से तय होता है. अगर फ़ाइल में कोई एक्सटेंशन नहीं है, तो "zip", "j अपने", "वार", "ar", "tar"g", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".tbz", ".ar" या ".de" को साफ़ तौर पर बताया जा सकता है. |
stripPrefix
|
डिफ़ॉल्ट = '' निकाली गई फ़ाइलों से स्ट्रिप निकालने के लिए डायरेक्ट्री प्रीफ़िक्स. कई संग्रहों में एक टॉप-लेवल की डायरेक्ट्री होती है, जिसमें संग्रह की सभी फ़ाइलें होती हैं. build_file में इस प्रीफ़िक्स को दिखाने की ज़रूरत नहीं होती है. हालांकि, इस फ़ील्ड का इस्तेमाल, निकाली गई फ़ाइलों से बार-बार हटाने के लिए किया जा सकता है.
|
allow_fail
|
डिफ़ॉल्ट = गलत अगर सेट है, तो फ़ेल हो चुके डाउनलोड के लिए गड़बड़ी दर्ज करने के बजाय, रिटर्न वैल्यू में गड़बड़ी दिखाएं |
canonical_id
|
डिफ़ॉल्ट = '' अगर सेट किया जाता है, तो कैश हिट को उन मामलों में सीमित करें जहां फ़ाइल को एक ही कैननिकल आईडी वाली कैश मेमोरी में जोड़ा गया था |
auth
|
डिफ़ॉल्ट = {} एक वैकल्पिक शब्द है, जो कुछ यूआरएल के लिए पुष्टि करने की जानकारी देता है. |
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
|
डिफ़ॉल्ट = सही अगर stdout और stderr को टर्मिनल पर प्रिंट किया जाना चाहिए. |
working_directory
|
डिफ़ॉल्ट = "" कमांड एक्ज़ीक्यूशन के लिए डायरेक्ट्री. डेटा स्टोर करने की जगह के रूट या ऐब्सलूट रेफ़रंस में दिखाया जा सकता है. |
एक्सट्रैक्ट
None repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={})डेटा स्टोर करने की जगह वाली डायरेक्ट्री में किसी संग्रह को निकालें.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
archive
|
string; or Label; or path ;
संग्रह के लिए ज़रूरीपाथ, जो रिपॉज़िटरी डायरेक्ट्री के हिसाब से अनपैक किया जाएगा. |
output
|
string; or Label; or path , डिफ़ॉल्ट = ''उस डायरेक्ट्री का पाथ जहां संग्रह को अनपैक किया जाएगा. |
stripPrefix
|
डिफ़ॉल्ट = '' निकाली गई फ़ाइलों से स्ट्रिप निकालने के लिए डायरेक्ट्री प्रीफ़िक्स. कई संग्रहों में एक टॉप-लेवल की डायरेक्ट्री होती है, जिसमें संग्रह की सभी फ़ाइलें होती हैं. build_file में इस प्रीफ़िक्स को दिखाने की ज़रूरत नहीं होती है. हालांकि, इस फ़ील्ड का इस्तेमाल, निकाली गई फ़ाइलों से बार-बार हटाने के लिए किया जा सकता है.
|
rename_files
|
डिफ़ॉल्ट = {} एक वैकल्पिक डिक्शनरी, जिसमें एक्सट्रैक्शन के दौरान फ़ाइलों का नाम बदलना होता है. संग्रहित की गई एंट्री का नाम ऐसी कुंजी से पूरी तरह मैच करना चाहिए जो डायरेक्ट्री की प्रीफ़िक्स अडजस्टमेंट से पहले, वैल्यू में बदल जाएगी. इसका इस्तेमाल उन संग्रहों को निकालने के लिए किया जा सकता है जिनमें गैर-यूनिकोड फ़ाइल नाम शामिल होते हैं या जिनमें ऐसी फ़ाइलें होती हैं जो केस-इनसेंसिटिव फ़ाइल सिस्टम के एक ही पाथ पर ले जाती हैं. |
फ़ाइल
None repository_ctx.file(path, content='', executable=True, legacy_utf8=True)दिए गए कॉन्टेंट के साथ रिपॉज़िटरी डायरेक्ट्री में एक फ़ाइल जनरेट करता है.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
path
|
string; or Label; or path ;
रिपॉज़िटरी डायरेक्ट्री के हिसाब से, फ़ाइल बनाने के लिए पाथ की ज़रूरत होती है. |
content
|
डिफ़ॉल्ट = '' बनाई जाने वाली फ़ाइल का कॉन्टेंट, डिफ़ॉल्ट रूप से खाली होता है. |
executable
|
डिफ़ॉल्ट = True बनाई गई फ़ाइल पर एक्ज़ीक्यूटेबल फ़्लैग सेट करें, डिफ़ॉल्ट रूप से सही. |
legacy_utf8
|
डिफ़ॉल्ट = True फ़ाइल के कॉन्टेंट को UTF-8 में एन्कोड करें, जो डिफ़ॉल्ट रूप से सही होता है. आने वाले वर्शन डिफ़ॉल्ट तौर पर बदल जाएंगे और इस पैरामीटर को हटा देंगे. |
नाम
string repository_ctx.nameइस नियम से बनाए गए बाहरी रिपॉज़िटरी का नाम.
ओएस
repository_os repository_ctx.osसिस्टम से जानकारी ऐक्सेस करने का तरीका.
पैच
None repository_ctx.patch(patch_file, strip=0)डेटा स्टोर करने की बाहरी जगह की रूट डायरेक्ट्री में पैच फ़ाइल लागू करें. पैच फ़ाइल एक स्टैंडर्ड यूनिफ़ाइड डिफ़ फ़ॉर्मैट फ़ाइल होनी चाहिए. Bazel-Native पैच लागू करने पर, fuzz Match और पैच कमांड लाइन टूल जैसे बाइनरी पैच का इस्तेमाल नहीं किया जा सकता.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
patch_file
|
string; or Label; or path
ज़रूरीलागू की जाने वाली पैच फ़ाइल, यह लेबल, रिलेटिव पाथ या ऐब्सलूट पाथ हो सकती है. अगर यह रिलेटिव पाथ है, तो यह रिपॉज़िटरी डायरेक्ट्री में बदल जाएगा. |
strip
|
डिफ़ॉल्ट = 0 तय किए गए कॉम्पोनेंट की संख्या को फ़ाइल के नामों से हटाएं. |
पाथ
path repository_ctx.path(path)किसी स्ट्रिंग, लेबल या पाथ से पाथ दिखाता है. अगर पाथ रिलेटिव है, तो रिपॉज़िटरी डायरेक्ट्री से मिलती-जुलती वैल्यू मिलेगी. अगर पाथ एक लेबल है, तो यह संबंधित फ़ाइल के पाथ में बदल जाएगा. ध्यान दें कि विश्लेषण के चरण के दौरान रिमोट रिपॉज़िटरी चलाए जाते हैं, और इसलिए यह टारगेट नतीजे पर निर्भर नहीं करती. लेबल, जनरेट न की गई फ़ाइल पर ले जाना चाहिए. अगर पाथ एक पाथ है, तो वह पहले जैसा ही रहेगा.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
path
|
string; or Label; or path ,
ज़रूरीस्ट्रिंग, लेबल या पाथ जिससे पाथ बनाना है |
पढ़ना
string repository_ctx.read(path)फ़ाइल सिस्टम की फ़ाइल का कॉन्टेंट पढ़ता है.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
path
|
पढ़ने के लिए फ़ाइल का string; or Label; or path
पाथज़रूरी है. |
रिपोर्ट_प्रगति
None repository_ctx.report_progress(status='')इस रिपॉज़िटरी या मॉड्यूल एक्सटेंशन को फ़ेच करने की प्रोसेस की स्थिति को अपडेट करता है
पैरामीटर
पैरामीटर | जानकारी |
---|---|
status
|
string :
डिफ़ॉल्ट = ''स्ट्रिंग, फ़ेच करने की स्थिति की मौजूदा स्थिति बताती है |
सिमलिंक
None repository_ctx.symlink(target, link_name)फ़ाइल सिस्टम में सिमलिंक बनाता है.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
target
|
string; or Label; or path
ज़रूरीवह पाथ जिससे सिमलिंक दिखना चाहिए. |
link_name
|
string; or Label; or path
ज़रूरीरिपॉज़िटरी डायरेक्ट्री के हिसाब से बनाने के लिए सिमलिंक का पाथ. |
टेंप्लेट
None repository_ctx.template(path, template, substitutions={}, executable=True)
template
का इस्तेमाल करके नई फ़ाइल जनरेट करता है. substitutions
के बटन में से हर एक template
को, उससे जुड़ी वैल्यू से बदल दिया जाएगा. नतीजा path
में लिखा गया है. एक्ज़ीक्यूटेबल बिट को चालू या बंद करने के लिए, एक वैकल्पिक executable
आर्ग्युमेंट (डिफ़ॉल्ट तौर पर सही) पर सेट किया जा सकता है.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
path
|
string; or Label; or path ;
रिपॉज़िटरी डायरेक्ट्री के हिसाब से, फ़ाइल बनाने के लिए पाथ की ज़रूरत होती है. |
template
|
टेंप्लेट फ़ाइल का
string; or Label; or path
पाथज़रूरी है. |
substitutions
|
डिफ़ॉल्ट = {} टेंप्लेट को बड़ा करते समय किए जाने वाले विकल्प. |
executable
|
डिफ़ॉल्ट = True बनाई गई फ़ाइल पर एक्ज़ीक्यूटेबल फ़्लैग सेट करें, डिफ़ॉल्ट रूप से सही. |
कौनसा
path repository_ctx.which(program)पाथ में कोई प्रोग्राम न होने पर, उससे जुड़े प्रोग्राम का पाथ या 'कोई नहीं' दिखाता है.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
program
|
ज़रूरी है पाथ में ढूंढने के लिए प्रोग्राम. |
None
वापस किया जा सकता है.
फ़ाइल फ़ोल्डर_रूट
path repository_ctx.workspace_rootबेज़ल शुरू करने के रूट फ़ाइल फ़ोल्डर का पाथ.