Basel एक ओपन सोर्स बिल्ड और टेस्ट टूल है. यह Make, Maven, और Gradle की तरह ही है. यह ऐसी भाषा का इस्तेमाल करता है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. Bazel, कई भाषाओं में प्रोजेक्ट बनाने की सुविधा देता है. साथ ही, यह कई प्लैटफ़ॉर्म के लिए आउटपुट बनाता है. Bazel, एक से ज़्यादा रिपॉज़िटरी में बड़े कोडबेस और ज़्यादा उपयोगकर्ताओं के साथ काम करता है.
फ़ायदे
बेज़ल के ये फ़ायदे हैं:
हाई-लेवल बिल्ड लैंग्वेज. Bazel, आपके प्रोजेक्ट की बिल्ड प्रॉपर्टी के बारे में बेहतर तरीके से बताने के लिए, ऐसी भाषा का इस्तेमाल करता है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. अन्य टूल के उलट, Bazel लाइब्रेरी, बाइनरी, स्क्रिप्ट, और डेटा सेट के कांसेप्ट पर काम करता है. इससे आपको कंपाइलर और लिंकर जैसे टूल के लिए अलग-अलग कॉल लिखने की जटिलता से बचा जा सकता है.
Baze, तेज़ और भरोसेमंद डिवाइस है. पहले पूरे किए गए सभी काम को बेज़ल कैश मेमोरी में सेव करता है और फ़ाइल सामग्री और बिल्ड कमांड, दोनों में हुए बदलावों को ट्रैक करता है. इस तरह, Bazel को पता चलता है कि किसी चीज़ को कब फिर से बनाना है और वह सिर्फ़ उसी चीज़ को फिर से बनाता है. अपने बिल्ड को और तेज़ करने के लिए, अपने प्रोजेक्ट को एक साथ और ज़्यादा से ज़्यादा इंक्रीमेंटल तरीके से बिल्ड करने के लिए सेट अप किया जा सकता है.
Bazel, एक से ज़्यादा प्लैटफ़ॉर्म पर काम करता है. Bazel, Linux, macOS, और Windows पर काम करता है. बेज़ल कई प्लैटफ़ॉर्म के लिए बाइनरी और डिप्लॉय किए जा सकने वाले पैकेज बना सकता है. इनमें ये भी शामिल हैं डेस्कटॉप, सर्वर, और मोबाइल को ऐक्सेस करें.
Bazel स्केल. Bazel, 1,00,000 से ज़्यादा सोर्स फ़ाइलों वाले बिल्ड को आसानी से मैनेज करता है. यह कई रिपॉज़िटरी और हज़ारों उपयोगकर्ताओं के साथ काम करता है.
Bazel में एक्सटेंशन जोड़े जा सकते हैं. कई भाषाएं का इस्तेमाल किया जा सकता है. साथ ही, बेज़ल का इस्तेमाल किसी दूसरी भाषा में किया जा सकता है या फ़्रेमवर्क शामिल है.
Bazel का इस्तेमाल करना
आम तौर पर, Bazel की मदद से किसी प्रोजेक्ट को बनाने या उसकी जांच करने के लिए, ये काम किए जाते हैं:
Basel का सेट अप पूरा करें. Bazel डाउनलोड और इंस्टॉल करें.
कोई प्रोजेक्ट वर्कस्पेस सेट अप करें, जो डायरेक्ट्री, जहां बेज़ल बिल्ड इनपुट और
BUILD
फ़ाइलें खोजता है और स्टोर बिल्ड आउटपुट.BUILD
फ़ाइल लिखें. इससे Bazel को यह पता चलता है कि क्या बनाना है और उसे कैसे बनाना है.आप इसका इस्तेमाल करके बिल्ड टारगेट का एलान करके अपनी
BUILD
फ़ाइल लिखते हैं Starlark. यह डोमेन से जुड़ी एक खास भाषा है. (उदाहरण के लिए, यहां देखें.)बिल्ड टारगेट, इनपुट आर्टफ़ैक्ट के एक सेट के साथ-साथ उनकी डिपेंडेंसी के बारे में बताता है. साथ ही, यह भी बताता है कि Bazel इसे बनाने के लिए किस बिल्ड रूल का इस्तेमाल करेगा और बिल्ड रूल को कॉन्फ़िगर करने के लिए कौनसे विकल्प उपलब्ध हैं.
बिल्ड नियम से पता चलता है कि Bazel किन बिल्ड टूल का इस्तेमाल करेगा, जैसे कि कंपाइलर और लिंकर. साथ ही, उनके कॉन्फ़िगरेशन के बारे में भी पता चलता है. बेज़ल कई निर्माण नियमों के साथ शिप करता है इसमें काम करने वाली भाषाओं में, सबसे आम आर्टफ़ैक्ट टाइप को शामिल किया गया है इस्तेमाल किए जा सकते हैं.
कमांड लाइन से बेज़ल चलाएं. बेज़ल आपके आउटपुट को फ़ाइल फ़ोल्डर में रखता है.
बिल्डिंग के अतिरिक्त, आप चलाने के लिए Basel का उपयोग भी कर सकते हैं टेस्ट करना और बिल्ड को क्वेरी करना का इस्तेमाल करें.
बेज़ल बिल्ड प्रोसेस
बिल्ड या टेस्ट चलाते समय, Baze ये काम करता है:
टारगेट से जुड़ी
BUILD
फ़ाइलों को लोड करता है.इनपुट और उनके इवेंट का विश्लेषण करता है dependencies, बताए गए बिल्ड को लागू करती है और कोई कार्रवाई जनरेट करता है ग्राफ़.
आखिरी बिल्ड आउटपुट तैयार होने तक, इनपुट पर बिल्ड ऐक्शन इस्तेमाल करता है.
बिल्ड का पिछला काम कैश मेमोरी में सेव होता है. इसलिए, Ba ज़रिए कैश मेमोरी की पहचान करके उसे फिर से इस्तेमाल किया जा सकता है और सिर्फ़ उन आर्टफ़ैक्ट को फिर से बनाने या फिर से टेस्ट करने के लिए इस्तेमाल किया जा सकता है जिनमें बदलाव हुआ है. बेहतर तरीके से लागू करने के लिए सटीक होने के बारे में, तो आपके पास Baकोई प्रॉडक्ट के बिल्ड और टेस्ट चलाने के लिए उसे सेट अप करने का विकल्प है बेहतर तरीके से सैंडबॉक्स की सुविधा इस्तेमाल करके, समस्या को कम करना साथ ही, जनरेट होने की क्षमता को बढ़ाएं.
ऐक्शन ग्राफ़
कार्रवाई ग्राफ़, बिल्ड आर्टफ़ैक्ट, उनके बीच के संबंध, और बिल्ड ऐक्शन के बारे में भी बताएंगे. इस ग्राफ़ की बदौलत, बेज़ल ये काम कर सकते हैं: track में फ़ाइल के कॉन्टेंट को देख सकता है. साथ ही, कार्रवाइयों में बदलाव कर सकता है, जैसे कि बिल्ड या टेस्ट कमांड, और यह जानने के लिए कि निर्माण का कौन-सा काम पहले किया जा चुका है. ग्राफ़ की मदद से, अपने कोड में डिपेंडेंसी को आसानी से ट्रैक किया जा सकता है.
शुरू करने के बारे में ट्यूटोरियल
Bazel का इस्तेमाल शुरू करने के लिए, शुरू करना देखें या सीधे Bazel के ट्यूटोरियल पर जाएं: