██████╗ ██╗ █████╗ ██████╗ ███████╗
██╔══██╗██║ ██╔══██╗██╔══██╗██╔════╝
██████╔╝██║ ███████║██║ ██║█████╗
██╔══██╗██║ ██╔══██║██║ ██║██╔══╝
██████╔╝███████╗██║ ██║██████╔╝███████╗
╚═════╝ ╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝
Inglês | 简体中文
Um sistema de construção fácil de usar, rápido e moderno para desenvolvimento baseado em tronco em base de código monorepo em grande escala.
Primeiro, vamos ver uma demonstração legal:
O código no branch master é a versão de desenvolvimento e deve ser considerado como versão alfa. Prefira usar a versão nas tags em seu ambiente formal. De tempos em tempos, lançaremos a versão verificada na base de código interno em grande escala para a tag.
A versão 2.0 está em release candidate! Inclui as seguintes mudanças notáveis:
Siga as notas de atualização para atualizar.
O Blade foi projetado para ser um sistema de construção moderno. É poderoso e fácil de usar. Ele suporta a construção de várias linguagens, como c/c++, java, python, scala, protobuf, etc. Ele analisa a dependência de destino automaticamente e integra compilação, vinculação, teste (inclui testes incrementais e testes paralelos) e inspeção de código estático. Tem como objetivo melhorar a clareza e simplicidade das regras de construção de um projeto.
Com o Blade, você pode compilar, vincular e testar vários alvos apenas inserindo uma simples linha de comando. Por exemplo:
Construa e teste todos os destinos em um diretório comum recursivamente.
blade test common...
Crie e teste alvos como 32 bits
blade test -m32 common...
Crie e teste destinos como modo de depuração
blade test -pdebug common...
E você pode combinar as bandeiras:
blade test -m32 -pdebug common...
Blade é inspirado nas informações públicas do Google sobre seu sistema de construção. Aqui está um artigo de referência do blog oficial do Google: construir na nuvem: como funciona o sistema de construção.
Mais tarde, em 2015, eles o lançaram parcialmente reescrito como sistema de compilação de código aberto bazel
.
Blade gera script Ninja internamente, então é claro que depende do ninja.
Python é uma linguagem poderosa e fácil de usar, gostamos de python.
Algumas bibliotecas de código aberto do Google, como protobuf,
gteste,
gperftools são úteis e poderosos, integramos essas bibliotecas.