Google développe un système de build
Les fichiers de construction Soong ne prennent pas en charge les instructions conditionnelles et les expressions de branchement, mais décrivent uniquement la structure du projet, les modules et les dépendances utilisés lors de la construction. Les fichiers à construire sont décrits à l'aide de masques et regroupés en packages, chacun étant un ensemble de fichiers avec des dépendances associées. Il est possible de définir des variables. Les variables et propriétés sont strictement typées (le type des variables est sélectionné dynamiquement lors de la première affectation, et pour les propriétés de manière statique en fonction du type du module). Les éléments complexes de la logique d'assemblage sont déplacés vers des gestionnaires,
Soong s'associe à un projet plus vaste
Cette approche permet aux projets volumineux et hétérogènes, tels qu'Android, d'implémenter des éléments complexes de logique d'assemblage dans le code dans un langage de programmation de haut niveau, tout en conservant la possibilité d'apporter des modifications aux modules liés à l'organisation de l'assemblage et à la structure du projet en utilisant une syntaxe déclarative simple. . Par exemple, dans Soong, la sélection des drapeaux du compilateur est effectuée par le gestionnaire
cc_bibliothèque {
...
srcs : ["générique.cpp"],
arc : {
bras: {
srcs : ["arm.cpp"],
},
x86 : {
srcs : ["x86.cpp"],
},
},
}
Source: opennet.ru