अगर आपका कोई सवाल है या आपको मदद चाहिए, तो सहायता पाना देखें.
बेज़ल क्या है?
Basel एक ऐसा टूल है जो सॉफ़्टवेयर बनाने और परीक्षण करने को ऑटोमेट करता है. इसके साथ काम करने वाले बिल्ड टास्क में, एक्ज़ीक्यूटेबल प्रोग्राम और लाइब्रेरी बनाने के लिए कंपाइलर और लिंकर चलाना शामिल है. साथ ही, Android, iOS, और अन्य टारगेट एनवायरमेंट के डिप्लॉय किए जा सकने वाले पैकेज इकट्ठा करना भी शामिल है. Basel, Make, Ant, Gradle, Buck, Pants, और Maven जैसे दूसरे टूल की तरह काम करते हैं.
बेज़ल की खासियत क्या है?
Basel को Google में डेवलप किए गए सॉफ़्टवेयर के हिसाब से डिज़ाइन किया गया था. इसमें ये सुविधाएं हैं:
- कई भाषाओं में काम करता है: Basel का प्लैटफ़ॉर्म कई भाषाओं में काम करता है. इसे आर्बिट्रेरी प्रोग्रामिंग भाषाओं के साथ काम करने के लिए बढ़ाया जा सकता है.
- हाई-लेवल बिल्ड लैंग्वेज: प्रोजेक्ट को
BUILD
लैंग्वेज में बताया जाता है. यह एक छोटा टेक्स्ट फ़ॉर्मैट होता है. इसमें प्रोजेक्ट के बारे में, आपस में जुड़ी छोटी लाइब्रेरी, बाइनरी, और टेस्ट के सेट के तौर पर जानकारी दी जाती है. इसके उलट, Make जैसे टूल की मदद से आपको अलग-अलग फ़ाइलों और कंपाइलर अनुरोधों का ब्यौरा देना होता है. - मल्टी-प्लैटफ़ॉर्म की सुविधा: एक ही टूल और वही
BUILD
फ़ाइलों का इस्तेमाल, अलग-अलग आर्किटेक्चर और यहां तक कि अलग-अलग प्लैटफ़ॉर्म के लिए सॉफ़्टवेयर बनाने के लिए किया जा सकता है. Google में, हम अपने डेटा सेंटर के सिस्टम पर चल रहे सर्वर ऐप्लिकेशन से लेकर मोबाइल फ़ोन पर चलने वाले क्लाइंट ऐप्लिकेशन तक, सब कुछ बनाने के लिए Bagel का इस्तेमाल करते हैं. - रीप्रोडक्शन डिपेंडेंसी:
BUILD
फ़ाइलों में, हर लाइब्रेरी, टेस्ट, और बाइनरी को अपनी डायरेक्ट डिपेंडेंसी के बारे में पूरी जानकारी देनी होगी. Baज़ल, डिपेंडेंसी से जुड़ी इस जानकारी का इस्तेमाल यह जानने के लिए करता है कि सोर्स फ़ाइल में बदलाव करने पर, क्या फिर से बनाना होगा. साथ ही, कौनसे टास्क साथ-साथ चल सकते हैं. इसका मतलब है कि सभी बिल्ड इंक्रीमेंटल (बढ़ने वाले) होते हैं और उनसे हमेशा एक ही नतीजा मिलता है. - बड़े स्तर पर इस्तेमाल किए जा सकने वाले: Basel के साइज़, बड़े बिल्ड को मैनेज करने की सुविधा देते हैं; Google में, सर्वर बाइनरी में 100k सोर्स फ़ाइलें होना आम बात है. साथ ही, ऐसी बिल्ड करने में करीब 200 मि॰से॰ लगते हैं जहां किसी फ़ाइल में कोई बदलाव नहीं किया जाता.
Google,... का इस्तेमाल क्यों नहीं करता?
- बनाएं, निंजा: ये टूल इस बात पर बहुत ही सटीक कंट्रोल देते हैं कि फ़ाइलें बनाने के लिए कौनसे निर्देश शुरू किए जाएं. हालांकि, यह उपयोगकर्ता पर निर्भर करता है कि वे सही नियम लिखें.
- उपयोगकर्ता, बैजल के साथ बड़े लेवल पर इंटरैक्ट करते हैं. उदाहरण के लिए, Basel में “Java टेस्ट”, “C++ बाइनरी”, और “टारगेट प्लैटफ़ॉर्म” और “होस्ट प्लैटफ़ॉर्म” जैसे नोशन के लिए पहले से ही नियम मौजूद हैं. इन नियमों की जांच करके यह पाया गया है कि ये नियम किसी काम के लिए पूरी तरह सुरक्षित नहीं हैं.
- Ant और Maven: आम तौर पर, Ant और Maven का ध्यान Java के लिए बनाया जाता है. वहीं, Basel की ओर से कई भाषाओं का इस्तेमाल किया जाता है. Baज़ल, कोड बेस को फिर से इस्तेमाल की जा सकने वाली छोटी इकाइयों में अलग-अलग सबग्रुप में बांटने के लिए बढ़ावा देता है. साथ ही, इसकी मदद से सिर्फ़ वही यूनिट दोबारा बनाई जा सकती हैं जिन्हें फिर से बनाने की ज़रूरत होती है. इससे बड़े कोड बेस के साथ काम करते समय, डेवलपमेंट की रफ़्तार बढ़ जाती है.
- Gradle: Basel की कॉन्फ़िगरेशन फ़ाइलें, Gradle की कॉन्फ़िगरेशन फ़ाइलों से बहुत ज़्यादा स्ट्रक्चर की होती हैं, इनसे बेज़ल को यह समझने में मदद मिलती है कि हर कार्रवाई से क्या होता है. यह ज़्यादा समानांतरिज़म और बेहतर तरीके से पैदा होने की अनुमति देता है.
- पैंट, बक: दोनों टूल को भूतपूर्व Googler ने Twitter और Forsquare और Facebook के भूतपूर्व उपयोगकर्ताओं ने बनाया और डेवलप किया है. इन्हें Baज़ल के बाद, मॉडल के तौर पर पेश किया गया है, लेकिन इनकी सुविधाओं के सेट अलग हैं. इसलिए, ये हमारे लिए बेहतर विकल्प नहीं हैं.
बेज़ल कहां से आए?
Basel एक टूल का फ़्लेवर है. Google इसका इस्तेमाल करके, संगठन के अंदर ही अपना सर्वर सॉफ़्टवेयर तैयार करता है. इसका दायरा अन्य सॉफ़्टवेयर बनाने के लिए भी हुआ है, जैसे कि मोबाइल ऐप्लिकेशन (iOS, Android) जो हमारे सर्वर से कनेक्ट होते हैं.
क्या आपने अपने इंटरनल टूल को फिर से ओपन सोर्स के तौर पर लिखा? क्या यह कांटा है?
Basel के कोड, इंटरनल टूल के साथ शेयर किए जाते हैं. साथ ही, इसके नियमों का इस्तेमाल हर दिन लाखों बिल्ड के लिए किया जाता है.
Google ने Basel को क्यों बनाया?
बहुत समय पहले, Google ने अपना सॉफ़्टवेयर बनाने के लिए, बड़ी संख्या में जनरेट की गई Makefiles का इस्तेमाल किया था. इनकी वजह से ऐप्लिकेशन को धीरे-धीरे बनाया गया और भरोसे लायक नहीं बनाया गया. इसकी वजह से हमारे डेवलपर की उत्पादकता और कंपनी के तेज़ी से काम करने में रुकावट आने लगी. बेज़ल इन समस्याओं को हल करने का एक तरीका था.
क्या Basel के लिए बिल्ड क्लस्टर की ज़रूरत होती है?
Basel, बिल्ड ऑपरेशन को डिफ़ॉल्ट रूप से चलाता है. हालांकि, Basel को बिल्ड क्लस्टर से भी कनेक्ट किया जा सकता है, ताकि वह पहले से ज़्यादा तेज़ी से बिल्ड और टेस्ट कर सके. ज़्यादा जानकारी के लिए, रिमोट तरीके से एक्ज़ीक्यूट करने और कैश मेमोरी में सेव करने और रिमोट कैश मेमोरी में सेव करने के बारे में हमारा दस्तावेज़ देखें.
Google की डेवलपमेंट प्रोसेस कैसे काम करती है?
अपने सर्वर कोड बेस के लिए, हम इस डेवलपमेंट वर्कफ़्लो का इस्तेमाल करते हैं:
- हमारे सभी सर्वर कोड एक बहुत बड़े वर्शन कंट्रोल सिस्टम में मौजूद हैं.
- Basel की मदद से, हर कोई अपना सॉफ़्टवेयर बनाता है.
- अलग-अलग टीमें, सोर्स ट्री के अलग-अलग हिस्सों के मालिक होती हैं और अपने कॉम्पोनेंट को
BUILD
टारगेट के तौर पर उपलब्ध कराती हैं. - ब्रांचिंग का इस्तेमाल मुख्य रूप से रिलीज़ मैनेज करने के लिए किया जाता है. इसलिए, सभी लोग अपने सॉफ़्टवेयर को सबसे पहले डेवलप करने पर काम करते हैं.
इस सोच की बुनियाद आधार पर है: Basel की सभी डिपेंडेंसी को पूरी तरह से तय करने की ज़रूरत होती है. इसलिए, हम अनुमान लगा सकते हैं कि कौनसे प्रोग्राम और टेस्ट, बदलाव से प्रभावित होंगे और इसे सबमिट करने से पहले उनकी जांच की जा सकती है.
Google में डेवलपमेंट की प्रोसेस के बारे में ज़्यादा जानकारी इंजी टूल ब्लॉग पर मिल सकती है.
आपने Basel को क्यों खोला?
सॉफ़्टवेयर बनाना मज़ेदार और आसान होना चाहिए. धीमे और अचानक होने वाले बिल्ड, प्रोग्रामिंग का आनंद लेते हैं.
मुझे Basel का इस्तेमाल क्यों करना चाहिए?
- Basel आपको बिल्ड टाइम को तेज़ कर सकता है, क्योंकि यह सिर्फ़ उन फ़ाइलों को फिर से कंपाइल कर सकता है जिन्हें फिर से कंपाइल करने की ज़रूरत होती है. इसी तरह, वह फिर से चलने वाले उन टेस्ट को छोड़ सकता है जिनके बारे में उसे पता है कि कोई बदलाव नहीं हुआ है.
- Baज़ल, डिटर्मिनिस्टिक नतीजे देता है. यह इंक्रीमेंटल और क्लीन बिल्ड, लैपटॉप और सीआई सिस्टम वगैरह के बीच के अंतर को खत्म करता है.
- Baज़ल, एक ही फ़ाइल फ़ोल्डर से, एक ही टूल का इस्तेमाल करके अलग-अलग क्लाइंट और सर्वर ऐप्लिकेशन बना सकता है. उदाहरण के लिए, क्लाइंट/सर्वर प्रोटोकॉल को सिंगल कमिट में बदला जा सकता है. साथ ही, यह जांच की जा सकती है कि अपडेट किया गया मोबाइल ऐप्लिकेशन, अपडेट किए गए सर्वर के साथ काम करता है या नहीं. साथ ही, यह भी जांचा जा सकता है कि अपडेट किया गया मोबाइल ऐप्लिकेशन, दोनों एक ही टूल का इस्तेमाल करके काम करता है या नहीं. साथ ही, बेज़ल के ऊपर बताए गए सभी फ़ायदे भी मिलते हैं.
क्या मुझे उदाहरण दिखाए जा सकते हैं?
हां; एक आसान उदाहरण देखें या ज़्यादा जटिल उदाहरण के लिए, Bagel सोर्स कोड पढ़ें.
बेज़ल किस जगह पर सबसे अच्छा है?
बेज़ल इन प्रॉपर्टी वाले प्रोजेक्ट बनाने और टेस्ट करने में सबसे अच्छे हैं:
- बड़े कोड बेस वाले प्रोजेक्ट
- एक से ज़्यादा भाषाओं में लिखे गए प्रोजेक्ट
- कई प्लैटफ़ॉर्म पर डिप्लॉय होने वाले प्रोजेक्ट
- ऐसे प्रोजेक्ट जिनमें बहुत ज़्यादा टेस्ट किए जाते हैं
मैं Basel को कहां चला सकता/सकती हूं?
Basel, Linux, macOS (OS X), और Windows पर चलता है.
जब तक प्लैटफ़ॉर्म के लिए JDK उपलब्ध है, तब तक अन्य UNIX प्लैटफ़ॉर्म पर पोर्ट करना आसान होना चाहिए.
मुझे Basel का इस्तेमाल किन कामों के लिए नहीं करना चाहिए?
- बेज़ल, कैश मेमोरी में सेव करने की बेहतर कोशिश करते हैं. इसका मतलब है कि यह ऐसी बिल्ड ऑपरेशन चलाने के लिए सही नहीं है जिनके आउटपुट कैश मेमोरी में सेव न किए जाएं. उदाहरण के लिए, नीचे दिए गए चरण Baze से नहीं चलने चाहिए:
- एक कंपाइलेशन चरण, जो इंटरनेट से डेटा फ़ेच करता है.
- यह जांच का ऐसा चरण है जो आपकी साइट के QA इंस्टेंस से कनेक्ट होता है.
- डिप्लॉयमेंट का ऐसा चरण जो आपकी साइट के क्लाउड कॉन्फ़िगरेशन में बदलाव करता है.
- अगर आपके बिल्ड में कुछ लंबे, क्रम में चलने वाले चरण शामिल हैं, तो हो सकता है कि Basel से आपको ज़्यादा मदद न मिले. लंबे कदमों को छोटे और अलग-अलग टारगेट में बांटकर, आपको ज़्यादा रफ़्तार मिलेगी. बेज़ल साथ-साथ इन लक्ष्यों को पूरा करेगा.
Basel की सुविधाएं कितनी अच्छी तरह से काम करती हैं?
Google में मुख्य सुविधाओं (C++, Java, और शेल के नियम) का बहुत ज़्यादा इस्तेमाल किया जाता है. इसलिए, इन्हें अच्छी तरह से टेस्ट किया गया है और इनका चर्न आउट बहुत कम है. इसी तरह, हम हर दिन लाखों टारगेट में Basel के नए वर्शन टेस्ट करते हैं, ताकि रिग्रेशन का पता लगाया जा सके. साथ ही, हम हर महीने कई बार नए वर्शन रिलीज़ करते हैं.
संक्षेप में, जिन सुविधाओं को एक्सपेरिमेंट के तौर पर मार्क किया गया है उन्हें छोड़कर, Basel को बस काम करना चाहिए. बिना एक्सपेरिमेंट वाले नियमों में किए गए बदलाव, पुराने सिस्टम के साथ काम करेंगे. सुविधा के लिए सहायता की स्थितियों के बारे में ज़्यादा जानकारी, हमारे सहायता दस्तावेज़ में मिल सकती है.
बाइनरी के तौर पर, बेज़ल कितना स्थिर है?
Google के अंदर, हम यह पक्का करते हैं कि Basel के क्रैश होने की संभावना न के बराबर हो. यह हमारे ओपन सोर्स कोडबेस के लिए भी लागू होना चाहिए.
मैं Basel का इस्तेमाल करना कैसे शुरू करूं?
शुरू करना देखें.
क्या Docker, रीप्रॉड्यूसिबिलिटी से जुड़ी समस्याओं को हल नहीं करता?
Docker के ज़रिए आप तय ओएस रिलीज़ वाले सैंडबॉक्स आसानी से बना सकते हैं. उदाहरण के लिए, Ubuntu 12.04, Fedora 21. इससे सिस्टम के एनवायरमेंट के लिए फिर से जनरेट होने की समस्या हल हो जाती है – जैसे, “मुझे /usr/bin/c++ के किस वर्शन की ज़रूरत है?”
Docker, सोर्स कोड में हुए बदलावों की वजह से फिर से जनरेट किए जाने की क्षमता पर ध्यान नहीं देता. Docker कंटेनर में, गलत तरीके से लिखे गए Makefile के साथ Make चलाने से अब भी उम्मीद के मुताबिक नतीजे नहीं मिल सकते हैं.
Google में, हम रीप्रॉड्यूसिबिलिटी के लिए सोर्स कंट्रोल में टूल की जांच करते हैं. इस तरह, हम टूल में हुए बदलावों ("जीसीसी को 4.6.1 पर अपग्रेड करें") में होने वाले बदलावों की जांच उसी तरीके से कर सकते हैं जैसे बेस लाइब्रेरी में किए गए बदलाव ("OpenSSL में सीमाओं की जांच करें").
क्या Docker पर डिप्लॉयमेंट के लिए बाइनरी बनाए जा सकते हैं?
Basel की मदद से, C/C++ में स्टैंडअलोन और स्टैटिक रूप से लिंक की गई बाइनरी बनाई जा सकती हैं. साथ ही, Java के लिए, सेल्फ़-कंटेन्ड जार फ़ाइलें बनाई जा सकती हैं. ये सामान्य UNIX सिस्टम पर कुछ डिपेंडेंसी के साथ चलते हैं. इसलिए, इन्हें Docker कंटेनर में इंस्टॉल करना आसान होना चाहिए.
Baज़ल, ज़्यादा जटिल प्रोग्राम बनाने के तौर-तरीके इस्तेमाल करते हैं. उदाहरण के लिए, एक Java प्रोग्राम जो डेटा फ़ाइलों के सेट का इस्तेमाल करता है या किसी दूसरे प्रोग्राम को सबप्रोसेस के तौर पर चलाता है. ऐसे एनवायरमेंट को स्टैंडअलोन संग्रह के तौर पर पैकेज किया जा सकता है. इससे उन्हें अलग-अलग सिस्टम पर डिप्लॉय किया जा सकता है. इनमें Docker इमेज भी शामिल हैं.
क्या Basel की मदद से, Docker इमेज बनाई जा सकती हैं?
हां, दोबारा बनाई जा सकने वाली Docker इमेज बनाने के लिए, हमारे Docker रूल इस्तेमाल किए जा सकते हैं.
क्या Basel मेरे बिल्ड को अपने-आप फिर से जनरेट कर सकता है?
हां, यह मानते हुए कि Java और C++ बाइनरी के लिए आपने टूलचेन में बदलाव नहीं किया है. अगर आपके पास कस्टम रेसिपी वाले चरण हैं (उदाहरण के लिए, किसी नियम के अंदर शेल स्क्रिप्ट से बाइनरी चलाना), तो आपको कुछ ज़्यादा सावधानी बरतनी होगी:
- उन डिपेंडेंसी का इस्तेमाल न करें जिनका एलान नहीं किया गया है. सैंडबॉक्स किए गए एक्ज़ीक्यूशन (–spawn_strategy=sandboxed, सिर्फ़ Linux पर) की मदद से ऐसी डिपेंडेंसी ढूंढने में मदद मिल सकती है जिसका एलान न किया गया हो.
- जनरेट की गई फ़ाइलों में टाइमस्टैंप और User-ID सेव न करें. ZIP फ़ाइलों और अन्य संग्रह में ऐसा होने का खतरा ज़्यादा होता है.
- नेटवर्क से कनेक्ट न करें. सैंडबॉक्स किए गए एक्ज़ीक्यूशन से यहां भी मदद मिल सकती है.
- ऐसी प्रोसेस से बचें जिनमें रैंडम नंबर का इस्तेमाल होता है. खास तौर पर, कई प्रोग्रामिंग भाषाओं में डिक्शनरी ट्रैवर्सल किसी भी क्रम में हो सकता है.
क्या आपके पास बाइनरी रिलीज़ हैं?
हां, हाल ही में रिलीज़ बाइनरी उपलब्ध हैं और हमारी रिलीज़ नीति देखें
मैं Eclipse/InteliJ/XCode का इस्तेमाल करता/करती हूं. Baज़र, IDE के साथ कैसे इंटरऑपरेट करता है?
IntelliJ के लिए, Babel प्लगिन के साथ InteliJ देखें.
XCode के लिए Tulsi देखें.
Eclipse के लिए, E4B प्लगिन देखें.
अन्य आईडीई के लिए, यह ब्लॉग पोस्ट देखें. इसमें बताया गया है कि ये प्लगिन कैसे काम करते हैं.
मैं जेनकिन्स/सर्कलसीआई/ट्रैविससीआई का इस्तेमाल करता/करती हूं. Baज़र, CI सिस्टम के साथ कैसे इंटरऑपरेट करता है?
बिल्ड या टेस्ट शुरू करने की प्रोसेस फ़ेल होने पर, Basel एक नॉन-ज़ीरो एग्ज़िट कोड दिखाता है. साथ ही, बेसिक सीआई इंटिग्रेशन के लिए यह काफ़ी होना चाहिए. Basel को सटीक बिल्ड की ज़रूरत नहीं होती है, इसलिए बिल्ड/टेस्ट रन शुरू करने से पहले CI सिस्टम को साफ़ करने के लिए कॉन्फ़िगर नहीं किया जाना चाहिए.
एग्ज़िट कोड के बारे में ज़्यादा जानकारी के लिए, इस्तेमाल के लिए गाइड पढ़ें.
आने वाले समय में, Basel में कौन-कौनसी सुविधाएं उपलब्ध हैं?
हमारे रोडमैप देखें.
क्या मैं अपनी INSERT LANGUAGE HERE प्रोजेक्ट के लिए Baज़ल का इस्तेमाल कर सकता/सकती हूं?
Basel का इस्तेमाल किया जा सकता है. कोई भी व्यक्ति नई भाषाओं के लिए सहायता जोड़ सकता है. इसका इस्तेमाल कई भाषाओं में किया जा सकता है: सुझावों की सूची के लिए build enncylopedia पर जाएं और ज़्यादा जानकारी वाली सूची देखने के लिए awesomebazel.com पर जाएं.
अगर आपको एक्सटेंशन डेवलप करने हैं या यह जानना है कि वे कैसे काम करते हैं, तो Basel का दायरा बढ़ाने से जुड़ा दस्तावेज़ देखें.
क्या बेज़ल कोड बेस में योगदान दिया जा सकता है?
योगदान के लिए बने हमारे दिशा-निर्देश देखें.
विकास का पूरा काम खुले क्यों नहीं किया गया है?
हमें अब भी Basel में सार्वजनिक कोड और हमारे इंटरनल एक्सटेंशन के बीच के इंटरफ़ेस को बार-बार रीफ़ैक्टर करना पड़ता है. इस वजह से, खुले में विकास करना मुश्किल हो जाता है.
क्या आपने बैजल की ओपन सोर्सिंग कर ली है?
Basel की ओपन सोर्सिंग प्रक्रिया पर काम चल रहा है. खास तौर पर, हम अब भी ओपन सोर्सिंग पर काम कर रहे हैं:
- हमारे कई यूनिट और इंटिग्रेशन टेस्ट (जिनकी मदद से, पैच करना आसान हो जाना चाहिए).
- पूरा IDE इंटिग्रेशन.
कोड के अलावा, हम चाहते हैं कि सभी कोड समीक्षाएं, गड़बड़ी ट्रैक करने, और डिज़ाइन से जुड़े फ़ैसले सार्वजनिक रूप से लिए जाएं. साथ ही, हम चाहते हैं कि बज़ल समुदाय भी शामिल हो. हम अभी तक इस प्लैटफ़ॉर्म पर मौजूद नहीं हैं. इसलिए, कुछ बदलाव बिना किसी साफ़ जानकारी के बेज़ल रिपॉज़िटरी में दिखेंगे. पारदर्शिता की कमी के बावजूद, हम बाहरी डेवलपर की मदद करना चाहते हैं और साथ मिलकर काम करना चाहते हैं. इस तरह, हम कोड खोल रहे हैं. हालांकि, कुछ डेवलपमेंट Google के अंदर ही चल रहा है. ओपन मॉडल अपनाते समय, अगर हमें कुछ समझ में नहीं आता है या गलत लगता है, तो कृपया हमें बताएं.
क्या Basel के ऐसे हिस्से हैं जिन्हें कभी भी ओपन सोर्स नहीं किया जाएगा?
हां, कुछ कोड बेस या तो Google की टेक्नोलॉजी के साथ इंटिग्रेट होते हैं या हम उन्हें इस समस्या से छुटकारा पाने के लिए कोई बहाना ढूंढते हैं. हालांकि, यह भी हो सकता है कि कोड इन दोनों का मिला-जुला रूप इस्तेमाल कर रहे हों. कोड बेस के ये हिस्से, GitHub पर उपलब्ध नहीं हैं और हो सकता है कि कभी भी उपलब्ध न हों.
मैं टीम से कैसे संपर्क करूं?
हमसे baaz-discuss@googlegroups.com पर संपर्क किया जा सकता है.
मैं गड़बड़ियों की शिकायत कहां करूं?
GitHub पर कोई समस्या खोलें.
कोडबेस में “ब्लेज़” शब्द के बारे में क्या चल रहा है?
यह टूल के लिए एक अंदरूनी नाम है. कृपया Basel को Basel के नाम से रेफ़र करें.
Google के अन्य प्रोजेक्ट (Android, Chrome) अन्य बिल्ड टूल का इस्तेमाल क्यों करते हैं?
पहली (ऐल्फ़ा) रिलीज़ तक, Basel का वर्शन बाहरी रूप से उपलब्ध नहीं था. इसलिए, Chromium और Android जैसे ओपन सोर्स प्रोजेक्ट इसका इस्तेमाल नहीं कर सके. इसके अलावा, मूल रूप से Windows के लिए सहायता की कमी की वजह से, Chrome जैसे Windows के ऐप्लिकेशन बनाने में समस्या आ रही थी. हालांकि, यह प्रोजेक्ट अब सभी के लिए उपलब्ध हो गया है और इसकी परफ़ॉर्मेंस बेहतर हो गई है. इसलिए, Android Open Source Project, बैजल पर माइग्रेट हो रहा है.
“BaZ” को कैसे बोलते हैं?
ठीक उसी तरह जैसे अमेरिकी अंग्रेज़ी में “बेसिल” (जड़ी का पौधा) होता है: “बे-ज़ेल”. इसके साथ “हेज़ल” गाया जाता है. आईपीए: /setbeæzææl/