Android siirtyy Bazel-rakennusjärjestelmään

Google-kehittäjät jotka ovat Android-kehityksen takana, antoi tietää ilmoituksen kautta, että projekti on liikkeellä Androidin avoimen lähdekoodin (AOSP) käyttää Bazel-rakennusjärjestelmää nykyisen Soong-, Ninja- ja Make-kokoamisjärjestelmän sijaan.

Bazelin tuki on jo lisätty Android-arkistoon, mutta siirtymä oletuksena s uudelle koontijärjestelmällee leviää useisiin versioihin alustan, jotta muuttaminen olisi mahdollisimman helppoa ja avointa.

Vuosina 2020 ja 2021 ei odoteta merkittäviä muutoksia lavanrakennuksen työnkulkuissa ja nykyisten rakennusjärjestelmien tuki säilytetään.

Asteittaisen siirtymisen mahdollistamiseksi joitain muutoksia yksinkertaistaa Android-versioita kuuluvat jo Bazeliin, kuten kyky jäsentää ja suorittaa Ninja-muotoisia koontitiedostoja.

Väitetään, että Android-alustalle, siirtyminen Bazeliin lisää joustavuutta rakennusprosessin määrittämiseen, Se parantaa rakentamisen etenemisen ja seurannan ja riippuvuuksien yhteyden muodostamista, toteuttaa toistettavia koontiversioita, yksinkertaistaa monimutkaisia ​​koontikomentosarjoja, parantaa integrointia erilaisten rakennus- ja testauskäsittelijöiden kanssa ja vähentää rakennusaikaa.

Siirtyminen Bazeliin antaa AOSP: lle mahdollisuuden:

Tarjoa enemmän joustavuutta AOSP-kokoelman määrittämiseen (parempi ehdollisten tuki)
Salli enemmän itsetarkastelua AOSP-rakennuksen edistymisestä ja riippuvuuksista
Ota käyttöön oikeat ja toistettavat AOSP-rakennelmat (vesitiivis)
Ota käyttöön määritysmekanismi, joka vähentää AOSP-rakennusten monimutkaisuutta
Mahdollistaa rakennus- ja testaustoimintojen integroinnin edelleen
Yhdistä nämä kaikki saadaksesi merkittävää rakennusaikaa ja kokemusparannuksia
Tämän muuttoliikkeen hyödyt Bazel-yhteisölle ovat:

Bazelissa on käynnissä merkittävä investointi Android-alustan rakenteiden tukemiseksi
Bazelin ekosysteemi ja yhteisö laajenevat alun perin kymmeniin tuhansiin Android-alustan kehittäjiin ja Android-puhelimen alkuperäislaitevalmistajiin (OEM) ja sirumyyjiin.
Googlen Bazelin säännöt Android-sovellusten luomiseksi ovat avoimen lähdekoodin, AOSP: ssä käytettävät, ja Google ylläpitää niitä yhdessä Android / Bazel-yhteisön kanssa.
Parempi Bazel-yhteensopivuus Android-sovellusten luomiseen
Parempi sääntöjen tuki muille Android-alustan rakentamiseen käytetyille kielille (Rust, Java, Python, Go jne.)
Vahva tuki Bazel Long Term Support (LTS) -versioille, mikä hyödyttää laajentunutta Bazel-yhteisöä
Parannettu dokumentaatio (oppaat ja viitteet)

Kosken ekosysteemi Bazel Androidissa lisää osallistujien määrää kehityksessä, yksinkertaistaa sovellusta rakentamaan Android-sovelluksia (mukaan lukien Google aikoo avata koodin komentosarjojen luomiseksi Android-sovelluksilleen), se parantaa eri Android-ohjelmointikielien (Rust, Java, Python, Go) tukea, se tarjoaa resursseja pitkien versioiden luomiseen ja johtaa parempaan ja laajempaan dokumentointiin.

Bazelin ovat kehittäneet Googlen insinöörit ja sitä käytetään rakentamaan suurin osa yrityksen sisäisistä projekteista. Projekti erottuu suuresta rakennusnopeudestaan, johon käytetään välimuistitekniikoita ja rakennusprosessin rinnakkaistamista.

Myös työkalut Varmista, että kokoonpano on toistettavissaToisin sanoen, projektin rakentamisen tulos kehittäjän koneelle on täsmälleen sama kuin kolmannen osapuolen järjestelmille, kuten jatkuvan integroinnin palvelimille, rakentamisen tulos. Lisätoiminnot toteutetaan laajennusten yhdistämismekanismin avulla.

Toisin kuin Make ja Ninja, Bazel käyttää korkeamman tason lähestymistapaa luoda käännössääntöjä, jotka sen sijaan, että määritettäisiin komentosidokset koottaville tiedostoille, käyttävät abstraktimpia valmiita lohkoja ja määrittelevät kohde / koontialustat.

Projektin osat kuvataan BUILD-tekstitiedostossa kirjastojen, suoritettavien tiedostojen ja testien paketin muodossa, ilman yksityiskohtaisia ​​tietoja yksittäisten tiedostojen ja komentojen tasolla kääntäjän kutsumiseksi.

BUILD-tiedostoissa kaikki riippuvuudet on määriteltävä täysin, joiden perusteella tehdään päätöksiä komponenttien uudelleenrakentamisesta muutosten tekemisen jälkeen (vain muokatut tiedostot rakennetaan uudelleen) ja rakennusprosessin rinnakkaisuus.

lähde: https://developers.googleblog.com


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.