Estratégia de 2021 da API Bazel Build para 2021

Informar um problema Mostrar fonte Por noite · 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 roteiro de API: discussão

Escopo

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

Meta

Implementar todas as regras no Starlark e repassá-las às equipes especializadas em a linguagem específica. Remoção da lógica específica da linguagem do núcleo do Bazel.

Regras do Java

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

1o trimestre de 2021

  • Melhorar o sanduíche Java, possibilitando a reescrita de regras de firewall. CONCLUÍDO

2o trimestre de 2021

  • Melhoria na compatibilidade do Starlark com as bibliotecas nativas em Java. EM ANDAMENTO
  • Proposta aprimorada de suporte do java_common para plug-ins e ambientes de desenvolvimento integrado Refatoração comum do Java (link em inglês). EM ANDAMENTO
  • a regra java_library for Starlarkified. ENTRADA PROGRESSO

Meados de 2021

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

Outono de 2021

  • Uso de estrela da extensão java_*_proto_library
  • As regras de Java restantes são Starlarkified: java_package_configuration, java_runtime, java_datasets.

2022

  • larkificação do módulo java_common.

Regras do C++

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

1o trimestre de 2021

  • Suporte a módulos Clang (DROPPED*)
  • e incluir suporte à verificação, melhorias de desempenho esperadas da SOLTADOS*
  • *Precisamos de mais dados para avaliar se os módulos são realmente necessários para para melhorar o desempenho.

2o trimestre de 2021

  • As regras internas do Go são Starlarkified IN PROGRESSO
  • Regras do Objective-C objc_library e objc_import e código nativo relacionados para eles são Starlarkified IN PROGRESS

Outono de 2021 e início de 2022

  • cc_binary, cc_test e cc_library estão com o Starlarkified

2022

  • Starlarkificação de outras regras C++ (fdo_profile, cc_import, cc_conjunto de ferramentas, cc_conjunto de ferramentas_suite, fdo_prefetch_hints, cc_conjunto de ferramentas_alias, cc_libc_top_alias, cc_host_Dataset_alias, +2)
  • Starlarkificação do módulo cc_common

Diversos

Meados de 2021