Estratégia de 2021 da API Bazel Build para 2021

Informar um problema Ver a fonte Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

Ponto de contato: comius

Discussão: Criar um cronograma de API: discussão

Escopo

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

Meta

Todas as regras são implementadas no Starlark e entregues a equipes especializadas no idioma específico. A lógica específica do idioma foi removida do núcleo do Bazel.

Regras do Java

As regras do Java serão reescritas primeiro 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

  • Melhoria do sanduíche Java, permitindo a reescrita de regras Java atuais. CONCLUÍDO

2º trimestre de 2021

  • Melhoria no suporte do Starlark a bibliotecas nativas em Java. EM ANDAMENTO
  • Melhoria no suporte a java_common para plug-ins e ambientes de desenvolvimento integrado: proposta Refatoração comum do Java. EM ANDAMENTO
  • A regra java_library foi atualizada para Starlark. EM ANDAMENTO

Meados de 2021

  • As regras java_binary e java_test foram atualizadas para Starlark.
  • As regras java_import e java_plugin foram atualizadas para Starlark.

Outono de 2021

  • Starlarkification de java_*_proto_library
  • As regras Java restantes foram atualizadas para Starlark: java_package_configuration, java_runtime, java_toolchain.

2022

  • Starlarkification do módulo java_common.

Regras do C++

Antes que as regras C++ possam ser reescritas no Starlark, algumas limpezas internas são necessárias. Depois disso, as regras C++ serão reescritas para Starlark, peça por peça, usando a funcionalidade built-in. A API para regras C++ não será acessível em arquivos .bzl até que o cc_module seja reescrito no Starlark.

1º trimestre de 2021

  • Suporte a módulos Clang, DROPPED*
  • e Incluir suporte à digitalização, melhorias de desempenho esperadas 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 do Go internas foram Starlarkified EM ANDAMENTO
  • As regras do Objective-C objc_library e objc_import e o código nativo relacionado a elas foram Starlarkified EM ANDAMENTO

Outono de 2021 e início de 2022

  • cc_binary, cc_test e cc_library foram atualizados para Starlark.

2022

  • Starlarkification 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)
  • Starlarkification do módulo cc_common

Diversos

Meados de 2021