बेज़ल रोडमैप

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

खास जानकारी

हमारे बेज़ल समुदाय को नए साल की शुभकामनाएं. नए साल में, हम साल 2023 के रोडमैप के बारे में जानकारी देंगे. पिछले साल, हमने बैज़ल 6.0 प्लान के साथ साल 2022 का रोडमैप पब्लिश किया. हमें उम्मीद है कि आपको दी गई रोडमैप से, टूल बनाने से जुड़ी आपकी ज़रूरतों को पूरा करने में मदद मिली होगी. बैजल प्रोजेक्ट आपकी ज़रूरतों को पूरा करने के लिए लगातार काम कर रहा है. इसलिए, हम 2023 का अपडेट शेयर करना चाहते हैं.

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

Bazel 7.0 रिलीज़

हम 2023 के आखिर में, आपको बेज़ल 7.0 लंबे समय तक सहायता (एलटीएस) देने की सुविधा शुरू कर रहे हैं. Bazel 7.0 की मदद से, हम अब तक प्रोसेस किए जा रहे कई आइटम डिलीवर कर रहे हैं. साथ ही, हम उन सुविधाओं को बेहतर बनाने पर काम कर रहे हैं जो हमारे उपयोगकर्ता चाहते हैं.

क्रॉस-प्लैटफ़ॉर्म की कैश मेमोरी को शेयर करने का बेहतर तरीका

यह विकल्प कैश किए गए आर्टफ़ैक्ट को बिल्ड (लोकल) और रिमोट (Linux) के अलग-अलग बिल्ड प्लैटफ़ॉर्म पर शेयर करने की सुविधा देता है. इससे मुख्य रूप से Java/Kotlin और Android डेवलपमेंट का इस्तेमाल होता है. इससे, परफ़ॉर्मेंस बेहतर होती है और कैश मेमोरी बेहतर तरीके से खर्च होती है.

Bazel के साथ Android ऐप्लिकेशन बिल्ड

मेनिफ़ेस्ट और संसाधन मर्ज करने वाले टूल को v30.1.3 वर्शन पर अपडेट किया गया है. इससे Android ऐप्लिकेशन डेवलपर, मेनिफ़ेस्ट को मर्ज करने की नई सुविधाओं का इस्तेमाल कर सकेंगे. जैसे, tools:node="मर्ज".

एक्ज़ीक्यूशन में सुधार

Bazel 7.0, एसिंक्रोनस तरीके से एक्ज़ीक्यूशन की सुविधा देता है. फ़्लैग --jobs की मदद से, एक साथ दूर रहकर भी एक साथ चलाने की सुविधा को तेज़ बनाता है.

Bzlmod: एक्सटर्नल डिपेंडेंसी मैनेजमेंट सिस्टम

Bzlmod, तेज़ी से काम करने के लिए बनी डिपेंडेंसी को अपने-आप ठीक करता है. इससे, प्रोजेक्ट तेज़ी से आगे बढ़ता है और संसाधनों की भी बचत होती है. Bazel 7.0 में, Bazel की बाहरी डिपेंडेंसी मैनेजमेंट की सुविधा में कई सुधार किए गए हैं. इनमें ये शामिल हैं:

  • Bazel में मौजूद डिपेंडेंसी मैनेजमेंट के लिए, Bzlmod को डिफ़ॉल्ट रूप से चालू किया गया है
  • फ़ाइल लॉक करने की सुविधा — Bzlmod के साथ हैमेटिक बिल्ड की सुविधा देती है
  • वेंडर/ऑफ़लाइन मोड काम करता है — उपयोगकर्ताओं को पहले से डाउनलोड की गई डिपेंडेंसी के साथ बिल्ड चलाने की अनुमति देता है
  • डेटा स्टोर करने की जगह की कैश मेमोरी से जुड़ी सहायता
  • Bazel Central Registry में समुदाय से नियमित तौर पर योगदान मिलता है. साथ ही, Bazel के मुख्य नियमों और प्रोजेक्ट को अपनाने से जुड़ी जानकारी भी उपलब्ध होती है

विश्लेषण मेट्रिक बनाना

Bazel 7.0, विश्लेषण के चरण की मेट्रिक देता है, जिससे डेवलपर अपने बिल्ड परफ़ॉर्मेंस को ऑप्टिमाइज़ कर सकते हैं.

डिफ़ॉल्ट रूप से चालू किए गए बाइट के बिना बनाएं

बाइट के बिना बिल्ड परफ़ॉर्मेंस को ऑप्टिमाइज़ करता है. इसके लिए, यह इंटरमीडिएट आर्टफ़ैक्ट डाउनलोड नहीं करता और नेटवर्क बैंडविड्थ पर बिल्डेक को ब्लॉक करता है. जोड़ी गई सुविधाओं में ये शामिल हैं:

स्काईमेल्ड की मदद से उत्पादकता बढ़ाएं

Bazel 7.0 ने स्काईमेल्ड लॉन्च किया — यह एक इवैलुएशन मोड है जो आपके मल्टी-टारगेट बिल्ड के वॉल टाइम को कम करता है. स्काईमेल्ड, बिल्ड की स्पीड को बेहतर बनाने के लिए विश्लेषण और एक्ज़ीक्यूशन चरणों के बीच की रुकावट को खत्म कर देता है, खास तौर पर कई टॉप-लेवल टारगेट वाले बिल्ड के लिए. हालांकि, एक टारगेट वाले बिल्ड के लिए, किसी बड़े बदलाव की उम्मीद नहीं की जाती.

बेज़ल ईकोसिस्टम और टूलिंग

Bazel के साथ Android ऐप्लिकेशन बिल्ड

  • Android के निजी नियमों को Starlark पर माइग्रेट करें: Bazel 7.0 के लिए, Android के नियमों ने Bazel से किए गए डेवलपमेंट को हटाने और कम्यूनिटी में योगदान की सुविधा को बेहतर तरीके से चालू करने के लिए, Starlark पर माइग्रेट किया. इसके अलावा, हमने इन नियमों को बेज़ल की मुख्य बाइनरी से अलग बनाया है. इससे हमें बार-बार रिलीज़ करने की सुविधा मिली है.
  • Android के नियमों को Starlark पर माइग्रेट करना
  • R8 सपोर्ट: Android ऐप्लिकेशन डेवलपर को R8 अपडेट किए गए ऑप्टिमाइज़ेशन का इस्तेमाल करने देता है.
  • मोबाइल इंस्टॉल: Android ऐप्लिकेशन डेवलपर को मोबाइल इंस्टॉल के अपडेट किए गए वर्शन के ज़रिए तेज़ी से कोई भी Android ऐप्लिकेशन बदलाव डेवलप करने, टेस्ट करने देता है.

सॉफ़्टवेयर बिल ऑफ़ मटीरियल डेटा जनरेशन (SBOMs) और OSS लाइसेंस अनुपालन टूल

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

साइन किए गए बिल्ड

Bazel, Windows और Mac के लिए Google कुंजियों से साइन की गई भरोसेमंद बाइनरी देता है. यह सुविधा मल्टी-प्लैटफ़ॉर्म डेवलपर/डेवलपर के लिए, Bazel की बाइनरी के सोर्स की पहचान करने और उनके सिस्टम को नुकसान पहुंचाने वाली बाइनरी से सुरक्षित रखने में मदद करती है.

Java, C++, और Python के नियमों को Starlark पर माइग्रेट करना

Java, C++, और Python नियम सेट को Starlark पर पूरी तरह से माइग्रेट करें. इस प्रयास से Bazel उपयोगकर्ताओं को केवल नियमों को फ़ोर्क करने की अनुमति मिलती है, न कि Bazel बाइनरी कोडबेस से, इससे उपयोगकर्ता

  • ज़रूरत के मुताबिक नियमों को अपडेट करें और उन्हें पसंद के मुताबिक बनाएं
  • Bazel से अलग नियम अपडेट करें

Bazel-JetBrains* IntelliJ IDEA से जुड़ी सहायता

नए JetBrains प्लग इन रिलीज़ के साथ काम करने के लिए, IntelliJ का प्लग इन अपडेट बढ़ाएं.

यह रोडमैप टारगेट को टारगेट करता है और इसे गारंटी के तौर पर नहीं लिया जाना चाहिए. डेवलपर और ग्राहक के सुझाव या बाज़ार के नए अवसरों की वजह से प्राथमिकताएं बदल सकती हैं.

इस रोडमैप के अपडेट सहित नई सुविधाओं की सूचना पाने के लिए — Google Group समुदाय में शामिल हों.

*कॉपीराइट © 2022 JetBrains s.r.o. JetBrains और IntelliJ JetBrains s.r.o के रजिस्टर किए हुए ट्रेडमार्क हैं