Ú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
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.