Hoja de ruta de la configuración de Bazel 2021

Informa un problema Ver código fuente

Última verificación: 25 de enero de 2021 (historial de actualizaciones)

Punto de contacto: gregestren

Debate: Hoja de ruta de configuración: debate

Rutas anteriores

  • 2020 (con revisión interanual)
  • 2019 (con revisión interanual)
  • 2018

Objetivo

$ bazel build //:all funciona para cualquier proyecto y plataforma.

  • Las compilaciones no requieren marcas de línea de comandos.
  • Cada destino usa automáticamente la configuración correcta (como android_binary usa el NDK correcto).
  • Compilar para varias plataformas es fácil.
  • Las compilaciones se escalan bien, especialmente con el tamaño del gráfico wr.t y el almacenamiento en caché de acciones.

También se admiten cquery, Starlark configuration y select().

Hoja de ruta

Las fechas son aproximadas según nuestra mejor comprensión de la complejidad del problema y la disponibilidad de los desarrolladores. En 2021, tenemos la intención de enfocarnos más en menos proyectos a la vez. Solo estableceremos los ETA para el trabajo con prioridad activa a fin de satisfacer expectativas precisas.

Plataformas

Tercer trimestre de 2021Las reglas de Android usan la nueva API de plataformas EN CURSO (#11749)

  • Esta es nuestra principal prioridad para principios de 2021.

Tercer trimestre de 2021Compatibilidad con las compilaciones de varias plataformas de ejecución EN CURSO (#11748)

Las reglasde C++ en pausa usan la nueva API de platformsfall EN CURSO (#6516)

  • Está bloqueado en las plataformas Android. Podemos activar esta opción con solo girar la bandera.

pausasobjetivos multiplataforma NO INICIADOS

  • Permite que los objetivos declaren que deben compilarse para múltiples plataformas
  • Aparece aquí debido a la solicitud del usuario

pauseddejó de estar disponible y se quitó --cpu y las marcas relacionadas NO SE INICIÓ

  • Este es un objetivo ambicioso que no pertenece a la migración de todas las reglas a las plataformas.

Eficiencia

2021Un modo experimental de Bazel almacena en caché la compilación multiplataforma de Java EN CURSO (#6526)

  • Mejora la velocidad de compilación de varias plataformas.
  • Subasignada, por lo que el progreso es lento