Le moteur de production gratuit Bazel de Google supporte de nombreux langages et plates-formes, y compris le framework web Angular et la bibliothèque d'apprentissage machine TensorFlow. Il est disponible en version 1.0. C’est la première version stable de l’outil, depuis sa publication en 2015. Bazel permet d’accélérer la compilation des applications et améliore la qualité et l’évolutivité du code. L'outil utilise un langage d'extension uniforme, Starlark, anciennement connu sous le nom de Skylark, pour définir les builds.
Les principales fonctionnalités de Bazel 1.0 sont :
- Des fonctionnalités complètes pour Android, Angular, C++ et Java, y compris le support end-to-end pour l'exécution à distance et la mise en cache ainsi que le support des gestionnaires de paquets standard et des dépendances de tierces-parties.
- Versioning sémantique : toutes les versions de Bazel 1.x seront rétrocompatibles avec Bazel 1.0. Des versions mineures seront publiées tous les mois, mais il s’écoulera au minimum trois mois entre les releases majeures.
- Support à long terme : l'équipe de Bazel livrera des correctifs pour les failles critiques.
Bazel permet aux développeurs de construire et de tester plusieurs plates-formes et un large éventail de langages. MacOS, Linux et Windows sont tous supportés. La principale caractéristique de Bazel, c’est qu'il ne reconstruit que ce qui est nécessaire. Les builds rapides et incrémentielles sont activées par une mise en cache avancée locale et distribuée, une analyse optimisée des dépendances et une exécution parallèle. Les bases de codes de toute taille peuvent être prises en charge, soit en plusieurs référentiels ou soit en un seul référentiel de grande taille.
Démarrer avec Bazel
Le site web du projet fournit des tas d’informations sur la mise en œuvre de Bazel.