Hoja de ruta de configuración de Bazel para 2021

Informar un problema Ver código fuente Nocturno · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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

Punto de contacto: gregestren

Debate: Hoja de ruta de la configurabilidad: 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 para cualquier proyecto y cualquier plataforma.

  • Las compilaciones no requieren marcas de línea de comandos.
  • Cada objetivo usa automáticamente la configuración correcta (por ejemplo, android_binary usa el NDK correcto).
  • Es fácil de compilar para varias plataformas.
  • Las compilaciones se escalan bien, en particular con respecto al tamaño del gráfico 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 nuestro mejor conocimiento de la complejidad del problema y la disponibilidad de los desarrolladores. En 2021, planeamos concentrar más esfuerzos en menos proyectos a la vez. Solo estableceremos ETA para el trabajo que se priorice de forma activa, en aras de generar expectativas precisas.

Plataformas

3ᵉʳ trimestre de 2021Las reglas de Android usan la nueva API de platforms EN CURSO (#11749)

  • Esta es nuestra principal prioridad para el comienzo del 2021.

3ᵉʳ trimestre de 2021Las compilaciones admiten varias plataformas de ejecución EN CURSO (#11748)

pausedLas reglas de C++ usan la nueva API de platformsfall EN CURSO (#6516)

  • Esta opción está bloqueada en las plataformas de Android. Podemos activar esta función con un simple cambio de parámetro.

En pausaPlataformas múltiples NO SE INICIÓ

  • Permite que los destinos declaren que se deben compilar para varias plataformas
  • Se incluye aquí debido a la solicitud del usuario

En pausaRetira y quita --cpu y las marcas relacionadas NO SE INICIÓ

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

Eficiencia

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

  • Mejora la velocidad de compilación multiplataforma
  • Subasignado, por lo que el progreso es lento