Bazel 1.0 quruluş sisteminin buraxılışı

Tərəfindən təqdim edildi açıq montaj alətlərinin buraxılması Bazel 1.0, Google mühəndisləri tərəfindən hazırlanmış və şirkətin daxili layihələrinin əksəriyyətinin yığılması üçün istifadə edilmişdir. Release 1.0 semantik buraxılış versiyasına keçidi qeyd etdi və eyni zamanda geriyə uyğunluğu pozan çoxlu sayda dəyişikliklərin tətbiqi ilə diqqət çəkdi. Layihə kodu yayılır Apache 2.0 altında lisenziyalıdır.

Bazel layihəni lazımi kompilyatorları və testləri işlətməklə qurur. Quraşdırma sistemi çox böyük layihələr və çoxsaylı proqramlaşdırma dillərində kod ehtiva edən, geniş sınaq tələb edən və çoxsaylı platformalar üçün qurulmuş layihələr də daxil olmaqla, Google layihələrini optimal şəkildə qurmaq üçün sıfırdan dizayn edilmişdir. O, Java, C++, Objective-C, Python, Rust, Go və bir çox başqa dillərdə kodun qurulmasını və sınaqdan keçirilməsini, həmçinin Android və iOS üçün mobil proqramların yaradılmasını dəstəkləyir. Fərqli platformalar və arxitekturalar üçün tək montaj fayllarının istifadəsi dəstəklənir; məsələn, dəyişikliksiz bir montaj faylı həm server sistemi, həm də mobil cihaz üçün istifadə edilə bilər.

Bazel-in fərqli xüsusiyyətləri arasında montaj prosesinin yüksək sürəti, etibarlılığı və təkrarlanmasıdır. Yüksək qurma sürətinə nail olmaq üçün Bazel qurma prosesi üçün keşləmə və paralelləşdirmə üsullarından fəal şəkildə istifadə edir. BUILD faylları bütün asılılıqları tam müəyyən etməlidir, bunun əsasında dəyişikliklər edildikdən sonra (yalnız dəyişdirilmiş fayllar yenidən qurulur) komponentlərin yenidən qurulmasına dair qərarlar qəbul edilir və montaj prosesini paralelləşdirir. Alətlər də təkrarlanan montajı təmin edir, yəni. Tərtibatçının maşınında layihənin qurulmasının nəticəsi, davamlı inteqrasiya serverləri kimi üçüncü tərəf sistemlərində qurulan ilə tamamilə eyni olacaq.

Make və Ninja-dan fərqli olaraq, Bazel montaj qaydalarının qurulması üçün daha yüksək səviyyəli yanaşmadan istifadə edir, burada qurulan fayllara əmrlərin bağlanmasını müəyyən etmək əvəzinə, daha mücərrəd hazır bloklardan istifadə olunur, məsələn, “icra edilə bilən faylın yaradılması” C++”, “C++-da kitabxananın qurulması” və ya “C++ üçün testin aparılması”, həmçinin hədəfin müəyyən edilməsi və platformaların qurulması. BUILD mətn faylında layihə komponentləri ayrı-ayrı fayllar və kompilyator çağırış əmrləri səviyyəsində təfərrüat verilmədən kitabxanalar, icra olunan fayllar və testlər dəstəsi kimi təsvir edilir. Əlavə funksionallıq uzantıları birləşdirmək mexanizmi vasitəsilə həyata keçirilir.

Mənbə: opennet.ru

Добавить комментарий