إطلاق نظام البناء Bazel 1.0

مقدم من الافراج عن أدوات التجميع المفتوحة بازل 1.0تم تطويره بواسطة مهندسين من Google ويستخدم لتجميع معظم المشاريع الداخلية للشركة. كان الإصدار 1.0 بمثابة علامة على الانتقال إلى إصدار الإصدار الدلالي وكان ملحوظًا أيضًا في تقديم عدد كبير من التغييرات التي أدت إلى كسر التوافق مع الإصدارات السابقة. رمز المشروع وزعت من خلال مرخص بموجب Apache 2.0.

يقوم Bazel ببناء المشروع عن طريق تشغيل المترجمين والاختبارات اللازمة. تم تصميم نظام البناء من الألف إلى الياء لبناء مشاريع Google على النحو الأمثل، بما في ذلك المشاريع الكبيرة جدًا والمشاريع التي تحتوي على تعليمات برمجية بلغات برمجة متعددة، وتتطلب اختبارات مكثفة، وتم تصميمها لمنصات متعددة. وهو يدعم بناء واختبار التعليمات البرمجية في Java وC++ وObjective-C وPython وRust وGo والعديد من اللغات الأخرى، بالإضافة إلى إنشاء تطبيقات الهاتف المحمول لنظامي التشغيل Android وiOS. يتم دعم استخدام ملفات التجميع الفردية لمنصات وبنيات مختلفة؛ على سبيل المثال، يمكن استخدام ملف تجميع واحد بدون تغييرات لكل من نظام الخادم والجهاز المحمول.

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

على عكس Make وNinja، يستخدم Bazel نهجًا عالي المستوى لبناء قواعد التجميع، حيث بدلاً من تحديد ربط الأوامر بالملفات التي يتم إنشاؤها، يتم استخدام كتل جاهزة أكثر تجريدًا، مثل "إنشاء ملف قابل للتنفيذ في C++"، أو "إنشاء مكتبة في C++"، أو "إجراء اختبار لـ C++"، بالإضافة إلى تحديد الأنظمة الأساسية المستهدفة والبناء. في الملف النصي BUILD، يتم وصف مكونات المشروع على أنها مجموعة من المكتبات والملفات القابلة للتنفيذ والاختبارات، دون التفصيل على مستوى الملفات الفردية وأوامر استدعاء المترجم. يتم تنفيذ وظائف إضافية من خلال آلية توصيل الامتدادات.

المصدر: opennet.ru

إضافة تعليق