O Bazel é uma ferramenta de teste e criação de código aberto semelhante ao Make, Maven e Gradle. Ele usa uma linguagem de build de alto nível legível por humanos. O Bazel oferece suporte a projetos em vários idiomas e cria saídas para várias plataformas. O Bazel oferece suporte a bases de código grandes em vários repositórios e a um grande número de usuários.
Vantagens
O Bazel oferece as seguintes vantagens:
Linguagem de build de alto nível. Ele usa uma interface abstrata e legível por humanos, para descrever as propriedades de compilação do seu projeto com um alto semântico. Ao contrário de outras ferramentas, o Bazel opera com os conceitos de bibliotecas, binários, scripts e conjuntos de dados, protegendo você da complexidade de escrever chamadas individuais para ferramentas, como compiladores e linkers.
O Bazel é rápido e confiável. O Bazel armazena em cache todo o trabalho realizado anteriormente e rastreia alterações no conteúdo do arquivo e nos comandos de compilação. Dessa forma, o Bazel sabe quando algo precisa ser recriado e recria apenas isso. Para acelerar ainda mais os builds, configure seu projeto para criar de forma incremental e altamente paralela.
O Bazel é multiplataforma. O Bazel é executado no Linux, macOS e Windows. O Bazel pode criar binários e pacotes de implantação para várias plataformas, incluindo computadores, servidores e dispositivos móveis, no mesmo projeto.
Escala do Bazel. O Bazel mantém a agilidade ao processar builds com mais de 100 mil perfis arquivos de origem. Ele funciona com vários repositórios e bases de usuários de dezenas de milhares.
O Bazel é extensível. Há suporte para muitas linguagens, e você pode estender o Bazel para oferecer suporte a qualquer outra linguagem ou framework.
Como usar o Bazel
Para criar ou testar um projeto com o Bazel, você geralmente faz o seguinte:
Configurar o Bazel. Faça o download e instale o Bazel.
Configure um espaço de trabalho para o projeto, que é um em que o Bazel procura as entradas de build e os arquivos
BUILD
e onde armazena saídas de build.Escrever um arquivo
BUILD
, que informa ao Bazel o que construir e como fazer isso.Você escreve seu arquivo
BUILD
declarando destinos de build usando o Starlark, uma linguagem específica do domínio. Confira um exemplo aqui.Um destino de build especifica um conjunto de artefatos de entrada que o Bazel vai criar, além das dependências, da regra de build que o Bazel vai usar para criá-lo e das opções que configuram a regra de build.
Uma regra de build especifica as ferramentas de build que o Bazel vai usar, como compiladores e linkers, e as configurações delas. O Bazel é enviado com várias regras de build que abrangem os tipos de artefato mais comuns nos idiomas compatíveis nas plataformas compatíveis.
Execute o Bazel na linha de comando. O Bazel coloca suas saídas no espaço de trabalho.
Além de criar, você também pode usar o Bazel para executar tests e consultar o build para rastrear dependências em seu código.
Processo de build do Bazel
Ao executar uma versão ou um teste, o Bazel faz o seguinte:
Carrega os arquivos
BUILD
relevantes para o destino.Analisa as entradas e as dependências, aplica as regras de build específicas e produz um gráfico de ação.
executa as ações de build nas entradas até a saída do build final. são produzidos.
Como todo o trabalho de build anterior é armazenado em cache, o Bazel pode identificar e reutilizar artefatos em cache e apenas recriar ou testar novamente o que mudou. Para aplicar ainda mais correção, configure o Bazel para executar builds e testes hermeticamente usando sandbox, minimizando a distorção e maximizando a reprodutibilidade.
Gráfico de ação
O gráfico de ações representa os artefatos de build, as relações entre eles e as ações de compilação que o Bazel vai executar. Graças a esse gráfico, o Bazel monitorar alterações em conteúdo do arquivo, bem como mudanças em ações, como comandos de compilação ou teste e saber qual trabalho de construção foi feito anteriormente. O gráfico também permite que você rastreie as dependências no seu código com facilidade.
Tutoriais de primeiros passos
Para começar a usar o Bazel, consulte Primeiros passos ou pule esta etapa. diretamente nos tutoriais do Bazel: