خطة Bazel

نظرة عامة

يتطوّر مشروع Bazel باستمرار لتلبية احتياجاتك، من خلال تطوير الميزات وتقديم الدعم مع الحفاظ على المنتج الأساسي وإعادة تحسينه وتحسينه.

ومع هذه التغييرات، نتطلّع إلى إبقاء منتدى البرامج المفتوحة المصدر على اطّلاع بأحدث المعلومات. توضّح خطة العمل هذه المبادرات والتوقّعات الحالية لمستقبل تطوير Bazel، ما يتيح لك الاطّلاع على الأولويات الحالية والمشاريع الجارية.

تدرج خارطة الطريق هذه الأهداف، ويجب ألا يتم اعتبارها كضمانات. تخضع الأولويات للتغيير استجابةً لملاحظات مطوّري البرامج والعملاء، أو الفرص الجديدة في السوق.

لتلقّي إشعارات بالميزات الجديدة، بما في ذلك التعديلات على خارطة الطريق هذه، انضم إلى منتدى مجموعة Google.

الربع الرابع - إصدار Bazel 6.0

الربع الرابع من العام، يقدّم إصدار Bazel 6.0 الجديد، وهو الدعم الطويل الأمد (LTS). Bazel 6.0 يخطط لتضمين ميزات فعّالة جديدة وطلبها المنتدى لإدارة الاعتماديات، والتطوير باستخدام Android، والمزيد.

Bzlmod: نظام إدارة الاعتمادية الخارجية

تعمل أداة Bzlmod على حلّ الاعتماديات الانتقالية تلقائيًا، ما يسمح للمشاريع بالتطوّر مع الحفاظ على السرعة والكفاءة في استخدام الموارد. تم طرح لعبة Bzlmod بشكل تجريبي في Bazel 5.0، وسيتوفّر حلاً لمشكلة الاعتمادية الماسية.

  • انتقال Bzlmod من "تجريبي" إلى "متاح بشكل عام"
  • يشمل دعم rules_jvm_external، ما يسمح للمستخدمين بتنزيل تبعيات Maven لمشاريع Java.
  • يوفر دليل نقل Bzlmod أدوات ونصوصًا برمجية ووثائق للفِرق التي تتطلّب استخدام Bzlmod.
  • يستضيف مستودع Bazel المركزي قواعد Bazel BUILD الأساسية (rules_jvm_external وrules_go وrules_python وrules_nodejs) والاعتماديات الأساسية المطلوبة في Bzlmod.

لمزيد من المعلومات عن هذا التطوير، شاهِد تعديل منتدى Bzlmod أو اقرأ مستند التصميم الأصلي.

إصدار تطبيق متوافق مع Android مع Bazel

يتضمّن Bazel 6.0 أدوات محسّنة ومساهمات مدمجة في ميزات المنتدى. وتوقّعًا لمزيد من عمليات الاستخدام وقاعدة الرموز المتزايدة، سيعمل فريق Bazel على منح الأولوية لدمج أدوات إصدار Android مع قواعد Bazel على Android.

  • يتم تحديث D8 إلى الإصدار 3.3.28 وضبطه باعتباره الوكيل التلقائي.
  • تم الدمج مع مساهمات ميزات المنتدى الرئيسية التي تمت إضافتها في الإصدار 5.X، بما في ذلك الدعم لما يلي:
    • العاملون الدائمون باستخدام D8
    • إلغاء الربط باستخدام D8
    • دمج العلامات "uses-permissions" في بيانات Android
    • عدّة عاملين في معالجة موارد Android

سلاسل الأدوات الاختيارية

أظهرت الاستطلاعات مدى رضا مطوّري البرامج أنّ مطوّري القواعد يريدون دعمًا إضافيًا لتطوير سلسلة الأدوات. سيتيح Bazel 6.0 للمؤلفين كتابة قواعد باستخدام سلسلة أدوات اختيارية عالية الأداء عند توفّرها مع تنفيذ احتياطي للمنصات الأخرى.

Bazel-JetBrains* دعم IntelliJ IDEA

عقدت JetBrains شراكة مع Bazel للحفاظ على مكوّن Bazel IntelliJ IDEA الإضافي، وذلك بهدف دعم إدارة المنتدى وزيادة السعة المخصّصة لطلبات الميزات والتطوير.

  • يوفّر الإصدار 2022. 2 من المكوّن الإضافي IntelliJ الدعم لأحدث إصدار من المكوّن الإضافي JetBrains.
  • زيادة التوافق مع التطوير عن بُعد
  • المزيد من التطوير المستند إلى المنتدى للميزات أثناء الطيران، مثل دعم Scala

للمزيد من المعلومات حول هذا التطوير، اقرأ إعلان المدونة على Bazel-JetBrains.

التطوير المستقبلي

ومن الآن فصاعدًا، بدأ فريق Bazel بالتطوّر أو يترقّب منح الأولوية للميزات التالية في عام 2023 وما بعده.

تحسين قواعد تصميم Android لدى Bazel&#39

مواصلة الاستثمار في تجربة تطوير التطبيقات المتوافقة مع Android، مع التركيز على سير العمل من خلال الإصدار والاختبار والنشر

  • النقل إلى R8 ودعمه
  • تعديلات على قواعد Android، بما في ذلك الترجمة إلى لغة Starlark
  • دعم حِزمة التطبيق
  • التوافق مع إصدارات NDK الأخيرة
  • اختبار تغطية الرمز

أدوات امتثال ترخيص OSS

طلب مطوّرو البرامج فحصًا قويًا لامتثال التراخيص لضمان توفُّر الحِزم المضمَّنة وأمانها. يوفّر هذا المشروع مجموعة من القواعد والأدوات التي تساعد على تحديد المخاطر والامتثال ذات الصلة بالتخفيف والمرتبطة بمكوّن برنامج معيّن. تشمل الميزات المستهدفة ما يلي:

  • إمكانية تدقيق الطرود التي يستخدمها هدف محدد
  • إمكانية إنشاء عمليات تحقّق من الامتثال التراخيص الخاصة بالمؤسسة.

يمكنك الاطّلاع على عملية تنفيذ قواعد_القواعد قيد التقدّم في GitHub.

Bzlmod: نظام إدارة الاعتمادية الخارجية

عند إطلاق لعبة Bzlmod، فإنها تحسّن قابلية تطوير تبعيات النقلية وموثوقيتها. على مدار السنوات الثلاث القادمة، تهدف Bzlmod إلى استبدال WORKSPACE بصفته النظام الفرعي التلقائي لإدارة تبعية مساحة العمل على Bazel. وتشمل الميزات المستهدفة ما يلي:

  • دعم الإصدارات المزخرفة
  • تثبيت المورِّد/وضع عدم الاتصال لقواعد المراجع المنسوخة في نسخة محلية
  • تشمل قاعدة بيانات Bazel المركزية المسجّلة المساهمات المجتمعية العادية وتُطبّق قواعد Bazel الرئيسية ومشاريعها.
  • أصبح تطبيق Bzlmod الأداة التلقائية لإنشاء مشاريع Bazel.

الإصدارات الموقَّعة

سيوفّر Bazel برامج ثنائية موثوقة لنظامَي التشغيل Windows وMac موقَّعة باستخدام مفاتيح Google. تمكّن هذه الميزة مطوّري البرامج/مطوّري البرامج من أنظمة أساسية متعددة من تحديد مصدر برامج ثنائية على Bazel وحماية أنظمتها من البرامج الثنائية الضارة التي لم يتم التحقّق منها.

واجهة برمجة التطبيقات للأنظمة الموحدة

ستدمج واجهة برمجة تطبيقات النظام الأساسي الجديدة إعدادات البنية الأساسية للإصدارات المتعددة اللغات ومتعددة الأنظمة. باستخدام هذه الميزة، يمكن لمطوّري البرامج تقليل أخطاء وقت التطوير المعقّدة والتعقيدات في الإصدارات الكبيرة.

إنشاء مقاييس التحليل

سيوفِّر القياس عن بازل مقاييس الوقت على مستوى التحليل، ما يسمح لمطوّري البرامج بتحسين أداء الإصدارات الخاصة بهم.

التنفيذ عن بُعد باستخدام "الإصدارات بدون وحدات البايت"

ستؤدي الإصدارات التي لا تتضمّن وحدات البايت إلى تحسين الأداء من خلال السماح لتطبيق Bazel بتنزيل العناصر المطلوبة فقط، ما يمنع الإصدارات من المؤثرات السلبية على معدل نقل البيانات للشبكة. تشمل الميزات التي تتم إضافتها للإصدارات عن بُعد ما يلي:

  • استخدام التنزيل غير المتزامن للسماح بتنفيذ الإجراءات المحلية والبعيدة بعد تنزيل النتائج التابعة
  • إضافة دعم روابط Symlinks
  • استرداد النتائج المتوسطة من الإجراءات البعيدة بعد اكتمال الإصدار

*حقوق الطبع والنشر © 2022 JetBrains s.r.o. JetBrains وIntelJJ هما علامتان تجاريتان مسجَّلتان لشركة JetBrains s.r.o.