Introdução ao Bazel

Informar um problema Mostrar fonte Por noite · 7,3 · 7,2 · 7,1 · 7,0 · 6,5

O Bazel é uma ferramenta de build e teste de código aberto semelhante ao Make, Maven e Gradle. Ele usa uma linguagem de build de alto nível e 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 grandes bases de código em vários repositórios e 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 nos conceitos de bibliotecas, binários, scripts e conjuntos de dados, protegendo você a complexidade de escrever chamadas individuais para ferramentas como compiladores e vinculadores.

  • 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. Desta forma, Bazel sabe quando algo precisa ser reconstruído e apenas recria isso. Para acelerar seus builds, você pode configurar seu projeto para criar uma arquitetura de maneira paralela e incremental.

  • O Bazel é multiplataforma. O Bazel é executado no Linux, macOS e Windows. Júlio pode compilar binários e pacotes implantáveis para múltiplas plataformas, incluindo desktop, servidor e dispositivo móvel do 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 nas dezenas de milhares.

  • O Bazel é extensível. Muitos idiomas são e você pode estender o Bazel para dar suporte a qualquer outra linguagem ou de análise de dados em nuvem.

Como usar o Bazel

Para criar ou testar um projeto com o Bazel, normalmente você faz o seguinte:

  1. Configure o Bazel. Faça o download e instale o Bazel.

  2. 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.

  3. Gravar um arquivo BUILD (link em inglês), que informa ao Bazel o que criar e como construí-la.

    Grave o arquivo BUILD declarando destinos de build usando o Starlark, uma linguagem específica de domínio. Veja um exemplo aqui.

    Um destino de build especifica um conjunto de artefatos de entrada que o Bazel vai compilar, além as dependências, a regra de build que o Bazel vai usar para criá-la e as 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 vinculadores e as configurações deles. O Bazel é fornecido com várias regras de build cobrindo os tipos de artefato mais comuns nas linguagens suportadas em plataformas com suporte.

  4. Execute o Bazel na linha de comando. Júlio 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:

  1. Carrega os arquivos BUILD relevantes para o destino.

  2. Analisa as entradas e as dependências, aplica o build especificado e produz uma ação gráfico.

  3. 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 o armazenamento em cache. artefatos e apenas reconstrua ou teste novamente o que foi alterado. Para reforçar ainda mais é possível configurar o Bazel para executar builds e testes hermeticamente pelo sandbox, minimizando o desvio e maximizar a reprodutibilidade.

Gráfico de ações

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: