بررسی اجمالی
پروژه Bazel به طور مداوم در پاسخ به نیازهای شما تکامل می یابد - توسعه ویژگی ها و ارائه پشتیبانی در حالی که حفظ، بازسازی و بهبود عملکرد محصول اصلی است.
با این تغییرات، ما به دنبال این هستیم که جامعه منبع باز خود را مطلع و شامل آن کنیم. این نقشه راه، ابتکارات و پیشبینیهای فعلی را برای آینده توسعه Bazel توصیف میکند و به شما امکان میدهد اولویتهای فعلی و پروژههای در حال انجام را ببینید.
این نقشه راه اهداف را به صورت لحظه ای نشان می دهد و نباید به عنوان تضمین در نظر گرفته شود. اولویت ها ممکن است در پاسخ به بازخورد توسعه دهندگان و مشتریان یا فرصت های جدید بازار تغییر کنند.
برای اطلاع از ویژگیهای جدید - از جمله بهروزرسانیهای این نقشه راه - به انجمن Google Group بپیوندید.
Q4 - انتشار Bazel 6.0
Q4 Bazel 6.0 - نسخه جدید پشتیبانی طولانی مدت (LTS) را به ارمغان می آورد. Bazel 6.0 قصد دارد ویژگیهای جدید قدرتمند و درخواستی جامعه را برای مدیریت وابستگیها، توسعه با Android و موارد دیگر اضافه کند.
بزلمود: سیستم مدیریت وابستگی خارجی
Bzlmod به طور خودکار وابستگیهای گذرا را حل میکند و به پروژهها اجازه میدهد در عین سرعت و منابع کارآمد، مقیاس شوند. Bzlmod که به صورت آزمایشی در Bazel 5.0 معرفی شده است، به طور کلی در دسترس خواهد بود و راه حلی برای مشکل وابستگی الماس ارائه می دهد.
- Bzlmod از "تجربی" به "به طور کلی در دسترس" می رود
- شامل پشتیبانی از
rules_jvm_external
است که به کاربران امکان میدهد وابستگیهای Maven را برای پروژههای جاوا دانلود کنند. - راهنمای مهاجرت Bzlmod ابزارها، اسکریپت ها و مستندات را در اختیار تیم هایی قرار می دهد که به دنبال پذیرش Bzlmod هستند.
- مخزن مرکزی Bazel میزبان قوانین اصلی Bazel
BUILD
(rules_jvm_external
,rules_go
,rules_python
,rules_nodejs
) و وابستگی های کلیدی مورد نیاز برای Bzlmod است.
برای اطلاعات بیشتر در مورد این توسعه، بهروزرسانی انجمن Bzlmod را تماشا کنید یا سند طراحی اصلی را بخوانید.
ساخت اپلیکیشن اندروید با Bazel
Bazel 6.0 شامل ابزار بهبود یافته و مشارکت در ویژگی های جامعه ادغام شده است. با پیشبینی پذیرش بیشتر و یک پایگاه کد رو به رشد، تیم Bazel ادغام ابزارهای ساخت اندروید با قوانین Bazel Android را در اولویت قرار میدهد.
- D8 را به نسخه 3.3.28 به روز می کند و آن را به عنوان dexer پیش فرض قرار می دهد .
- ادغام به مشارکتهای ویژگی اصلی انجمن اضافه شده در 5.X از جمله پشتیبانی برای:
- کارگران پایدار با D8
- شیرین سازی با استفاده از D8
- ادغام برچسبهای «مجوزهای استفاده» در مانیفستهای اندروید
- کارگران Multiplex در پردازش منابع اندروید
زنجیره ابزار اختیاری
نظرسنجی رضایت توسعهدهنده ما نشان داد که نویسندگان قوانین برای توسعه بیشتر زنجیره ابزار پشتیبانی میخواهند. Bazel 6.0 به نویسندگان این امکان را می دهد که قوانینی را با استفاده از یک زنجیره ابزار اختیاری و با کارایی بالا بنویسند، در صورتی که با اجرای بازگشتی برای پلتفرم های دیگر در دسترس باشد.
پشتیبانی Bazel-JetBrains* IntelliJ IDEA
JetBrains با Bazel شریک شده است تا افزونه Bazel IntelliJ IDEA را حفظ کند و از هدف افزایش سرپرستی جامعه و باز کردن ظرفیت برای درخواستهای ویژگی و توسعه پشتیبانی کند.
- پلاگین IntelliJ نسخه 2022.2 از آخرین نسخه پلاگین JetBrains پشتیبانی می کند
- سازگاری با توسعه از راه دور را افزایش می دهد
- توسعه مبتنی بر جامعه را برای ویژگیهای حین پرواز مانند پشتیبانی Scala بیشتر میکند
برای اطلاعات بیشتر در مورد این توسعه، اطلاعیه وبلاگ Bazel-JetBrains را بخوانید.
توسعه آینده
با نگاهی به آینده، تیم Bazel توسعه را آغاز کرده است یا پیش بینی می کند ویژگی های زیر را در سال 2023 و بعد از آن اولویت بندی کند.
بهبود قوانین ساخت اندروید Bazel
به سرمایه گذاری در تجربه توسعه برنامه اندروید، با تمرکز بر گردش کار از طریق ساخت، آزمایش و استقرار ادامه دهید.
- مهاجرت به R8 و پشتیبانی از آن
- به روز رسانی قوانین Android، از جمله ترجمه به زبان Starlark
- پشتیبانی از App Bundle
- پشتیبانی از نسخه های اخیر NDK
- پوشش کد تست
ابزارهای انطباق با مجوز OSS
توسعهدهندگان برای اطمینان از در دسترس بودن و امنیت بستههای ارائهشده، یک بررسیکننده سازگار با مجوز قوی درخواست کردند. این پروژه مجموعه ای از قوانین و ابزارها را برای کمک به شناسایی و کاهش خطرات انطباق و مجوز مرتبط با یک جزء نرم افزاری خاص ارائه می دهد. ویژگی های هدف عبارتند از:
- توانایی ممیزی بسته های مورد استفاده توسط یک هدف معین
- توانایی ایجاد بررسی های انطباق مجوزهای خاص سازمان.
اجرای قوانین_لیسانس در حال پیشرفت در Github را ببینید.
بزلمود: سیستم مدیریت وابستگی خارجی
در زمان راه اندازی، Bzlmod مقیاس پذیری و قابلیت اطمینان وابستگی های گذرا را بهبود می بخشد. طی سه سال آینده، Bzlmod قصد دارد جایگزین WORKSPACE
به عنوان زیرسیستم مدیریت وابستگی فضای کاری پیش فرض Bazel شود. ویژگی های هدفمند عبارتند از:
- پشتیبانی از ساخت های هرمتیک
- فروشنده/حالت آفلاین قوانین مرجع نسخه شده را به یک نسخه محلی پین می کند
- ثبت مرکزی Bazel شامل مشارکت منظم جامعه و تصویب قوانین و پروژه های کلیدی Bazel است
- بزلمود به ابزار پیش فرض ساخت پروژه های بازل تبدیل می شود
ساخت های امضا شده
Bazel باینری های قابل اعتمادی را برای Windows و Mac ارائه می دهد که با کلیدهای Google امضا شده اند. این ویژگی به توسعه دهندگان و توسعه دهندگان چند پلت فرمی امکان می دهد منبع باینری های Bazel را شناسایی کرده و از سیستم های خود در برابر باینری های مخرب و تأیید نشده محافظت کنند.
API پلتفرم های استاندارد
پلتفرم های جدید API پیکربندی معماری را برای ساخت های چند زبانه و چند پلتفرمی استاندارد می کند. با استفاده از این ویژگی، توسعه دهندگان می توانند خطاهای پرهزینه زمان توسعه و پیچیدگی در ساخت های بزرگ خود را کاهش دهند.
معیارهای تحلیل ساخت
تله متری Bazel معیارهای زمانی فاز تحلیل را ارائه می دهد و به توسعه دهندگان اجازه می دهد عملکرد ساخت خود را بهینه کنند.
اجرای از راه دور با "Builds without the Bytes"
ساختهای بدون بایت عملکرد را تنها با اجازه دادن به Bazel برای دانلود مصنوعات مورد نیاز، بهینه میکنند و از تنگناهای ساختها در پهنای باند شبکه جلوگیری میکنند. ویژگی های اضافه شده برای ساخت های راه دور عبارتند از:
- از دانلود ناهمزمان استفاده کنید تا به اقدامات محلی و راه دور اجازه دهید به محض دانلود خروجی های وابسته خود شروع به کار کنند.
- پشتیبانی از Symlinks را اضافه کنید
- پس از اتمام ساخت، خروجی های میانی را از اقدامات راه دور بازیابی کنید
*کپی رایت © 2022 JetBrains sro JetBrains و IntelliJ علائم تجاری ثبت شده JetBrains sro هستند