Última verificación: 9 de abril de 2021 (historial de actualizaciones)
Punto de contacto: comius
Debate: Hoja de ruta de la API de compilación: análisis
Permiso
El equipo de API de Build trata la implementación de reglas nativas y la API nativa expuesta a Starlark.
Objetivo
Implementa todas las reglas en Starlark y entregalas a equipos especializados en el lenguaje en particular. Quita 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 en Bazel.
Primer trimestre de 2021
- Mejora Java Sandwich para permitir la reescritura de las reglas de Java existentes. LISTO
Segundo trimestre de 2021
- Se mejoró la compatibilidad de Starlark para las bibliotecas nativas en Java. EN CURSO
- Se mejoró la compatibilidad de
java_common
para IDE y complementos: refactorización común de Java de la propuesta. EN CURSO - java_library está en Starlarkified. EN CURSO
Mediados de 2021
- Las reglas java_binary y java_test están en Starlarkified.
- Las reglas java_import y java_plugin tienen Starlarkified.
Otoño de 2021
- Starlarkificación de java_*_proto_library
- Las reglas de Java restantes aparecen con Starlarkified: java_package_configuration, java_runtime, java_toolchain.
2022
- Starlarkification del módulo java_common.
Reglas de C++
Para poder reescribir las reglas de C++ en Starlark, se deben realizar algunas limpiezas internas. Después de eso, las reglas de C++ se reescribirán en Starlark parte por parte con la funcionalidad integrada. No se podrá acceder a la API para las reglas de C++ desde archivos .bzl hasta que también se vuelva a escribir cc_module en Starlark.
Primer trimestre de 2021
- Compatibilidad con módulos de Clang, DROPPED*
- y, además, Incluyen compatibilidad con el análisis, mejoras de rendimiento esperadas de DROPPED*,
- *Se necesitan más datos para evaluar si los módulos son realmente los necesarios para mejorar el rendimiento.
Segundo trimestre de 2021
- Las reglas de Go internas están etiquetadas con estrellas IN PROGRESS.
- Las reglas de Objective-C objc_library y objc_import, y el código nativo relacionado con ellas, tienen Starlarkified IN PROGRESS.
Otoño de 2021 y principios de 2022
- cc_binary, cc_test y cc_library tienen Starlarkified.
2022
- Destacamos 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).
- Destacamos el módulo cc_common
Varios
Mediados de 2021
- Aspect puede propagar otros aspectos: propuesta Aspects Propagating Other Aspects. EN CURSO
- Mejorar el framework de pruebas de Starlark