Bazel का रोडमैप

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

खास जानकारी

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

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

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

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

चौथी तिमाही — बेज़ल 6.0 की रिलीज़

Q4 पेश करता है Baज़र का 6.0 वर्शन — यह लंबे समय तक सहायता (एलटीएस) वाला नया वर्शन है. Basel 6.0 की योजना, डिपेंडेंसी को मैनेज करने, Android के साथ डेवलप करने वगैरह के लिए नई दमदार और समुदाय के अनुरोध वाली सुविधाएं शामिल करने की योजना है.

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

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

  • Bzlmod की 'एक्सपेरिमेंट' सुविधा को 'आम तौर पर उपलब्ध' से बदलकर 'एक्सपेरिमेंट के तौर पर उपलब्ध' किया गया
  • इसमें rules\_jvm\_external के साथ काम करने की सुविधा शामिल है. इससे उपयोगकर्ता, Java प्रोजेक्ट के लिए, Maven डिपेंडेंसी डाउनलोड कर सकते हैं
  • Bzlmod माइग्रेशन गाइड, उन टीमों को टूल, स्क्रिप्ट, और दस्तावेज़ उपलब्ध कराता है जो Bzlmod का इस्तेमाल करना चाहते हैं
  • Baze Central का डेटा स्टोर करने की जगह, Basel के मुख्य BUILD नियमों (rules\_jvm\_external, rules\_go, rules\_python, rules\_nodejs) और Bzlmod के लिए ज़रूरी मुख्य डिपेंडेंसी को होस्ट करती है

इस डेवलपमेंट के बारे में ज़्यादा जानकारी के लिए, Bzlmod कम्यूनिटी अपडेट देखें या ओरिजनल डिज़ाइन का दस्तावेज़ पढ़ें.

Basel की सुविधा वाला Android ऐप्लिकेशन

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

  • D8 को v. 3.3.28 में अपडेट कर देता है और इसे डिफ़ॉल्ट डेक्सर के तौर पर सेट कर देता है.
  • समुदाय की मुख्य सुविधाओं के योगदान को 5.X में जोड़ दिया जाएगा. इसमें ये सुविधाएं भी शामिल हैं:
    • D8 के साथ लगातार काम करने वाले लोग
    • D8 का इस्तेमाल करके डीशुगर करना
    • Android मेनिफ़ेस्ट में "इस्तेमाल की अनुमतियां" टैग को मर्ज करना
    • Android रिसॉर्स प्रोसेसिंग में मल्टीप्लेक्स वर्कर

वैकल्पिक टूलचेन

डेवलपर के अनुभव से जुड़े हमारे सर्वे से पता चला है कि नियम बनाने वाले लोग, टूलचेन के डेवलपमेंट में मदद करना चाहते हैं. Basel 6.0 की मदद से, लेखक अन्य प्लैटफ़ॉर्म के लिए फ़ॉलबैक लागू करने की सुविधा के साथ, ज़रूरी नहीं, हाई परफ़ॉर्मेंस टूलचेन का इस्तेमाल करके, नियम लिख सकते हैं.

Basel-JetBrains* IntelliJ IDEA सहायता

JetBrains ने Bagel IntelliJ IDEA प्लगिन का सह-रखरखाव करने के लिए Basel के साथ साझेदारी की है. इसकी मदद से, कम्यूनिटी को मैनेज करने और किसी सुविधा के अनुरोध करने और उसे डेवलप करने के लिए, उसे तैयार करने में मदद मिलती है.

  • IntelliJ प्लगिन वर्शन 2022.2 में, JetBrains प्लगिन के नए वर्शन के साथ काम करने की सुविधा मिलती है
  • रिमोट डेवलपमेंट के साथ काम करने की क्षमता बढ़ाता है
  • यह ऐप्लिकेशन, स्काला सपोर्ट जैसी इन-फ़्लाइट सुविधाओं के लिए, कम्यूनिटी की मदद से आगे बढ़ने को बढ़ावा देता है

इस डेवलपमेंट के बारे में ज़्यादा जानकारी के लिए, Baze-JetBrains की ब्लॉग सूचना पढ़ें.

फ़्यूचर डेवलपमेंट

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

Basel के Android बिल्ड रूल को बेहतर बनाना

बिल्ड, टेस्ट, और डिप्लॉयमेंट के ज़रिए वर्कफ़्लो पर फ़ोकस करते हुए, Android ऐप्लिकेशन डेवलप करने के अनुभव में निवेश करते रहें.

  • R8 पर माइग्रेशन और सहायता
  • Android के नियमों से जुड़े अपडेट. इनमें Starlark भाषा में अनुवाद करने की सुविधा भी शामिल है
  • ऐप्लिकेशन बंडल से जुड़ी सहायता
  • हाल ही के एनडीके वर्शन के साथ काम करता है
  • टेस्ट कोड कवरेज

ओएसएस लाइसेंस अनुपालन टूल

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

  • किसी दिए गए टारगेट में इस्तेमाल किए गए पैकेज को ऑडिट करने की सुविधा
  • संगठन के हिसाब से लाइसेंस के अनुपालन से जुड़ी जांच करने की सुविधा.

GitHub पर नियमों_लाइसेंस को लागू करने की प्रक्रिया देखें.

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

लॉन्च के समय, Bzlmod ने ट्रांज़िटिव डिपेंडेंसी की क्वालिटी को और बेहतर बनाया है. साथ ही, इसे इस्तेमाल करने पर भी भरोसा किया है. अगले तीन सालों में, Bzlmod ने WORKSPACE की जगह ले लिया. यह कंपनी, 'बेज़ल वर्कस्पेस डिपेंडेंसी मैनेजमेंट' के डिफ़ॉल्ट सबसिस्टम के तौर पर सेट हो गई. टारगेट की जाने वाली सुविधाओं में ये शामिल हैं:

  • हर्मेटिक बिल्ड के लिए सहायता
  • वेंडर/ऑफ़लाइन मोड में, वर्शन वाले रेफ़रंस नियमों को लोकल कॉपी में पिन किया जा रहा है
  • Babel Central Registry में समुदाय का नियमित योगदान और बेज़ल के प्रमुख नियमों और प्रोजेक्ट को अपनाना शामिल है
  • बेज़ल प्रोजेक्ट बनाने के लिए, Bzlmod डिफ़ॉल्ट टूल बन गया

साइन किए हुए बिल्ड

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

स्टैंडर्ड प्लैटफ़ॉर्म एपीआई

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

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

बेज़ल टेलीमेट्री, विश्लेषण के समय वाली मेट्रिक उपलब्ध कराएगा, जिससे डेवलपर अपने बिल्ड की परफ़ॉर्मेंस को ऑप्टिमाइज़ कर सकेंगे.

“बिल्ड बिना बाइट” के रिमोट एक्ज़ीक्यूशन

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

  • एसिंक्रोनस डाउनलोड की सुविधा का इस्तेमाल करें. इससे लोकल और रिमोट ऐक्शन, अपने डिपेंडेंट आउटपुट डाउनलोड करते ही शुरू हो जाएंगे
  • Symlinks सहायता जोड़ें
  • बिल्ड पूरा होने के बाद, रिमोट ऐक्शन से इंटरमीडिएट आउटपुट वापस पाएं

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