Android переходить до системи побудови Bazel

Розробники Google які стоять за розробкою Android, дали через оголошення оголосити, що Проект рухається Android з відкритим кодом (AOSP) для використання системи збірки Bazel замість поточної системи компіляції Soong, Ninja та Make.

Підтримка Bazel вже додана до сховища Android, але перехід до нової системи збірки за замовчуванням se поширюватиметься на кілька версій платформа, щоб зробити міграцію якомога легшою та прозорішою.

У 2020 та 2021 роках суттєвих змін не передбачається у робочих процесах будівництва платформ, а підтримка існуючих будівельних систем буде збережена.

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

Стверджується, що для платформи Android, перехід на Bazel збільшить гнучкість налаштування процесу збірки, Це покращить самоаналіз / моніторинг прогресу збірки та підключення залежностей, реалізує повторювані збірки, спростить складні сценарії збірки, покращить інтеграцію з різними обробниками збірки та тесту та зменшить час збірки.

Перехід на Базель дозволить AOSP:

Забезпечте більшу гнучкість у налаштуванні компіляції AOSP (краща підтримка для умов)
Дозвольте більше самоаналізу щодо прогресу побудови AOSP та залежностей
Увімкніть правильні та відтворювані збірки AOSP (водонепроникні)
Представити механізм конфігурації, який зменшить складність збірок AOSP
Уможливити подальшу інтеграцію будівельної та випробувальної діяльності
Поєднайте все це, щоб забезпечити значний час побудови та вдосконалити досвід
Переваги цієї міграції для громади Базель:

Значні інвестиції проводяться в Bazel для підтримки збірки платформи Android
Розширення екосистеми та спільноти Bazel спочатку включало десятки тисяч розробників платформ Android та виробників оригінального обладнання для телефонів Android та виробників чіпів.
Правила Google Bazel для створення програм для 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. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.