04/03/2014

l'outil de build Bazel de Google rendu open source

Bazel est un outil maison développé en interne par Google. Les ingénieurs de la firme de Mountain View devant un catalogue d’applications développées très important ont développé Bazel pour pour compiler et générer la plupart de ces applications. Le gain de rapidité et de de flexibilité qu’offre Bazel est aujourd’hui mis à la disposition de la la communauté open source.

Google a annoncé que son outil Bazel est maintenant open source, en version alpha. Les développeurs externes à la firme vont donc pouvoir profiter des apports de Bazel et de contribuer à son développement. Bazel, qui s’exécute aujourd’hui sur les systèmes d’exploitation Linux est MacOS, a apporté un gain important de souplesse dans les opérations de compilation des logiciels Google

Fonctionnalités et optimisation

Originellement, Google utilisait le célèbre outil Make pour gérer ces compilations. L’outil possède quelques défauts bien connus. Notamment le processus de compilation basé sur les makefiles implique de parcourir systématiquement l’ensemble des fichiers sources. Bazel corrige ce comportement en ne sélectionnant que les fichiers modifiés depuis la dernière compilation pour un nouveau build.

Les caractéristiques principales annoncées par Google sont les suivantes :

  • Un support multi langages : Java, python, Objective-C et C++.
  • Un traitement plus efficient du code : les fichiers sources de chaque projet sont organisés selon la logique de construction de l’application. Les librairies, les fichiers binaires et les tests sont regroupés dans un même espace. C’est cette approche qui distingue Bazel des autres outils de build tels que Make.
  • Support multi plateformes : avec Bazel, les mêmes fichiers de l’espace de BUILD d’une application peuvent servir à générer des versions pour des systèmes cibles différents comme Linux, MacOS et même smartphones Android et iOS.

Feuille de route

Ce choix de l’open source s’accompagne de deux feuilles de route publiées par google : la première à disposition des développeurs externes qui veulent apporter leur contribution au projet, la seconde annonce les prochaines fonctionnalités prévues pour la version Béta. Celle-ci devrait contenir les fonctionnalités suivantes :

  • Disponibilité des versions binaires pour Linux et OS X
  • Publication sur GitHiub de tous les tests actuellement présents sur les répertoires Google
  • La suite de test Bazel exécutable sur des infrastructures d’intégration continue externe
  • Support des références transitives via Maven
  • Support de la récupération précoce et de la mise en cache des dépendances
  • Support pour la compilation et le test des applications Android
  • Support pour les tests des applications iOS
  • Support pour la compilation en bac à sable

Source : http://bazel.io/

Actualités