Estratégia de 2021 da API Bazel Build para 2021

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

Ponto de contato: comius

Discussão: Crie um roteiro para a API: discussão

Escopo

A equipe da API Build está cobrindo implementações de regras nativas e a API nativa exposta ao Starlark.

Meta

Implemente todas as regras no Starlark e entregue-as a equipes especializadas no idioma específico. Remova a lógica específica da linguagem do núcleo do Bazel.

Regras Java

Primeiro, as regras do Java serão reescritas no Starlark e testadas internamente em uma grande base de código. Depois disso, elas serão liberadas para o Bazel.

1o trimestre de 2021

  • Melhorar o Java sanduíche, tornando possível reescrever regras Java existentes. CONCLUÍDO

2o trimestre de 2021

  • Melhoria na compatibilidade do Starlark com bibliotecas nativas em Java. EM ANDAMENTO
  • Melhoria na compatibilidade de java_common com plug-ins e ambientes de desenvolvimento integrado: proposta de refatoração comum do Java. EM ANDAMENTO
  • a regra java_library foi Starlarkified. EM andamento

Meados de 2021

  • As regras java_binary e java_test são Starlarkified.
  • As regras java_import e java_plugin são Starlarkified.

Outubro de 2021

  • Starlarkificação da biblioteca java_*_proto_library
  • As regras Java restantes são Starlarkified: java_package_configuration, java_runtime, java_toolkit.

2022

  • Starlarkificação do módulo java_common.

Regras C++

Antes que as regras C++ possam ser reescritas no Starlark, são necessárias algumas limpezas internas. Depois disso, as regras C++ vão ser reescritas em função do Starlark usando a funcionalidade integrada. As regras da API para C++ não ficarão acessíveis em arquivos .bzl até que o cc_module também seja reescrito em Starlark.

1o trimestre de 2021

  • Suporte a módulos do Clang, DROPPED*
  • e Incluir compatibilidade com verificação, melhorias de desempenho esperadas de DROPPED*
  • *Precisamos de mais dados para avaliar se os módulos são realmente necessários para melhorar a performance.

2o trimestre de 2021

  • As regras Go internas são marcadas como Starlark IN PROGRESS.
  • As regras do Objective-C objc_library e objc_import e o código nativo relacionado a elas são IN PROGRESS (link em inglês) do Starlarkified.

Outubro de 2021 e início de 2022

  • cc_binary, cc_test e cc_library têm tecnologia Starlarkified

2022

  • Estrela
  • Starlarkificação do módulo cc_common

Diversos

Meados de 2021