Última verificación: 9 de abril de 2021 (historial de actualizaciones)
Punto de contacto: comius
Debate: Creación de una hoja de ruta de API: debate
Alcance
El equipo de API de Build está abordando implementaciones de reglas nativas y la API nativa expuesta a Starlark.
Objetivo
Tener todas las reglas implementadas en Starlark y entregarse a equipos especializados en el idioma específico Se quitó la lógica específica del lenguaje del núcleo de Bazel.
Reglas de Java
Primero, las reglas de Java se reescribirán en Starlark y se probarán internamente en una base de código grande. Luego, se lanzarán a Bazel.
Primer trimestre de 2021
- Mejora el Sándwich de Java, que permite volver a escribir las reglas de Java existentes. LISTO
Segundo trimestre de 2021
- Se mejoró la compatibilidad de Starlark con las bibliotecas nativas en Java. EN CURSO
- Se mejoró la compatibilidad de
java_common
para IDE y complementos: propuesta Refactorización común de Java. EN CURSO - La regla java_library está Starlarkified. EN CURSO
Mediados de 2021
- Las reglas java_binary y java_test están Starlarkified.
- Las reglas java_import y java_plugin están Starlarkified.
Otoño de 2021
- Larkificación de java_*_proto_library
- Las demás reglas de Java se muestran con Starlarkify: java_package_configuration, java_runtime, java_toolchain.
2022
- Starlarkification de java_common module.
Reglas de C++
Para poder reescribir las reglas de C++ en Starlark, se necesitan algunas limpiezas internas. Después de eso, las reglas de C++ se reescribirán en Starlark paso a paso con la funcionalidad integrada. No se podrá acceder a la API para reglas de C++ desde archivos .bzl hasta que se reescriba cc_module en Starlark también.
Primer trimestre de 2021
- Compatibilidad con módulos Clang, DROPPED*
- Compatibilidad con Incluye análisis y mejoras de rendimiento esperadas de DROPPED*
- *Necesitamos más datos para evaluar si los módulos son realmente lo que se necesita para mejorar el rendimiento.
Segundo trimestre de 2021
- Las reglas internas de Go se muestran como Starlarkify EN CURSO
- Las reglas de Objective-C objc_library y objc_import, y el código nativo relacionado con ellas se destacan con Starlark EN CURSO
Otoño de 2021 y principios de 2022
- cc_binary, cc_test y cc_library están Starlarkified
2022
- Larkificación de otras reglas de 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 del módulo cc_common
Varios
Mediados de 2021
- El aspecto puede propagar otros aspectos: la propuesta Aspectos que propagan otros aspectos. EN CURSO
- Mejora el framework de pruebas de Starlark