Última verificación: 2021-04-09 (Historial de actualizaciones)
Punto de contacto: comius
Debate: Compila la hoja de ruta de la API: debate
Alcance
El equipo de la API de compilación abarca las implementaciones de reglas nativas y la API nativa expuesta a Starlark.
Objetivo
Todas las reglas se implementan en Starlark y se entregan a los equipos especializados en el lenguaje en particular. Se quitó la lógica específica del idioma del núcleo de Bazel.
Reglas de Java
Primero, se reescribirán las reglas de Java en Starlark y se probarán internamente en una base de código grande. Después de eso, se lanzarán en Bazel.
1º trimestre de 2021
- Mejorar el sándwich de Java para permitir la reescritura de reglas de Java existentes LISTO
Segundo trimestre de 2021
- Mejorar la compatibilidad de Starlark con las bibliotecas nativas en Java EN CURSO
- Mejora la compatibilidad de
java_common
con los complementos y los IDE: propuesta de refactorización común de Java. EN CURSO - Se convirtió la regla java_library a Starlark. EN CURSO
Mediados de 2021
- Las reglas java_binary y java_test se convirtieron a Starlark.
- Las reglas java_import y java_plugin se convirtieron a Starlark.
Otoño de 2021
- Starlarkificación de java_*_proto_library
- Se convirtieron al lenguaje Starlark las reglas de Java restantes: java_package_configuration, java_runtime, java_toolchain.
2022
- Se realizó la Starlarkificación del módulo java_common.
Reglas de C++
Antes de que se puedan 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 pieza por pieza con la funcionalidad integrada. No se podrá acceder a la API para las reglas de C++ desde los archivos .bzl hasta que cc_module también se reescriba en Starlark.
1º trimestre de 2021
- Se QUITÓ* la compatibilidad con módulos de Clang.
- y compatibilidad con Include scanning, con mejoras de rendimiento previstas en 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 de Go internas se están convirtiendo a Starlark EN PROCESO
- Las reglas de Objective-C objc_library y objc_import, y el código nativo relacionado con ellas, se están convirtiendo a Starlark EN PROCESO
Otoño de 2021 y principios de 2022
- cc_binary, cc_test y cc_library se convirtieron a Starlark
2022
- Starlarkificació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)
- Starlarkificación del módulo cc_common
Varios
Mediados de 2021
- El aspecto puede propagar otros aspectos: propuesta de Aspectos que propagan otros aspectos. EN CURSO
- Mejora el framework de pruebas de Starlark