Android flytter til Bazel build-systemet

Google-utviklere som står bak utviklingen av Android, ga å vite gjennom en kunngjøring at prosjektet er i bevegelse Android åpen kildekode (AOSP) for å bruke Bazel-byggesystemet i stedet for det nåværende kompileringssystemet Soong, Ninja og Make.

Bazel-støtte er allerede lagt til i Android-arkivetMen overgangen til det nye byggesystemet som standard se vil spre seg over flere versjoner plattform for å gjøre migrasjon så enkel og gjennomsiktig som mulig.

I 2020 og 2021 forventes ingen vesentlige endringer i arbeidsflyter for plattformkonstruksjon, og støtte for eksisterende konstruksjonssystemer vil bli opprettholdt.

For å tillate gradvis migrering, noen endringer for å forenkle Android-bygg er allerede inkludert i Bazel, slik som muligheten til å analysere og kjøre bygge-filer i Ninja-format.

Det hevdes at for Android-plattformen, bytte til Bazel vil øke fleksibiliteten til å konfigurere byggeprosessen, Det vil forbedre introspeksjon / overvåking av byggfremdrift og tilkobling av avhengigheter, implementere repeterbare bygninger, forenkle komplekse byggeskripter, forbedre integrasjonen med forskjellige bygg- og testhåndterere, og redusere byggetiden.

Overføring til Bazel vil tillate AOSP å:

Gi mer fleksibilitet til å konfigurere AOSP-kompilering (bedre støtte for conditionals)
Tillat mer introspeksjon på AOSP-byggfremdrift og avhengigheter
Aktiver riktig og spillbar (vanntett) AOSP-bygging
Innfør en konfigurasjonsmekanisme som vil redusere kompleksiteten til AOSP-bygninger
Gjør det mulig å integrere videre bygge- og testaktiviteter
Kombiner alle disse for å få betydelig byggetid og opplevelsesforbedringer
Fordelene med denne migrasjonen til Bazel-samfunnet er:

Betydelige investeringer i gang i Bazel for å støtte Android-plattformsbygging
Bazel økosystem og utvidelse av samfunnet til å omfatte titusenvis av Android-plattformutviklere og produsenter av originalt utstyr for Android-telefoner (OEM) og chip-leverandører.
Googles Bazel-regler for å lage Android-apper vil være åpen kildekode, brukes i AOSP og vedlikeholdes av Google i partnerskap med Android / Bazel-fellesskapet.
Bedre Bazel-kompatibilitet for å lage Android-apper
Bedre regelstøtte for andre språk som brukes til å bygge Android-plattformen (Rust, Java, Python, Go, etc.)
Sterk støtte for Bazel Long Term Support (LTS) versjoner, til fordel for det utvidede Bazel-samfunnet
Forbedret dokumentasjon (opplæring og referanse)

Økosystemet til Bazel på Android vil utvide antall involverte deltakere i utviklingen, vil forenkle appen for å bygge Android-apper (inkludert Google har til hensikt å åpne koden for å lage skript for sine Android-applikasjoner), vil det forbedre støtten for forskjellige programmeringsspråk som brukes i Android (Rust, Java, Python, Go), og det vil gi ressurser for å lage lange versjoner og vil føre til bedre og mer omfattende dokumentasjon.

Bazel er utviklet av Google-ingeniører og brukes til å bygge de fleste av selskapets interne prosjekter. Prosjektet skiller seg ut for sin høye konstruksjonshastighet, for hvilke hurtigbufringsteknikker og parallellisering av byggeprosessen brukes.

Verktøyene også sørg for repeterbar monteringMed andre ord vil resultatet av å bygge prosjektet på utviklerens maskin være nøyaktig det samme som å bygge på tredjepartssystemer, for eksempel kontinuerlige integrasjonsservere. Ytterligere funksjonalitet er implementert gjennom mekanismen for tilkobling av utvidelser.

I motsetning til Make og Ninja, tar Bazel en høyere tilnærming for å lage kompileringsregler som, i stedet for å definere kommandobindinger for filene som kompileres, bruker mer abstrakte forhåndsbygde blokker og definerer mål / bygg-plattformer.

Komponentene i prosjektet er beskrevet i BUILD-tekstfilen i form av en pakke med biblioteker, kjørbare filer og tester, uten å detaljere på nivået av individuelle filer og kommandoer for å ringe kompilatoren.

I BYGG filer, alle avhengigheter må være fullstendig definert, på grunnlag av hvilke beslutninger som tas for å gjenoppbygge komponenter etter endringer (bare modifiserte filer gjenoppbygges) og parallellisere byggeprosessen.

Fuente: https://developers.googleblog.com


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.