Android pāriet uz Bazel būvēšanas sistēmu

Google izstrādātāji kuri ir aiz Android izstrādes, deva ar paziņojumu uzzināt, ka Projekts virzās uz priekšu Android atvērtais avots (AOSP), lai izmantotu Bazel build sistēmu pašreizējās Soong, Ninja un Make kompilācijas sistēmas vietā.

Bazel atbalsts jau ir pievienots Android krātuvei, bet pāreja uz jauno būvēšanas sistēmu pēc noklusējuma se izplatīsies vairākās versijās platformu, lai padarītu migrāciju pēc iespējas vieglāku un pārredzamāku.

2020. un 2021. gadā būtiskas izmaiņas nav gaidāmas platformu būvniecības darbplūsmā un tiks saglabāts atbalsts esošajām būvniecības sistēmām.

Lai atļautu pakāpenisku migrāciju, dažas izmaiņas lai vienkāršotu Android versijas jau ir iekļauti Bazel, piemēram, spēja parsēt un palaist Ninja formāta veidošanas failus.

Tiek apgalvots, ka Android platformai, pāreja uz Bazel palielinās būvēšanas procesa konfigurēšanas elastību, Tas uzlabos uzbūves progresa un atkarību sasaistes pašpārbaudi / uzraudzību, ieviesīs atkārtojamus veidojumus, vienkāršos sarežģītus būvēšanas skriptus, uzlabos integrāciju ar dažādiem būvēšanas un testēšanas apstrādātājiem un samazinās būvēšanas laiku.

Migrācija uz Bazeli ļaus AOSP:

Nodrošiniet lielāku elastību AOSP kompilēšanas konfigurēšanai (labāks nosacījumu atbalsts)
Ļaujiet vairāk izpētīt AOSP izveidošanas progresu un atkarības
Iespējot pareizas un atskaņojamas (ūdensnecaurlaidīgas) AOSP versijas
Ieviesiet konfigurācijas mehānismu, kas samazinās AOSP būvējumu sarežģītību
Iespējot turpmāku būvniecības un testēšanas darbību integrāciju
Apvienojiet tos visus, lai iegūtu ievērojamu būvēšanas laiku un uzlabotu pieredzi
Šīs migrācijas ieguvumi Bazeles kopienai ir:

Bazelē tiek veikti nozīmīgi ieguldījumi, lai atbalstītu Android platformu izveidi
Bazel ekosistēmas un kopienas paplašināšanās, sākotnēji iekļaujot desmitiem tūkstošu Android platformu izstrādātāju un Android tālruņu oriģinālo iekārtu ražotājus (OEM) un mikroshēmu pārdevējus.
Google Bazel noteikumi Android lietotņu izveidei būs atvērta pirmkoda, tos izmantos AOSP, un tos uzturēs Google sadarbībā ar Android / Bazel kopienu.
Labāka Bazel savietojamība Android lietotņu izveidei
Labāks noteikumu atbalsts citām valodām, kuras tiek izmantotas Android platformas izveidei (Rust, Java, Python, Go utt.)
Spēcīgs atbalsts Bazel ilgtermiņa atbalsta (LTS) versijām, kas dod labumu paplašinātajai Bazel kopienai
Uzlabota dokumentācija (konsultācijas un atsauces)

Ekosistēma Bazel operētājsistēmā Android paplašinās iesaistīto dalībnieku skaitu izstrādē, vienkāršos lietotni, lai izveidotu Android lietotnes (ieskaitot Google plāno atvērt kodu, lai izveidotu skriptus savām Android lietojumprogrammām), tas uzlabos atbalstu dažādām Android lietojamām programmēšanas valodām (Rust, Java, Python, Go), tas nodrošinās resursus, lai izveidotu garas versijas un novedīs pie labākas un plašākas dokumentācijas.

Bazel ir izstrādājuši Google inženieri un tiek izmantots, lai izveidotu lielāko daļu uzņēmuma iekšējo projektu. Projekts izceļas ar lielu būvniecības ātrumu, kam tiek izmantotas kešatmiņas tehnikas un būvniecības procesa paralelizācija.

Arī instrumenti nodrošiniet atkārtotu montāžuCitiem vārdiem sakot, projekta veidošanas rezultāts izstrādātāja mašīnā būs tieši tāds pats kā būvējot trešo pušu sistēmās, piemēram, nepārtrauktās integrācijas serveros. Papildu funkcionalitāte tiek ieviesta, izmantojot paplašinājumu savienošanas mehānismu.

Atšķirībā no Make un Ninja, Bazels izmanto augstāka līmeņa pieeju lai izveidotu kompilācijas kārtulas, kas tā vietā, lai definētu komandu saites kompilējamiem failiem, izmanto abstraktākus iepriekš izveidotus blokus un definē mērķa / būvēšanas platformas.

Projekta sastāvdaļas ir aprakstīti teksta failā BUILD bibliotēku, izpildāmo failu un testu paketes veidā, detalizējot atsevišķu failu un komandu līmenī, lai izsauktu kompilatoru.

BUILD failos visām atkarībām jābūt pilnībā definētām, uz kuru pamata tiek pieņemti lēmumi atjaunot komponentus pēc izmaiņu veikšanas (tiek pārbūvēti tikai modificētie faili) un paralēli veidot procesu.

Fuente: https://developers.googleblog.com


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: AB Internet Networks 2008 SL
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.