نقشه راه Bazel Configurability 2021

آخرین تأیید: 25-01-2021 ( سابقه به روز رسانی )

نقطه تماس: گرگسترن

بحث: نقشه راه پیکربندی: بحث

نقشه راه های قبلی

  • 2020 (بدون بررسی EOY)
  • 2019 (بدون بررسی EOY)
  • 2018

هدف

$ bazel build //:all just works , برای هر پروژه و هر پلتفرمی.

  • ساخت‌ها به پرچم‌های خط فرمان نیاز ندارند.
  • هر هدف به طور خودکار از تنظیمات صحیح استفاده می کند (مانند android_binary از NDK مناسب استفاده می کند).
  • ساخت آن برای چندین پلتفرم آسان است.
  • مقیاس را به خوبی ایجاد می کند، به ویژه اندازه گراف wrt و حافظه پنهان عمل.

ما همچنین از cquery ، Starlark configuration و select() پشتیبانی می کنیم.

نقشه راه

تاریخ ها بر اساس بهترین درک ما از پیچیدگی مشکل و در دسترس بودن توسعه دهندگان تقریبی هستند. در سال 2021 ما قصد داریم تلاش بیشتری را روی پروژه های کمتری در یک زمان متمرکز کنیم. ما فقط ETA را برای کارهایی که به طور فعال اولویت بندی شده اند به نفع انتظارات دقیق تنظیم می کنیم.

بستر، زمینه

قوانین اندروید Q3 2021 از API در حال پیشرفت پلتفرم های جدید استفاده می کنند ( #11749 )

  • این اولویت اصلی ما برای آغاز سال 2021 است.

ساخت‌های سه‌ماهه 2021 از پلتفرم‌های اجرایی متعدد در حال پیشرفت پشتیبانی می‌کنند ( #11748 )

قوانین مکث C++ از API جدید platformsfall در حال پیشرفت استفاده می کنند ( #6516 )

  • این در پلتفرم های اندروید مسدود شده است. ما می توانیم این را با یک تلنگر ساده پرچم روشن کنیم.

اهداف چند پلتفرمی متوقف شده شروع نشده است

  • اجازه دهید اهداف اعلام کنند که باید برای چندین پلتفرم بسازند
  • به دلیل درخواست کاربر در اینجا فهرست شده است

متوقف شد منسوخ کردن و حذف --cpu و پرچم های مرتبط NOT STARTED

  • این یک هدف آرمانی است که از انتقال همه قوانین به پلتفرم ها خارج می شود.

بهره وری

2021 یک حالت آزمایشی Bazel کامپایل جاوا بین پلتفرمی را در حال ذخیره در حافظه پنهان می کند ( #6526 )

  • سرعت ساخت چند پلتفرمی را بهبود می بخشد
  • کمتر تخصیص داده شده است، بنابراین پیشرفت کند است