Android prelazi na sistem gradnje Bazel

Google programeri koji stoje iza razvoja Androida, dali su putem najave znati da se projekat kreće Android otvoreni kod (AOSP) za korištenje sistema gradnje Bazel umjesto trenutnog sistema kompilacije Soong, Ninja i Make.

Podrška za Bazel već je dodana u Android spremište, ali tranzicija prema novom sistemu gradnje prema zadanim postavkama sE će se proširiti na više verzija platforma koja migraciju čini što lakšom i transparentnijom.

U 2020. i 2021. ne očekuju se značajne promjene u radnim tokovima izgradnje platforme, a podrška za postojeće građevinske sisteme će se zadržati.

Da biste omogućili postepenu migraciju, neke promjene kako bi se pojednostavile Android verzije već su uključeni u Bazel, kao što je mogućnost raščlanjivanja i pokretanja datoteka za izgradnju u Ninja formatu.

Tvrdi se da za Android platformu, prelazak na Bazel povećat će fleksibilnost konfiguriranja procesa izrade, Poboljšat će introspekciju / praćenje napretka gradnje i povezivanje zavisnosti, implementirati ponovljive gradnje, pojednostaviti složene skripte gradnje, poboljšati integraciju s različitim 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 i ovisnostima
Omogućite ispravne i vodootporne AOSP izrade
Uvedite mehanizam konfiguracije koji će smanjiti složenost AOSP izrada
Omogućiti dalju integraciju građevinskih i ispitnih aktivnosti
Kombinirajte sve ovo kako biste postigli značajna poboljšanja u vremenu izrade i iskustvu
Prednosti ove migracije na zajednicu Bazel su:

U Bazel-u je u toku značajna investicija za podršku izgradnji platforme Android
Proširenje ekosistema i zajednice Bazel u početku uključuje desetine hiljada programera Android platforme 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)

Ekosistem 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 izgradnju skripti za svoje Android aplikacije), poboljšać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 će dovesti do bolje i opsežnije dokumentacije.

Bazel su razvili Googleovi inženjeri i koristi se za izgradnju većine internih projekata kompanije. Projekat izdvaja se velikom brzinom gradnje, za koje se koriste tehnike predmemoriranja i paralelizacija građevinskog postupka.

Alati takođe osigurati ponovljivi sklopDrugim riječima, rezultat izgradnje projekta na računaru programera bit će potpuno isti kao i gradnja na nezavisnim sistemima, kao što su serveri za kontinuiranu integraciju. Dodatna funkcionalnost implementirana je kroz mehanizam za povezivanje ekstenzija.

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

Komponente projekta opisani su u tekstualnoj datoteci BUILD u obliku paketa biblioteka, izvršnih datoteka i testova, bez detalja na nivou pojedinačnih datoteka i naredbi za pozivanje kompajlera.

U BUILD datotekama, sve zavisnosti moraju biti u potpunosti definirane, na osnovu 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 komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.