Google entwéckelt e modulare Versammlungssystem Soong fir Android

Google entwéckelt e Bausystem Soong, entwéckelt fir déi al Build Scripte fir d'Android Plattform ze ersetzen, baséiert op der Benotzung vum Make Utility. Soong proposéiert einfach deklarativ ze benotzen Beschreiwunge Regele fir Montage Moduler, ginn an Dateien mat der Extensioun ".bp" (Blueprints). De Dateiformat ass no bei JSON an, wa méiglech, widderhëlt d'Syntax an d'Semantik vun de Versammlungsdateien bazel. De Code ass a Go geschriwwen a verdeelt ënner der Apache 2.0 Lizenz.

Soong Build Dateien ënnerstëtzen keng bedingt Aussoen a Verzweigungsausdréck, awer beschreiwen nëmmen d'Projetstruktur, Moduler an Ofhängegkeeten déi beim Bauen benotzt ginn. D'Fichier'en, déi gebaut ginn, gi mat Masken beschriwwen an a Pakete gruppéiert, jidderee vun deenen eng Sammlung vu Dateien mat assoziéierten Ofhängegkeeten ass. Et ass méiglech Variabelen ze definéieren. Variablen an Eegeschafte gi strikt getippt (d'Aart vu Variablen gëtt dynamesch bei der éischter Uerdnung ausgewielt, a fir Eegeschafte statesch ofhängeg vun der Aart vum Modul). Komplex Elementer vun der Assemblée Logik ginn op Handler geplënnert, geschriwwen an Go Sprooch.

Soong verwiesselt mat engem gréissere Projet MGMT, an deem e Meta-Assemblée System entwéckelt gëtt, deen net mat Android gebonnen ass, deen, baséiert op Dateien mat deklarativen Modulbeschreiwungen, Versammlungsskripte generéiert Ninja (en Ersatz fir Make), déi d'Befehle beschreiwen déi musse lafen fir ze bauen an d'Ofhängegkeeten. Amplaz komplex Reegelen oder eng Domain-spezifesch Sprooch ze benotzen fir d'Buildlogik ze definéieren, benotzt Blueprint Projet-spezifesch Handler an der Go Sprooch (Soong ass wesentlech eng Rei vun ähnlechen Handler fir Android).

Dës Approche erlaabt grouss an heterogen Projeten, wéi Android, komplex Elementer vun der Assemblée Logik am Code an enger héijer Programmiersprache ëmzesetzen, wärend d'Fähigkeit behält fir Ännerunge fir Moduler am Zesummenhang mat der Assembléeorganisatioun a Projetstruktur mat einfachen deklarativen Syntax ze maachen. . Zum Beispill, am Soong, gëtt d'Auswiel vu Compiler Fändelen vum Handler gemaach llvm.goen, an d'Applikatioun vun Astellunge spezifesch fir Hardwarearchitekturen gëtt vum Handler duerchgefouert art.goen, awer d'Verbindung vu Codedateien gëtt an der ".bp" Datei duerchgefouert.

cc_bibliothéik {
...
srcs: ["generic.cpp"],
arch: {
arm: {
srcs: ["arm.cpp"],
},
x86:{
srcs: ["x86.cpp"],
},
},
}

Source: opennet.ru

Setzt e Commentaire