Hoja de ruta de configuración de Bazel para 2021

Informar un problema Ver fuente Por la noche · 7.2 · 7.1 · 7.0 · 6.5 · 6.4

Ú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 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 la disponibilidad para desarrolladores. En 2021, queremos enfocarnos más en proyectos a la vez. Solo estableceremos ETA para el trabajo activamente priorizado en la el interés de expectativas precisas.

Plataformas

Tercer trimestre de 2021Las reglas de Android usan las nuevas plataformas API EN CURSO (#11749)

  • Esta es nuestra principal prioridad para principios de 2021.

Tercer trimestre de 2021Las compilaciones admiten ejecuciones múltiples plataformas EN CURSO (#11748)

PausadoLas 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 solo girar la bandera.

Objetivos multiplataformapausados SIN INICIAR

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

pausedBaja y eliminación de --cpu y las marcas relacionadas SIN COMENZAR

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

Eficiencia

2021Almacena en caché en modo Bazel experimental. 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