Roteiro de configuração da Bazel 2021

Informar um problema Ver código-fonte

Última verificação: 25/01/2021 (histórico de atualizações)

Ponto de contato: gregestren

Discussão:Roteiro de configuração: discussão

Roteiros anteriores

  • 2020 (com avaliação EOY)
  • 2019 (com avaliação EOY)
  • 2018

Meta

O $ bazel build //:all funciona para qualquer projeto e plataforma.

  • Os builds não exigem sinalizações de linha de comando.
  • Cada destino usa automaticamente as configurações corretas, como android_binary, usando o NDK correto.
  • Ele é fácil de criar para várias plataformas.
  • Os builds são bem dimensionados, principalmente o tamanho do gráfico e o armazenamento em cache das ações.

Também aceitamos cquery, Starlark configuration e select().

Roteiro

As datas são aproximadas com base no nosso melhor entendimento da complexidade do problema e disponibilidade do desenvolvedor. Em 2021, pretendemos nos concentrar mais em menos projetos de uma só vez. Só definiremos ETAs para trabalho ativamente priorizado com base em expectativas precisas.

Plataformas

Terceiro trimestre de 2021As regras do Android usam a nova API Platforms IN PROGRESS (#11749)

  • Essa é nossa prioridade principal para o início de 2021.

Terceiro trimestre de 2021Os builds oferecem suporte a várias plataformas de execução EM ANDAMENTO (#11748)

pausadaAs regras em C++ usam a nova API Platformsfall IN PROGRESS (#6516)

  • Esse recurso está bloqueado nas plataformas Android. É possível ativar essa opção com um simples virar uma bandeira.

pausadaDestinos multiplataforma NÃO INICIADO

  • Deixar os destinos declararem que precisam criar para várias plataformas
  • Item listado aqui devido à solicitação do usuário

pausadaDescontinuação e remoção de --cpu e de sinalizações relacionadas NÃO INICI

  • Essa é uma meta inspiradora que cai da migração de todas as regras para plataformas.

Eficiência

2021Um modo Bazel experimental armazena em cache a compilação Java multiplataforma IN PROGRESS (#6526)

  • Melhora a velocidade de build em várias plataformas
  • Subalocado, então o progresso é lento