Hoja de ruta de configuración de Bazel para 2021

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

Punto de contacto: gregestren

Debate: 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 simplemente funciona en 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).
  • Es fácil de compilar para múltiples plataformas.
  • Las compilaciones se escalan bien, especialmente el tamaño del gráfico de tiempo real y el almacenamiento en caché de acciones.

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

Hoja de ruta

Las fechas son aproximadas y se basan en nuestra mejor comprensión de la complejidad del problema 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 los ETA para el trabajo con prioridad activa a fin de garantizar expectativas precisas.

Plataformas

Tercer trimestre de 2021Las reglas de Android usan la nueva API de plataformas IN PROGRESS (#11749).

  • Esta es nuestra principal prioridad a principios de 2021.

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

PausadoLas 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 un simple giro de bandera.

pausadoObjetivos multiplataforma SIN INICIAR

  • Cómo permitir que los destinos declaren que deben compilar para varias plataformas
  • Aparece aquí debido a la solicitud del usuario

paused--cpu y las marcas relacionadas dejarán de estar disponibles y se quitaron NO COMENZÓ

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

Eficiencia

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

  • Mejora la velocidad de compilación multiplataforma
  • No se asigna correctamente, por lo que el progreso es lento.