ينتقل Android إلى نظام Bazel build

مطوري جوجل الذين يقفون وراء تطوير Android ، لمعرفة من خلال إعلان أن المشروع يتحرك Android مفتوح المصدر (AOSP) لاستخدام نظام Bazel build بدلاً من نظام الترجمة Soong و Ninja و Make الحالي.

تمت إضافة دعم Bazel بالفعل إلى مستودع Android، ولكن الانتقال إلى نظام البناء الجديد افتراضيًاسوف ينتشر البريد عبر إصدارات متعددة منصة لجعل عملية الترحيل سهلة وشفافة قدر الإمكان.

في عامي 2020 و 2021 ، لا يُتوقع حدوث تغييرات كبيرة في سير عمل إنشاء المنصة ، وسيتم الحفاظ على دعم أنظمة البناء الحالية.

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

يقال أنه لمنصة Android، سيؤدي التبديل إلى Bazel إلى زيادة مرونة تكوين عملية البناء ، سيؤدي ذلك إلى تحسين الاستبطان / مراقبة تقدم البناء وتوصيل التبعيات ، وتنفيذ الإنشاءات القابلة للتكرار ، وتبسيط البرامج النصية المعقدة للبناء ، وتحسين التكامل مع معالجات الإنشاء والاختبار المختلفة ، وتقليل وقت الإنشاء.

سيسمح الترحيل إلى Bazel AOSP بما يلي:

توفير المزيد من المرونة لتكوين تجميع AOSP (دعم أفضل للشروط)
السماح بمزيد من التأمل في AOSP بناء التقدم والتبعيات
تمكين تصميمات AOSP الصحيحة والقابلة للتشغيل (مانعة لتسرب الماء)
تقديم آلية تكوين من شأنها تقليل تعقيد إنشاءات AOSP
تمكين المزيد من التكامل لأنشطة البناء والاختبار
اجمع بين كل هذه العناصر لتحقيق وقت بناء كبير وتجربة تحسينات
فوائد هذا الانتقال إلى مجتمع Bazel هي:

استثمارات كبيرة جارية في Bazel لدعم بناء منصة Android
توسع نظام Bazel البيئي والمجتمع ليشمل في البداية عشرات الآلاف من مطوري أنظمة Android الأساسية ومصنعي الأجهزة الأصلية (OEMs) للهواتف التي تعمل بنظام Android وبائعي الشرائح.
ستكون قواعد Bazel الخاصة بـ Google لإنشاء تطبيقات Android مفتوحة المصدر ، وتُستخدم في AOSP ، وتحتفظ بها Google بالشراكة مع مجتمع Android / Bazel.
توافق Bazel أفضل لإنشاء تطبيقات Android
دعم أفضل للقواعد للغات الأخرى المستخدمة لبناء نظام Android الأساسي (Rust ، Java ، Python ، Go ، إلخ.)
دعم قوي لإصدارات Bazel Long Term Support (LTS) ، مما يعود بالفائدة على مجتمع Bazel الموسع
وثائق محسنة (دروس ومراجع)

النظام البيئي لـ ستعمل Bazel على Android على زيادة عدد المشاركين المشاركين في التنمية، سيبسط التطبيق لإنشاء تطبيقات Android (بما في ذلك Google التي تعتزم فتح رمز لإنشاء نصوص لتطبيقات Android الخاصة بها) ، ستعمل على تحسين دعم لغات البرمجة المختلفة المستخدمة في Android (Rust ، Java ، Python ، Go) ، وستوفر موارد لإنشاء مدة إصدارات طويلة وستقوم يؤدي إلى توثيق أفضل وأكثر شمولاً.

تم تطوير Bazel بواسطة مهندسي Google ويستخدم لبناء معظم المشاريع الداخلية للشركة. المشروع تتميز بسرعتها العالية في البناء ، التي تستخدم فيها تقنيات التخزين المؤقت والتوازي في عملية البناء.

الأدوات أيضًا ضمان التجميع القابل للتكراربمعنى آخر ، ستكون نتيجة بناء المشروع على جهاز المطور مماثلة تمامًا للبناء على أنظمة تابعة لجهات خارجية ، مثل خوادم التكامل المستمر. يتم تنفيذ وظائف إضافية من خلال آلية توصيل الامتدادات.

على عكس Make و Ninja ، يتخذ Bazel نهجًا عالي المستوى لإنشاء قواعد تجميع ، بدلاً من تحديد ارتباطات الأوامر للملفات التي يتم تجميعها ، استخدم المزيد من الكتل المجردة المبنية مسبقًا وتحديد منصات الهدف / البناء.

مكونات المشروع موصوفة في ملف نصي BUILD في شكل حزمة من المكتبات والملفات التنفيذية والاختبارات ، دون تفصيل على مستوى الملفات الفردية والأوامر لاستدعاء المترجم.

في ملفات BUILD ، يجب تحديد جميع التبعيات بشكل كامل ، على أساس اتخاذ القرارات لإعادة بناء المكونات بعد إجراء التغييرات (يتم إعادة بناء الملفات المعدلة فقط) ومواءمة عملية البناء.

مصدر: https://developers.googleblog.com


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.