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:Roteiro da criação da 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 as entregue às equipes especializadas no idioma específico. 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 em uma grande base de código. Depois disso, elas são liberadas para o Bazel.

1o trimestre de 2021

  • Melhorias no sanduíche Java, possibilitando a regravação de regras Java existentes. CONCLUÍDO

2o trimestre de 2021

  • Melhoria na compatibilidade do Starlark com as bibliotecas nativas em Java. EM ANDAMENTO
  • Melhoria no suporte de java_common para plug-ins e ambientes de desenvolvimento integrado: proposta de refatoração comum do Java (em inglês). EM ANDAMENTO
  • a regra java_library for Starlarkified. EM 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_interval.

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 do C++ serão reescritas no Starlark parte por parte usando a funcionalidade integrada. A API para regras C++ não poderá ser acessada em arquivos .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 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 internas do Go são Starlarkified IN PROGRESS
  • As regras do Objective-C objc_library e objc_import e o código nativo relacionados a elas 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 de C++ (fdo_profile, cc_import, cc_interval, cc_ compatibilidade_suites, fdo_prefetch_hints, cc_datasets_alias, cc_libc_top_alias, cc_host_Dataset_alias, +2)
  • Starlarkificação do módulo cc_common

Diversos

Meados de 2021