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

Discutir: Roteiro de criação de APIs: discussão

Escopo

A equipe de criação de APIs está trabalhando nas implementações de regras nativas e na API nativa exposta ao Starlark.

Meta

Ter todas as regras implementadas em Starlark e entregues a equipes especializadas no idioma específico. Remova a lógica específica de linguagem do núcleo do Bazel.

Regras do Java

As regras do Java serão reescritas para Starlark e testadas internamente em uma grande base de código. Depois disso, eles serão lançados para o Bazel.

1º trimestre de 2021

  • Melhorar o sanduíche Java, permitindo reescrever regras Java atuais. CONCLUÍDO

2º trimestre de 2021

  • Melhorar a compatibilidade do Starlark com bibliotecas nativas em Java. EM ANDAMENTO
  • Melhorar o suporte do java_common para plug-ins e IDEs: proposta Refatoração comum do Java. EM ANDAMENTO
  • A regra java_library é Starlarkified. EM ANDAMENTO

Meados de 2021

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

Outono de 2021

  • Starlarkificação de java_*_proto_library
  • As regras restantes do Java são Starlarkified: java_package_configuration, java_runtime, java_toolchain.

2022

  • Starlarkificação do módulo java_common.

Regras do C++

Antes que as regras de C++ possam ser reescritas em Starlark, algumas limpezas internas são necessárias. Depois disso, as regras de C++ serão reescritas para Starlark aos poucos usando a funcionalidade integrada. A API para regras de C++ não será acessível em arquivos .bzl até que cc_module também seja reescrito em Starlark.

1º trimestre de 2021

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

2º trimestre de 2021

  • As regras internas do Go estão sendo Starlarkificadas EM ANDAMENTO
  • As regras do Objective-C objc_library e objc_import e o código nativo relacionado a elas estão sendo Starlarkificadas EM ANDAMENTO

Outono de 2021 e início de 2022

  • cc_binary, cc_test e cc_library são Starlarkificados

2022

  • Starlarkificação de outras regras do C++ (fdo_profile, cc_import, cc_toolchain, cc_toolchain_suite, fdo_prefetch_hints, cc_toolchain_alias, cc_libc_top_alias, cc_host_toolchain_alias +2)
  • Starlarkificação do módulo cc_common

Diversos

Meados de 2021