Google lança sistema de compilação Bazel 1.0 para criar e testar softwares

Google lança sistema de compilação Bazel 1.0 para criar e testar softwares

O Google criou o sistema de compilação Bazel há quatro anos, enquanto hoje chegou à versão 1.0 para esta solução de compilação em várias linguagens e plataformas.

Bazel é o sistema de compilação preferido do Google usado por muitos de seus próprios projetos de software.

Contudo, o Bazel está focado em fornecer processos automatizados de teste e liberação, ao mesmo tempo em que oferece suporte à “diversidade de linguagens e plataformas” e outros recursos atendidos no fluxo de trabalho.

Além disso, o sistema de compilação Bazel 1.0 chega em um momento em que muitos projetos de código aberto recentemente mudaram para o Meson + Ninja como o sistema de compilação popular atualmente, devido aos seus tempos de compilação rápidos e excelente suporte à compilação de várias plataformas.

Entretanto, o Bazel ainda precisa competir com CMake e muitos outros.

Em uma mudança dos sistemas de construção Maven para Bazel, a equipe de engenharia da Redfin relatou desempenho de construção 10x mais rápido. Os tempos de teste também foram reduzidos em cerca de três vezes.

Novidades do sistema de compilação Bazel 1.0

Google lança sistema de compilação Bazel 1.0 para criar e testar softwares

Com a versão 1.0, continuamos a implementar a visão de Bazel:

  • As criações do Bazel são rápidas e corretas. Cada execução de construção e teste é incremental, nas máquinas dos desenvolvedores e no sistema de teste de IC;
  • Bazel suporta multi-linguagemmulti-plataforma constrói e testes. Você pode executar um único comando para criar e testar toda a sua árvore de origem, independentemente da combinação de idiomas e plataformas que você segmentar;
  • Fornece uma linguagem de extensão uniforme, Starlark, para definir compilações para qualquer idioma ou plataforma;
  • Funciona em todas as principais plataformas de desenvolvimento (Linux, macOS e Windows);
  • Permite que você construa em escala – ele se conecta a serviços remotos distribuídos e de cache.

Os principais recursos da versão 1.0 GA são:

Versão semântica

A partir do Bazel 1.0, usaremos versões semânticas para todas as versões do Bazel. Por exemplo, todas as versões 1.x são compatíveis com o Bazel 1.0. Teremos uma janela de pelo menos três meses entre os principais lançamentos. Continuaremos publicando versões menores do Bazel todos os meses, a partir do GitHub HEAD.

Suporte a Longo Prazo

As versões LTS (Suporte a Longo Prazo) dão aos usuários a confiança de que a equipe do Bazel tem capacidade e processo para fornecer correções de maneira rápida e segura para bugs críticos, incluindo vulnerabilidades.

Recursos completos para Angular, Android, Java e C++

Os novos recursos incluem suporte de ponta a ponta para execução e cache remotos e suporte para gerenciadores de pacotes padrão e dependências de terceiros.

Então, novo no Bazel? Experimente o tutorial para o sua linguagem favorita para começar.

Mais detalhes sobre o Bazel 1.0 por meio do Blog de código aberto do Google e Bazel.build como o site do projeto.

Via: Phoronix / Bazel