██████╗ ██╗ █████╗ ██████╗ ███████╗
██╔══██╗██║ ██╔══██╗██╔══██╗██╔════╝
██████╔╝██║ ███████║██║ ██║█████╗
██╔══██╗██║ ██╔══██║██║ ██║██╔══╝
██████╔╝███████╗██║ ██║██████╔╝███████╗
╚═════╝ ╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝
Anglais | 简体中文
Un système de construction facile à utiliser, rapide et moderne pour le développement basé sur le tronc dans une base de code monorepo à grande échelle.
Tout d'abord, voyons une démo sympa :
Le code sur la branche master est une version de développement et doit être considéré comme une version alpha. Veuillez préférer utiliser la version sur les balises dans votre environnement formel. Nous publierons de temps en temps la version vérifiée sur la base de code interne à grande échelle de la balise.
La version 2.0 est en release candidate ! Il comprend les changements notables suivants :
Veuillez suivre les notes de mise à niveau pour effectuer la mise à niveau.
Blade est conçu pour être un système de construction moderne. Il est puissant et facile à utiliser. Il prend en charge la création de plusieurs langages, tels que c/c++, java, python, scala, protobuf, etc. Il analyse automatiquement la dépendance cible et intègre la compilation, la liaison, les tests (inclut les tests incrémentiels et les tests parallèles) et l'inspection du code statique. Il vise à améliorer la clarté et la simplicité des règles de construction d'un projet.
Avec Blade, vous pouvez compiler, lier et tester plusieurs cibles en saisissant simplement une simple ligne de commande. Par exemple:
Créez et testez de manière récursive toutes les cibles du répertoire commun.
blade test common...
Construire et tester des cibles en 32 bits
blade test -m32 common...
Créer et tester des cibles en mode débogage
blade test -pdebug common...
Et vous pouvez combiner les drapeaux ensemble :
blade test -m32 -pdebug common...
Blade s'inspire des informations publiques de Google sur leur système de construction. Voici un article de référence du blog officiel de Google : build in cloud : how build system works.
Plus tard en 2015, ils l'ont publié avec une réécriture partielle en tant que système de construction open source bazel
.
Blade génère un script Ninja en interne, donc bien sûr cela dépend du ninja.
Python est un langage puissant et simple à utiliser, nous aimons python.
Certaines bibliothèques open source de Google, comme protobuf,
test,
Les gperftools sont pratiques et puissants, nous avons intégré ces bibliothèques.