Hoja de ruta de configuración de Bazel para 2021

Informar un problema Ver código fuente Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

Punto de contacto: gregestren

Analiza lo siguiente: Hoja de ruta de configurabilidad: análisis

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 en cualquier proyecto y en 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 compilar para varias plataformas.
  • Las compilaciones se escalan bien, en particular en relación con el 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 según nuestro conocimiento de la complejidad del problema y la disponibilidad del desarrollador. En 2021, queremos enfocarnos más en menos proyectos a la vez. Solo estableceremos ETAs para el trabajo priorizado de forma activa para generar expectativas precisas.

Plataformas

3ᵉʳ trim. de 2021Las reglas de Android usan la nueva API de plataformas EN PROCESO (#11749)

  • Esta es nuestra prioridad principal para principios de 2021.

3ᵉʳ trim. de 2021Las compilaciones admiten multiples plataformas de ejecución EN CURSO (#11748)

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

  • Esta opción está bloqueada en las plataformas de Android. Podemos activarlo con un simple cambio de bandera.

pausadosObjetivos multiplataforma NO INICIADOS

  • Permite que los destinos declaren que deben compilarse para varias plataformas
  • Se incluye aquí debido a una solicitud del usuario

detenidoSe da de baja y se quita --cpu y las marcas relacionadas AÚN NO SE INICIÓ

  • Este es un objetivo ambicioso que se obtiene cuando se migran todas las reglas a las plataformas.

Eficiencia

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

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