██████╗ ██╗ █████╗ ██████╗ ███████╗
██╔══██╗██║ ██╔══██╗██╔══██╗██╔════╝
██████╔╝██║ ███████║██║ ██║█████╗
██╔══██╗██║ ██╔══██║██║ ██║██╔══╝
██████╔╝███████╗██║ ██║██████╔╝███████╗
╚═════╝ ╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝
Inglés | 简体中文
Un sistema de compilación moderno, rápido y fácil de usar para el desarrollo basado en troncales en una base de código monorepo a gran escala.
Primero, veamos una demostración interesante:
El código de la rama maestra es una versión de desarrollo y debe considerarse como una versión alfa. Prefiera utilizar la versión de las etiquetas en su entorno formal. Publicaremos la versión verificada en la base de código interno a gran escala en la etiqueta de vez en cuando.
¡La versión 2.0 está en proceso de lanzamiento! Incluye los siguientes cambios notables:
Siga las Notas de actualización para actualizar.
Blade está diseñado para ser un sistema de construcción moderno. Es potente y fácil de usar. Admite la creación de múltiples lenguajes, como c/c++, java, python, scala, protobuf, etc. Analiza la dependencia objetivo automáticamente e integra la compilación, la vinculación, las pruebas (incluye pruebas incrementales y paralelas) y la inspección de código estático juntas. Su objetivo es mejorar la claridad y simplicidad de las reglas de construcción de un proyecto.
Con Blade, puede compilar, vincular y probar múltiples objetivos con solo ingresar una simple línea de comando. Por ejemplo:
Cree y pruebe todos los objetivos en el directorio común de forma recursiva.
blade test common...
Construya y pruebe objetivos como 32 bits
blade test -m32 common...
Construya y pruebe objetivos como modo de depuración
blade test -pdebug common...
Y puedes combinar las banderas juntas:
blade test -m32 -pdebug common...
Blade se inspira en la información pública de Google sobre su sistema de compilación. Aquí hay un artículo de referencia del blog oficial de Google: compilación en la nube: cómo funciona el sistema de compilación.
Más tarde, en 2015, lo lanzaron con una reescritura parcial como sistema de compilación de código abierto bazel
.
Blade genera un script Ninja internamente, por lo que, por supuesto, depende de Ninja.
Python es un lenguaje potente y fácil de usar, nos gusta Python.
Algunas bibliotecas de código abierto de Google, como protobuf,
prueba,
gperftools son útiles y potentes, hemos integrado estas bibliotecas.