آخرین تأیید: 2020-04-21 ( سابقه به روز رسانی )
نقطه تماس: laurentlb
هدف
هدف ما توسعه بیشتر بازل است. کاربران باید بتوانند به راحتی قوانین خود را پیاده سازی کنند و از زبان ها و ابزارهای جدید پشتیبانی کنند. ما می خواهیم تجربه نوشتن و حفظ آن قوانین را بهبود بخشیم.
ما روی دو حوزه تمرکز می کنیم:
- زبان و API را ساده و در عین حال قدرتمند کنید.
- ابزار بهتری برای خواندن، نوشتن، به روز رسانی، اشکال زدایی و تست کد ارائه دهید.
Q2 2020
ایجاد سلامت و بهترین شیوه ها:
- P0. ماکروهای بدون نام را منع کنید و مطمئن شوید که نام یک رشته منحصر به فرد است. این کار بر روی پایگاه کد گوگل متمرکز شده است، اما ممکن است بر ابزارهای در دسترس عموم تأثیر بگذارد.
- P0. دستورات بیلدوزر را با توجه به انتخاب ها و متغیرها قابل اعتماد کنید.
- P1. کاری کنید که Buildifier موارد تکراری را در لیست هایی که به دلیل نظرات مرتب نمی کنیم حذف کند.
- P1. Buildifier linter را بهروزرسانی کنید تا عبارات بیاهمیت درون خطی را توصیه کنید.
- P2. موارد استفاده را برای Native.existing_rule مطالعه کنید و جایگزین پیشنهاد کنید.
- P2. موارد استفاده را برای فایل پیش درآمد مطالعه کنید و جایگزین پیشنهاد کنید.
کارایی:
- P1. مترجم Starlark را با استفاده از محیط های مسطح و کامپایل بایت کد بهینه کنید.
کاهش بدهی فنی:
- P0. قابلیت انتقال نمادهای بومی را به Starlark در زیر bazel_tools اضافه کنید.
- P1. پرچمهای منسوخ را حذف کنید (بعضی از آنها هنوز در Google استفاده میشوند، بنابراین ابتدا باید پایگاه کد را پاک کنیم):
incompatible_always_check_depset_elements
،incompatible_disable_deprecated_attr_params
،incompatible_no_support_tools_in_action_inputs
،incompatible_new_actions_api
. - P1. مطمئن شوید که پرچمهای زیر میتوانند در Bazel 4.0 برگردانده شوند:
incompatible_disable_depset_items
،incompatible_no_implicit_file_export
،incompatible_run_shell_command_string
،incompatible_restrict_string_escapes
. - P1. کار lib.syntax را تمام کنید (پاکسازی API، جداسازی از Bazel).
- P2. تا 50 درصد تاخیر ساخت+تست یک ویرایش بی اهمیت بسته های جاوا Bazel را کاهش دهید.
انجمن:
-
rules_python
فعال است و به خوبی توسط انجمن نگهداری می شود. - پشتیبانی مستمر از rules_jvm_external (بدون درخواست کشش برجسته، تریاژ مشکل، انتشار).
- حفظ زیرساخت اسناد Bazel: متمرکز و متعارف کردن سبک های CSS در وب سایت bazel، bazel-blog، اسناد
- اسناد Bazel: برای جلوگیری از رگرسیون، تست های CI را برای ساخت سایت e2e doc اضافه کنید.
Q1 2020
ایجاد سلامت و بهترین شیوه ها:
- به اهداف اجازه دهید پشته تماس ماکرو خود را برای صادرات از طریق
bazel query
ردیابی کنند - پیاده سازی
--incompatible_no_implicit_file_export
- APIهای منسوخ شده depset (#5817, #10313, #9017) را حذف کنید.
- یک تجزیه و تحلیل فایل متقاطع در Buildifier اضافه کنید، یک بررسی برای توابع منسوخ شده اجرا کنید.
کارایی:
- تست های مبتنی بر جاوا خود Bazel را 2 برابر سریعتر کنید.
- یک نمایه ساز CPU Starlark را پیاده سازی کنید.
کاهش بدهی فنی:
- 8 پرچم ناسازگار را حذف کنید (پس از چرخاندن آنها).
- کار پاکسازی lib.syntax را تمام کنید (وابستگی ها را قطع کنید).
- بهینه سازی Starlark: محیط مسطح، تدوین بایت کد
- در صورت امکان تمام سریال سازی ها را از مرحله تحلیل حذف کنید
- برنامه ای برای ساده سازی/بهینه سازی بسته های lib
انجمن:
- یک واژه نامه حاوی تعاریف برای همه اصطلاحات خاص Bazel منتشر کنید