Android использует Bazel для сборки системы


Платформа Android переходит со своих текущих систем сборки (Soong и Make) на Bazel. Хотя компоненты Bazel уже зарегистрированы в дереве исходных кодов Android Open Source Project (AOSP), это будет поэтапная миграция в течение следующих нескольких выпусков Android.

Bazel, созданный в Google, представляет собой инструмент с открытым исходным кодом, который автоматизирует создание и тестирование программного обеспечения. Google разработал и использует инструмент сборки Blaze внутри компании и выпустил часть Blaze с открытым кодом под названием Bazel, названную анаграммой Blaze. Разработчики описывают Bazel как похожий на Make, Maven и Gradle. Он использует удобочитаемый язык сборки высокого уровня для описания свойств сборки вашего проекта на высоком семантическом уровне. Bazel использует концепции библиотек, двоичных файлов, сценариев и наборов данных, чтобы разработчикам не приходилось писать отдельные вызовы таких инструментов, как компиляторы и компоновщики.

Разработчики говорят, что миграция будет включать
«множество конкретных и удобоваримых вех, чтобы сделать преобразование настолько плавным и легким, насколько это возможно».
Переход на Bazel позволит AOSP обеспечить большую гибкость при настройке сборки AOSP за счет лучшей поддержки условных выражений. Это также даст разработчикам AOSP больше информации о ходе сборки и зависимостях AOSP. Сборки AOSP будут воспроизводимыми и герметичными, а механизм конфигурации Bazel снизит сложность сборки. Команда AOSP заявляет, что новая система также позволит лучше интегрировать операции сборки и тестирования.
Миграция также принесет пользу Bazel за счет значительных текущих инвестиций в Bazel для поддержки сборок платформы Android, а также расширения экосистемы и сообщества Bazel с включением, на начальном этапе, десятков тысяч разработчиков платформы Android и производителей мобильных телефонов Android и поставщиков чипсетов.
Правила Google Bazel для создания приложений для Android будут иметь открытый исходный код, использоваться в AOSP и поддерживаться Google в партнерстве с сообществом Android / Bazel. Команда заявляет, что это приведет к лучшей поддержке правил для других языков, используемых для создания платформы Android, включая Rust, Java, Python и Go.


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