Android prelazi na sustav gradnje Bazel

Googleovi programeri koji stoje iza razvoja Androida, dao putem najave znati da se projekt kreće Android otvoreni izvor (AOSP) za korištenje sustava gradnje Bazel umjesto trenutnog sustava kompilacije Soong, Ninja i Make.

Podrška za Bazel već je dodana u Android spremište, ali prijelaz prema novom sustavu gradnje prema zadanim postavkama se će se proširiti na više verzija platforma kako bi migracija bila što lakša i transparentnija.

U 2020. i 2021. ne očekuju se značajne promjene u radnim tokovima gradnje platformi, a podrška za postojeće građevinske sustave bit će zadržana.

Da bismo omogućili postupnu migraciju, neke promjene radi pojednostavljenja izrade Androida već su uključeni u Bazel, kao što je mogućnost raščlanjivanja i pokretanja datoteka za izgradnju u formatu Ninja.

Tvrdi se da za Android platformu, prelazak na Bazel povećat će fleksibilnost konfiguriranja procesa izrade, Poboljšat će introspekciju / nadzor napretka gradnje i povezivanje ovisnosti, implementirati ponovljive gradnje, pojednostaviti složene skripte gradnje, poboljšati integraciju s raznim rukovateljima gradnje i testa i smanjiti vrijeme izrade.

Migracija na Bazel omogućit će AOSP-u da:

Pružite veću fleksibilnost za konfiguriranje AOSP kompilacije (bolja podrška za uvjetne radnike)
Omogućite više introspekcije o napretku gradnje AOSP-a i ovisnostima
Omogućite ispravne i vodootporne AOSP gradnje
Uvedite konfiguracijski mehanizam koji će smanjiti složenost AOSP gradnji
Omogućiti daljnju integraciju građevinskih i ispitnih aktivnosti
Kombinirajte sve ovo kako biste postigli značajna poboljšanja u vremenu izrade i iskustva
Prednosti ove migracije na zajednicu Bazel su:

U tijeku je značajno ulaganje u Bazel za podršku izgradnji platforme Android
Bazelov ekosustav i širenje zajednice u početku uključuju desetke tisuća programera Android platformi i proizvođača originalne opreme za Android telefone (OEM-ove) i dobavljače čipova.
Googleova pravila Bazel za stvaranje Android aplikacija bit će otvorenog koda, upotrebljavat će se u AOSP-u, a Google će ih održavati u partnerstvu sa zajednicom Android / Bazel.
Bolja kompatibilnost s Bazel za stvaranje Android aplikacija
Bolja podrška za pravila za druge jezike koji se koriste za izgradnju Android platforme (Rust, Java, Python, Go, itd.)
Snažna podrška verzijama Bazel Long Term Support (LTS), što koristi proširenoj zajednici Bazel
Poboljšana dokumentacija (vodiči i reference)

Ekosustav Bazel na Androidu proširit će broj uključenih sudionika u razvoju, pojednostavit će aplikaciju za izgradnju Android aplikacija (uključujući Google namjerava otvoriti kôd za izradu skripti za svoje Android aplikacije), poboljšat će podršku za različite programske jezike koji se koriste u Androidu (Rust, Java, Python, Go), pružit će resurse za stvaranje dugog trajanja verzija i dovest će do bolje i opsežnije dokumentacije.

Bazel su razvili Googleovi inženjeri a koristi se za izgradnju većine internih projekata tvrtke. Projekt ističe se velikom brzinom gradnje, za koje se koriste tehnike predmemoriranja i paralelizacija građevinskog postupka.

Alati također osigurati ponovljivi sklopDrugim riječima, rezultat izgradnje projekta na stroju programera bit će potpuno isti kao i gradnja na sustavima trećih strana, kao što su poslužitelji za kontinuiranu integraciju. Dodatna funkcionalnost implementirana je kroz mehanizam za povezivanje ekstenzija.

Za razliku od Makea i Ninje, Bazel ima pristup više razine za stvaranje pravila kompilacije koja, umjesto definiranja veza naredbi za datoteke koje se prevode, koriste apstraktnije unaprijed izgrađene blokove i definiraju platforme za ciljanje / izgradnju.

Sastavnice projekta opisani su u tekstualnoj datoteci BUILD u obliku paketa knjižnica, izvršnih datoteka i testova, bez detalja na razini pojedinih datoteka i naredbi za pozivanje kompajlera.

U BUILD datotekama, sve ovisnosti moraju biti potpuno definirane, na temelju kojih se donose odluke o ponovnoj izgradnji komponenata nakon unošenja promjena (obnavljaju se samo modificirane datoteke) i paraleliziranje procesa gradnje.

izvor: https://developers.googleblog.com


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.