BT

Bazel : Google rend son Outil de Build Open Source

| par Sergio De Simone Suivre 17 Abonnés , traduit par Nicolas Frankel Suivre 7 Abonnés le 30 mars 2015. Durée de lecture estimée: 2 minutes |

Bazel, l'outil que Google utilise pour construire la majorité de ses logiciels a été rendu partiellement Open Source. D'après Google, Bazel a pour objectif de construire "le code rapidement et de manière fiable" et est "critique pour la capacité de Google à continuer d'adapter ses pratiques de développement logiciel à la croissance de la compagnie".

Avant Bazel, Google construisait ses logiciels en utilisant des Makefiles. Ceux-ci avaient tendance à être énormes et menaient à des "builds lents et peu fiables". De plus, par rapport aux Makefiles, Bazel fournit des concepts de haut niveau comme "test Java", "binaire C++", les notions de "plateforme cible" et de "plateforme hôte", etc.

Ce niveau d'abstraction est fourni par BUILD, un langage "qui décrit un projet comme un ensemble de librairies, binaires et de tests de taille limitée". Voici de quoi a l'air un simple fichier BUILD :

package(default_visibility = [“//visibility:public”])

cc_library(
  name = "hello-lib",
  srcs = ["hello-lib.cc"],
  hdrs = ["hello-lib.h"],
)

cc_binary(
  name = "hello-world",
  srcs = ["hello-world.cc"],
  deps = [":hello-lib"],
)

cc_test(
  name = "hello-success_test",
  srcs = ["hello-world.cc"],
  deps = [":hello-lib"],
)

Parmi tous les avantages que Bazel procure, Google met en exergue :

  • Son efficience, grâce au fait qu'il ne recompile que les fichiers qui en ont besoin et qu'il est aussi capable d'ignorer les tests qui n'ont pas besoin d'être exécutés ;
  • Sa reproductibilité des résultats, en s'assurant qu'il n'existe aucun biais entre les "builds incrémentaux et les builds complets, entre les machines développeur et le système d'Intégration Continue".

Conçu pour les propres besoins de Google, Bazel est vanté comme étant particulièrement adapté pour des projets ayant n'importe quelle combinaison des caractéristiques suivantes : ont une large base de code partagée, supportent de multiples plateformes, sont écrits dans de multiples langages et ont une suite de tests extensive.

Il est important de noter que Bazel ne sera par entièrement développé en open source. Google explique : "Nous avons une somme significative de code qui n'est pas open source ; en termes de règles, seulement environ 10% sont actuellement open source". La politique menée par Google est basée sur la reconnaissance qu'un groupe de contributeurs principaux travaillera activement sur Bazel, alors que les "contributeurs externes ne supportent pas activement le projet mais contribuent uniquement des changements individuels".

InfoQ s'est rapproché du groupe de contributeurs principaux pour s'informer dans quelle mesure l'utilisation de Bazel peut améliorer la vitesse et quelles fonctionnalités distinguent Bazel d'autres compétiteurs open-source comme Buck de Facebook et Pants. Cet article sera mis à jour s'ils répondent.

Bazel s'exécute sur les systèmes Linux et OS X, mais n'est pas actuellement supporté sur Windows, et Google "n'a aucune intention d'investir dans un portage pour l'instant" car cela constituerait un effort important.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

rendre Build Open Source by hayat bellafkih

bonne initiative de la part de Google à encourager

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

1 Discuter

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT