En el proceso de desarrollo de CUBA, utilizamos las tres herramientas principales de compilación: comenzamos con Ant, luego cambiamos a Maven por un corto tiempo, y ahora estamos usando Gradle y parece que nos quedaremos con él en el futuro cercano.
No hace mucho tiempo, se lanzó Gradle 5.0. Esta versión tiene una gran cantidad de nuevas características que ayudarán a los desarrolladores a escribir scripts más complejos y ensamblar sus proyectos aún más rápido y sin dolor.

Kotlin DSL
La primera innovación es el Kotlin DSL . Ahora los scripts de compilación se pueden escribir en Kotlin, y realmente acelera el trabajo debido a la finalización automática, básicamente. El resaltado de errores de sintaxis y otras cosas convenientes de IDEA también funcionan. Por supuesto, IDEA también trata de hacer todo esto por Groovy, pero aún así, la mecanografía fuerte se hace sentir. Se afirma que el Kotlin DSL es estable, por lo que puede usarlo sin temor.
¿Tengo que cambiar a Kotlin? No, no es necesario, Groovy DSL será compatible, no se abandona. A continuación, debe considerar cada proyecto por separado. Para usar Kotlin DSL, necesita Gradle 5 y un JDK de al menos 8, en algunos casos esto puede no ser aplicable. Además, Groovy proporciona una mayor flexibilidad en las secuencias de comandos debido a la tipificación laxa. En cualquier caso, la decisión depende de los desarrolladores, pero si aún decide cambiar a Kotlin, entonces hay una guía de migración .
Init interactivo
Ahora, finalmente, no puede escribir un montón de claves durante el ensamblaje inicial del proyecto, sino elegir el tipo de proyecto, el idioma del script de compilación e incluso el marco para probar en modo interactivo. Escribimos gradle init y disfrutamos. ¡Generación de proyectos compatibles en Kotlin!
Compilación incremental y procesamiento de anotaciones
El mecanismo de compilación incremental continúa desarrollándose (incluidas las anotaciones de procesamiento de bibliotecas como Lombok); no es necesario volver a compilar todo el código. Puede crear sus propias tareas que admitan la compilación incremental.
Los procesos de compilación se aceleran debido a la caché de compilación, el trabajo con memoria está optimizado.
Prueba FailFast: las pruebas se iniciarán a partir del último error (si hubo uno, por supuesto).
Gestión de dependencias
Soporte para archivos BOM - ¡salud!
Se declara el ajuste fino de las reglas para reemplazar versiones, puede escribir código de programa para manejar casos especialmente complejos directamente en el archivo de ensamblaje . En el mismo lugar: deshabilitar dependencias transitivas.
Puede forzar el bloqueo de la versión de la dependencia y evitar que las versiones anteriores la anulen.
Y, además de todo, la versión "congelación" es compatible con dependencias.
Nueva tarea API
El proceso de mejora en el campo de la creación de tareas continúa. Hay algunas cosas nuevas que seguramente serán útiles para muchos.
Worker API , que le permite ejecutar tareas en paralelo y con diferentes niveles de aislamiento (incluso en diferentes JVM que pueda). Además de la ejecución paralela, puede hacer que espere a que se completen otras tareas.
API de tiempo de espera : para establecer el tiempo de ejecución máximo para la tarea.
API para evitar la configuración : le permite no crear o configurar tareas que aún no se realizarán.
Para resumir, una buena herramienta es aún mejor, para kotlin, gracias especiales, ahora puede escribir todo en ella: front-end, back-end, cliente móvil y scripts de compilación.