BazelCon 2022, 16 नवंबर से 17 नवंबर तक न्यूयॉर्क में और ऑनलाइन उपलब्ध है.
आज ही रजिस्टर करें!

रिपॉज़िटरी_डिस्ट्रिब्यूशन

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

सदस्य

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='')

दिए गए यूआरएल के लिए आउटपुट पाथ में एक फ़ाइल डाउनलोड करता है और 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='')

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

पैरामीटर

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

एक्ज़ीक्यूट करें

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='')

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

पैरामीटर

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

फ़ाइल

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

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

पैरामीटर

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

नाम

string repository_ctx.name

इस नियम से बनाए गए बाहरी डेटा स्टोर करने की जगह का नाम.

ओएस

repository_os repository_ctx.os

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

पैच

None repository_ctx.patch(patch_file, strip=0)

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

पैरामीटर

पैरामीटर विवरण
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; ज़रूरी
पाथ.

report_progress

None repository_ctx.report_progress(status)

इस डेटा को फ़ेच करने की स्थिति में बदलाव होता है

पैरामीटर

पैरामीटर विवरण
status string; ज़रूरी है
ऐसी स्ट्रिंग जो फ़ेच की मौजूदा स्थिति के बारे में बताती है

None repository_ctx.symlink(from, to)

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

पैरामीटर

पैरामीटर विवरण
from string; or Label; or path; ज़रूरी
पाथ जिस पर बना सिमलिंक लिंक होना चाहिए.
to डेटा स्टोर करने की जगह वाली डायरेक्ट्री के मुकाबले, बनाने के लिए सिमलिंक का 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 डिफ़ॉल्ट = सही
बनाई गई फ़ाइल पर एक्ज़ीक्यूटेबल फ़्लैग सेट करें, डिफ़ॉल्ट रूप से सही.

कौनसा

path repository_ctx.which(program)

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

पैरामीटर

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

workspace_root

path repository_ctx.workspace_root

बेज़ेल शुरू करने के रूट फ़ाइल फ़ोल्डर के रूट का पाथ.