Hoja de ruta de configuración de Bazel para 2021

Informar un problema Ver código fuente Nightly · 8.1 · 8.0 · 7.5 · 7.4

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

Punto de contacto: gregestren

Analiza lo siguiente: Hoja de ruta de 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 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 especial 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, planeamos enfocarnos más en menos proyectos a la vez. Solo estableceremos ETAs para el trabajo priorizado de forma activa con el fin de 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.