Android přechází na systém sestavování Bazel

Vývojáři Google kdo stojí za vývojem Androidu, dal vědět prostřednictvím oznámení, že se projekt pohybuje Android open source (AOSP) k použití systému sestavení Bazel namísto současného kompilačního systému Soong, Ninja a Make.

Podpora Bazel již byla do úložiště Android přidánaAle přechod do nového systému sestavení ve výchozím nastavení se se rozšíří do více verzí platformu, aby migrace byla co nejjednodušší a nejtransparentnější.

V letech 2020 a 2021 se neočekávají žádné významné změny v pracovních postupech při konstrukci platforem a podpora stávajících konstrukčních systémů bude zachována.

Chcete-li povolit postupnou migraci, některé změny pro zjednodušení sestavení systému Android jsou již součástí Bazelu, například schopnost analyzovat a spouštět soubory sestavení ve formátu Ninja.

Tvrdí se, že pro platformu Android, přechod na Bazel zvýší flexibilitu konfigurace procesu sestavení, Zlepší introspekci / monitorování průběhu sestavení a připojení závislostí, implementuje opakovatelné sestavení, zjednoduší složité skripty sestavení, zlepší integraci s různými obslužnými rutinami sestavení a testování a zkrátí čas sestavení.

Migrace na Bazel umožní AOSP:

Poskytují větší flexibilitu při konfiguraci kompilace AOSP (lepší podpora pro podmínky)
Povolte více introspekcí v průběhu a závislostech sestavení AOSP
Povolte správná a hratelná (vodotěsná) sestavení AOSP
Představte konfigurační mechanismus, který sníží složitost sestavení AOSP
Umožnit další integraci stavebních a zkušebních činností
Zkombinujte všechny tyto možnosti, abyste dosáhli významného zlepšení doby sestavení a zkušeností
Výhody této migrace do komunity Bazel jsou:

V Bazelu probíhají významné investice na podporu sestavení platformy Android
Rozšíření ekosystému a komunity Bazel původně zahrnovalo desítky tisíc vývojářů platforem Android a výrobců originálních zařízení pro Android a výrobců čipů.
Pravidla společnosti Bazel společnosti Google pro vytváření aplikací pro Android budou otevřeným zdrojovým kódem používaným v AOSP a budou udržována společností Google ve spolupráci s komunitou Android / Bazel.
Lepší kompatibilita Bazel pro vytváření aplikací pro Android
Lepší podpora pravidel pro další jazyky používané k vytváření platformy Android (Rust, Java, Python, Go atd.)
Silná podpora pro verze Bazel Long Term Support (LTS), z nichž má prospěch rozšířená komunita Bazel
Vylepšená dokumentace (výukové programy a reference)

Ekosystém Bazel pro Android rozšíří počet zúčastněných účastníků ve vývoji, zjednoduší aplikaci pro vytváření aplikací pro Android (včetně toho, že Google zamýšlí otevřít kód pro vytváření skriptů pro své aplikace pro Android), vylepší podporu pro různé programovací jazyky používané v Androidu (Rust, Java, Python, Go), poskytne prostředky pro vytváření dlouhých verzí a povede k lepší a obsáhlejší dokumentaci.

Bazel je vyvíjen inženýry společnosti Google a slouží k budování většiny interních projektů společnosti. Projekt vyniká vysokou konstrukční rychlostí, pro které se používají techniky ukládání do mezipaměti a paralelizace procesu výstavby.

Nástroje taky zajistit opakovatelnou montážJinými slovy, výsledek stavby projektu na stroji vývojáře bude přesně stejný jako stavění na systémech třetích stran, jako jsou servery pro nepřetržitou integraci. Další funkce jsou implementovány prostřednictvím mechanismu pro připojení rozšíření.

Na rozdíl od Make a Ninja používá Bazel přístup na vyšší úrovni k vytvoření pravidel kompilace, která namísto definování vazeb příkazů pro soubory, které se kompilují, používají abstraktnější předpřipravené bloky a definují cílové / sestavovací platformy.

Složky projektu jsou popsány v textovém souboru BUILD ve formě balíčku knihoven, spustitelných souborů a testů, bez podrobností na úrovni jednotlivých souborů a příkazů pro volání kompilátoru.

V BUILD souborech všechny závislosti musí být plně definovány, na základě kterých se rozhoduje o opětovném sestavení komponent po provedení změn (znovu se vytvoří pouze upravené soubory) a paralelizaci procesu sestavení.

zdroj: https://developers.googleblog.com


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.