Sortie de Bazel 2.0

Par:
fredericmazue

jeu, 13/02/2020 - 15:46

Bazel est un outil de construction de projets open source créé par Google. L'entreprise de Mountain View souligne qu'elle utilise Bazel  en interne.

Au départ uniquement disponible pour Linux et macOS, Bazel est aujourd'hui disponible aussi pour Windows. Bazel peut construire des cibles de projets écrits Java, Go, C++, Python, Objective-C, etc. pour ces trois systèmes d'exploitation, mais aussi pour Android et iOS. Bazel permet aussi de créer des images Docker.

Bazel est un outil de construction de projet similaire à Maven, Gradle, Ant, Make, ou encore CMake pour ne citer que ceux-là. Mais bien sûr, selon Google, Bazel ne présente que des avantages.

Parmi ses particularités, il faut lui reconnaître une analyse des dépendances optimisée, un système de cache avancé et aussi le fait que les fichiers sont entièrement examinés - et non simplement leur timbre à date pour déterminer si une reconstruction doit être faite. Bazel utilise le parallélisme pour accélérer la construction des projets.

Après la version 1.0 sortie en automne 2019, Bazel vient de sortir en version 2.0. Une version qui apporte des améliorations de performances et de stabilité, assure Google.

Quelques changements affecteront le développeur au quotidien. Par exemple, Le commutateur  --incompatible_remap_main_repo est désormais activé par défaut, ce qui fait que les deux méthodes d'adressage du référentiel principal (par nom et par @) sont interprétées comme faisant référence au même référentiel. Cette modification affectera l'évaluation des étiquettes dans le référentiel. Ainsi, dans le référentiel foo, les étiquettes @foo//some/path:lib et //some/path:lib sont désormais la même étiquette.

A remarquer encore, la règle native maven_jar n'est plus disponible car le commutateur --incompatible_remove_native_maven_jar est désormais activé par défaut et le commutateur a été purement et simplement supprimé. L'équipe a fourni un outil de migration automatisé pour aider à mettre à jour les fichiers de l'espace de travail de manière appropriée. La mise à jour manuelle des fichiers est également possible.

A remarquer aussi, l'attribut licenses est désormais obligatoire. Pour le hachage, seul SHA256 est pris en charge. Si vos cibles maven_jar n'ont pas spécifié de valeur server_urls auparavant, vous devez utiliser le serveur par défaut http: //central.maven.org/maven2, des modifications supplémentaires incluent la dépréciation du support pour aapt au profit de l'utilisation de aapt2 par défaut, ...

Bazel peut être téléchargé depuis son site officiel bazel.build