BT

Accueil InfoQ Actualités Bazel : Google rend son Outil de Build Open Source

Bazel : Google rend son Outil de Build Open Source

Favoris

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

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

Commentaires de la Communauté

  • rendre Build Open Source

    by hayat bellafkih /

    Ce message a été marqué comme possible SPAM. Un modérateur le relira et le publiera sans notification dans les 24 heures. Merci.

    bonne initiative de la part de Google à encourager

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

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

BT

Votre profil est-il à jour? Merci de prendre un instant pour vérifier.

Note: en cas de modification de votre adresse email, une validation sera envoyée.

Nom de votre entreprise:
Rôle dans votre entreprise:
Taille de votre entreprise:
Pays/Zone:
État/Province/Région:
Vous allez recevoir un email pour confirmer la nouvelle adresse email. Ce pop-up va se fermer de lui-même dans quelques instants.