बेज़ेल का परिचय

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

Basel एक ओपन सोर्स बिल्ड और टेस्ट टूल है. यह Make, Maven, और Gradle की तरह ही है. इस ऐप्लिकेशन में ऐसी बिल्ड लैंग्वेज का इस्तेमाल किया जाता है जिसे कोई भी व्यक्ति आसानी से पढ़ सके. साथ ही, यह बिल्ड लैंग्वेज का इस्तेमाल भी करता हो. Basel के प्रोजेक्ट, कई भाषाओं में काम करते हैं. साथ ही, कई प्लैटफ़ॉर्म के लिए आउटपुट तैयार करते हैं. Basel के कई रिपॉज़िटरी (डेटा स्टोर करने की जगह) में बड़े कोडबेस और बड़ी संख्या में उपयोगकर्ता काम करते हैं.

फ़ायदे

बेज़ल के ये फ़ायदे हैं:

  • हाई-लेवल बिल्ड लैंग्वेज. बेज़ल आपके प्रोजेक्ट की बिल्ड प्रॉपर्टी के बारे में बताने के लिए, ऐसी भाषा का इस्तेमाल करता है जिसे लोग आसानी से पढ़ सकते हैं. अन्य टूल के उलट, Basel का सिस्टम लाइब्रेरी, बाइनरी, स्क्रिप्ट, और डेटा सेट के सिद्धांतों पर काम करता है. इससे आपको कंपाइलर और लिंकर जैसे अलग-अलग टूल का इस्तेमाल करने में आने वाली परेशानी से बचाया जाता है.

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

  • Bazz कई प्लैटफ़ॉर्म पर काम करता है. Basel, Linux, macOS, और Windows पर चलता है. Baज़ल, एक ही प्रोजेक्ट से कई प्लैटफ़ॉर्म के लिए बाइनरी और डिप्लॉय किए जा सकने वाले पैकेज बना सकता है. इनमें डेस्कटॉप, सर्वर, और मोबाइल शामिल हैं.

  • बेज़ल स्केल. Basel ने 100 हज़ार से ज़्यादा सोर्स फ़ाइलों का इस्तेमाल करके अपने ऐप्लिकेशन को चुस्त-दुरुस्त रखा है. यह लाखों डेटा स्टोर करने की जगहों और उपयोगकर्ता आधारों पर काम करता है.

  • Basel का साइज़ बढ़ाया जा सकता है. यह सुविधा कई भाषाओं में उपलब्ध है. हालांकि, किसी दूसरी भाषा या फ़्रेमवर्क के लिए, Basel का इस्तेमाल किया जा सकता है.

Basel का इस्तेमाल करना

Basel के साथ कोई प्रोजेक्ट बनाने या टेस्ट करने के लिए, आम तौर पर ये काम किए जाते हैं:

  1. Basel का सेट अप पूरा करें. Basel को डाउनलोड करें और इंस्टॉल करें.

  2. एक प्रोजेक्ट workspace सेट अप करें. यह एक ऐसी डायरेक्ट्री है जहां Basel, बिल्ड इनपुट और BUILD फ़ाइलें ढूंढता है. साथ ही, जहां यह बिल्ड आउटपुट को स्टोर करता है.

  3. एक BUILD फ़ाइल लिखें, जिससे बेज़ल को यह पता चलता है कि उसे क्या बनाना है और कैसे बनाना है.

    अपनी BUILD फ़ाइल बनाने के लिए, Starlark का इस्तेमाल करके बिल्ड टारगेट का एलान करें. यह एक खास भाषा है. (उदाहरण यहां देखें.)

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

    बिल्ड के नियम में, कंपाइलर और लिंकर और उनके कॉन्फ़िगरेशन जैसे बिल्ड टूल का इस्तेमाल किया जाता है. बेज़ल उन प्लैटफ़ॉर्म पर काम करता है जिनमें इस्तेमाल की जा सकने वाली भाषाओं में, सबसे सामान्य आर्टफ़ैक्ट टाइप के बारे में जानकारी दी गई है. इसके लिए कई नियम बनाए गए हैं.

  4. कमांड लाइन से बेज़ल चलाएं. Basel आपके आउटपुट को फ़ाइल फ़ोल्डर में रखता है.

बिल्डिंग के अलावा, अपने कोड में डिपेंडेंसी को ट्रेस करने के लिए, Basel का इस्तेमाल टेस्ट करने और बिल्ड को क्वेरी करने के लिए भी किया जा सकता है.

बेज़ल बिल्ड प्रोसेस

बिल्ड या टेस्ट चलाते समय, Baze ये काम करता है:

  1. टारगेट से जुड़ी BUILD फ़ाइलों को लोड करता है.

  2. यह इनपुट और उनकी डिपेंडेंसी का विश्लेषण करता है, बताए गए बिल्ड नियमों को लागू करता है, और एक कार्रवाई ग्राफ़ बनाता है.

  3. फ़ाइनल बिल्ड आउटपुट बनने तक, इनपुट पर बिल्ड कार्रवाइयों को लागू करता है.

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

ऐक्शन ग्राफ़

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

शुरू करने के बारे में ट्यूटोरियल

Basel के साथ शुरू करने के लिए, शुरू करना देखें या सीधे बेज़ल ट्यूटोरियल पर जाएं: