Hoja de ruta de configuración de Bazel para 2021

Informar un problema Ver fuente

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

Punto de contacto: gregestren

Analizar: Hoja de ruta de configuración: debate

Hojas de ruta anteriores

  • 2020 (con revisión de fin de año)
  • 2019 (con revisión de fin de año)
  • 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 (por ejemplo, android_binary usa el NDK correcto).
  • Es fácil de crear para varias plataformas.
  • Las compilaciones escalan bien, especialmente el tamaño de grafo w.r.t y el almacenamiento en caché de acciones.

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

Hoja de ruta

Las fechas son aproximadas y se basan en nuestra mejor comprensión de la complejidad de los problemas y de la disponibilidad de los desarrolladores. En 2021, tenemos la intención de enfocarnos más en menos proyectos a la vez. Solo estableceremos ETA para el trabajo activamente priorizado en interés de 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.

3er trim. de 2021Las compilaciones admiten varias plataformas de ejecución EN CURSO (#11748)

pausedLas reglas de C++ usan la nueva API de platformsfall IN PROGRESS (#6516).

  • Esta opción está bloqueada en las plataformas de Android. Podemos activar esta función con solo girar la bandera.

detenidoobjetivos multiplataforma NO INICIADOS

  • Permite que los destinos declaren que deben compilar para varias plataformas
  • Se muestra aquí por solicitud del usuario

pausedEliminación y baja de --cpu y las marcas relacionadas NO INICIADA

  • Este es un objetivo ambicioso que sale de 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 multiplataforma
  • Están subasignados, por lo que el progreso es lento