Última verificação: 09/04/2021 (histórico de atualizações)
Ponto de contato: comius
Discutir: Build API roadmap: discussion
Escopo
A equipe da API Build está cobrindo implementações de regras nativas e a API nativa exposta ao Starlark.
Objetivo
Implementar todas as regras no Starlark e entregá-las a equipes especializadas no idioma específico. Remover a lógica específica do idioma do núcleo do Bazel.
Regras do Java
As regras do Java serão reescritas para o Starlark e testadas internamente em uma grande base de código. Depois disso, elas serão lançadas no Bazel.
1º trimestre de 2021
- Melhorar o sanduíche Java, permitindo a reescrita das regras do Java atuais. CONCLUÍDO
2º trimestre de 2021
- Melhorar o suporte do Starlark para bibliotecas nativas no Java. EM ANDAMENTO
- Melhorar o suporte
java_commonpara plug-ins e IDEs: proposta de 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 Starlarkified.
- As regras java_import e java_plugin são Starlarkified.
Outono de 2021
- Starlarkification de java_*_proto_library
- As regras Java restantes são Starlarkified: java_package_configuration, java_runtime, java_toolchain.
2022
- Starlarkification 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 para o Starlark peça por peça usando a funcionalidade integrada. A API para regras do C++ não será disponibilizada em arquivos .bzl até que o cc_module também seja reescrito no Starlark.
1º trimestre de 2021
- Suporte a módulos Clang, DESCARTADO*
- e suporte a verificação de inclusão, melhorias de desempenho esperadas de ambos DESCARTADO*
- *Precisamos de mais dados para avaliar se os módulos são realmente necessários para melhorar o desempenho.
2º trimestre de 2021
- As regras internas do Go são Starlarkified EM ANDAMENTO
- As regras do Objective-C objc_library e objc_import e o código nativo relacionado a elas são Starlarkified EM ANDAMENTO
Outono de 2021 e início de 2022
- cc_binary, cc_test e cc_library são Starlarkified
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
- O aspecto pode propagar outros aspectos: proposta de aspectos que propagam outros aspectos. EM ANDAMENTO
- Melhorar a biblioteca de testes do Starlark