Android преминава към системата за изграждане на Bazel

Разработчици на Google които стоят зад развитието на Android, даде да разбере чрез съобщение, че Проектът се движи Android с отворен код (AOSP), за да използвате системата за изграждане на Bazel вместо сегашната система за компилация Soong, Ninja и Make.

Поддръжката на Bazel вече е добавена към хранилището на AndroidНо преходът към новата система за изграждане по подразбиране se ще се разпространи в множество версии платформа, за да направи миграцията възможно най-лесна и прозрачна.

През 2020 и 2021 г. не се очакват значителни промени в работните процеси на строителството на платформи и ще се поддържа поддръжка за съществуващи строителни системи.

За да се позволи постепенна миграция, някои промени за опростяване на компилациите на Android вече са включени в Bazel, като възможността за синтактичен анализ и стартиране на файлове за изграждане във формат Ninja.

Аргументира се, че за платформата Android, преминаването към Bazel ще увеличи гъвкавостта на конфигуриране на процеса на изграждане, Това ще подобри интроспекцията / мониторинга на напредъка на компилацията и свързването на зависимости, ще внедри повторяеми компилации, ще опрости сложните скриптове за компилация, ще подобри интеграцията с различни манипулатори на компилация и тестове и ще намали времето за компилация.

Миграцията към Bazel ще позволи на AOSP да:

Осигурете повече гъвкавост за конфигуриране на AOSP компилация (по-добра поддръжка за условни)
Разрешете повече самоанализ на напредъка и зависимостите на AOSP
Активирайте правилните и изпълними (водонепропускливи) AOSP компилации
Представете механизъм за конфигуриране, който ще намали сложността на AOSP компилациите
Позволява по-нататъшно интегриране на строителни и тестови дейности
Комбинирайте всичко това, за да стимулирате значително време за изграждане и подобрения в опита
Ползите от тази миграция към общността Bazel са:

В Базел тече значителна инвестиция в подкрепа на изграждането на платформа за Android
Разширяването на екосистемата и общността на Bazel първоначално включва десетки хиляди разработчици на платформи за Android и производители на оригинално оборудване за телефони с Android и производители на чипове.
Правилата на 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 файлове, всички зависимости трябва да бъдат напълно дефинирани, въз основа на което се вземат решения за възстановяване на компоненти след извършване на промени (възстановяват се само модифицирани файлове) и паралелизиране на процеса на изграждане.

Fuente: https://developers.googleblog.com


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.