बैजल के बारे में जानकारी

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

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

फ़ायदे

Bazel पर ये फ़ायदे हैं:

  • बिल्ड की भाषा का बेहतरीन लेवल. Ba इतने ऊंचे अर्थ वाले स्तर पर आपके प्रोजेक्ट की बिल्ड प्रॉपर्टी की जानकारी देने के लिए, खास शब्दों का इस्तेमाल करता है. अन्य टूल के उलट, Bazel, लाइब्रेरी, बाइनरी, स्क्रिप्ट, और डेटा सेट के कॉन्सेप्ट पर काम करता है. इससे, कंपाइलर और लिंकर जैसे टूल में अलग-अलग कॉल लिखने में आने वाली दिक्कतों से बचा जा सकता है.

  • Ba इतने तेज़ और भरोसेमंद ऐप्लिकेशन हैं. Bazel, पहले किए गए सभी काम कैश मेमोरी में ले लेता है और फ़ाइल कॉन्टेंट और बिल्ड निर्देशों, दोनों में होने वाले बदलावों को ट्रैक करता है. इस तरह, बाज़ल को पता चलता है कि किसी चीज़ को कब बनाना है और उसे फिर से बनाना है. अपने बिल्ड को और तेज़ बनाने के लिए, अपना प्रोजेक्ट सेट अप करें. इससे,

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

  • बेज़ल स्केल. 1,00,000 से ज़्यादा सोर्स फ़ाइलों की मदद से बेज़ल, तेज़ी से काम करता है. यह डेटा स्टोर करने की कई जगहों और हज़ारों में लोगों के आधार पर काम करता है.

  • बाज़ल, विशाल है. कई भाषाएं इसमें इस्तेमाल की जा सकती हैं और कोई अन्य भाषा या फ़्रेमवर्क करने के लिए Bazel को बड़ा किया जा सकता है.

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

Bazel की मदद से प्रोजेक्ट बनाने या उसकी जांच करने के लिए, आम तौर पर ये काम किए जाते हैं:

  1. Ba आवाज़ सेट अप करें. Bazel को डाउनलोड और इंस्टॉल करें.

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

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

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

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

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

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

इमारत बनाने के अलावा, आप अपने ऐप्लिकेशन की डिपेंडेंसी को ट्रैक करने के लिए, टेस्ट चलाने और बिल्ड का क्वेरी करने का भी इस्तेमाल कर सकते हैं.

बैज़ल बनाने की प्रक्रिया

बिल्ड या टेस्ट करते समय, Bazel पर ये काम किए जाते हैं:

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

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

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

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

ऐक्शन ग्राफ़

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

शुरुआती ट्यूटोरियल

Bazel का इस्तेमाल शुरू करने के लिए, इस्तेमाल शुरू करना देखें या सीधे Bazel ट्यूटोरियल पर जाएं: