Lançamento do Bazel 7

DEZ 12, 2023

O Bazel 7 já está disponível. O Bazel é o sistema de compilação de código aberto do Google para compilações rápidas e corretas. Ele tem suporte integrado para criação de software cliente e servidor, incluindo aplicativos cliente para plataformas Android e iOS. Além disso, ele conta com um framework extensível que você pode usar para desenvolver suas próprias regras de compilação. O Bazel cria quase todos os produtos do Google, incluindo Pesquisa Google, Gmail e Documentos Google.

Quais são as novidades do Bazel 7?

O Bazel 7 é a versão principal mais recente na trajetória do suporte de longo prazo (LTS, na sigla em inglês). Confira abaixo as novidades desse lançamento:

Bzlmod: o Bzlmod, o novo sistema modular de gerenciamento de dependências externas do Bazel, agora está habilitado por padrão (ou seja, --enable_bzlmod é definido como true). Se seu projeto não tiver um arquivo MODULE.bazel, o Bazel criará um arquivo vazio para você. O antigo mecanismo WORKSPACE continuará a funcionar junto com o novo sistema gerenciado pelo Bzlmod. Saiba mais sobre o que mudou desde o Bazel 6 e o ​​que está por vir no Bazel 8 e 9.

Build without the Bytes (BwoB): o Build without the Bytes para compilações com execução remota agora é ativado por padrão (ou seja, --remote_download_outputs é definido como nível superior). O Bazel não tentará mais fazer o download de nenhuma saída intermediária do servidor remoto, mas apenas das saídas dos destinos de nível superior solicitados. Isso melhora significativamente o desempenho da compilação remota. Saiba mais sobre o BwoB.

Execução e análise mesclada (Skymeld): o Projeto Skymeld visa melhorar o desempenho da compilação multialvo, removendo a fronteira entre as fases de análise e execução e permitindo que os alvos sejam executados de forma independente assim que a análise é encerrada.

Resolução do conjunto de ferramentas com base em plataforma para Android e C++: essa mudança ajuda a simplificar a API de resolução do conjunto de ferramentas em todos os conjuntos de regras, eliminando a necessidade de sinalizadores específicos de idioma. Isso também elimina a dívida técnica ao fazer com que as regras do Android e C++ usem a mesma lógica de resolução do conjunto de ferramentas que outros conjuntos de regras. Detalhes completos para desenvolvedores Android estão disponíveis no anúncio da Plataforma Android.

O que vem por aí?

Leia as notas completas da versão para o Bazel 7 e acompanhe nosso trabalho até o Bazel 8:

Para tirar dúvidas, dar feedback ou compartilhar algo que você criou, entre em contato com product@bazel.build. Vamos adorar receber sua mensagem!