Gradle es un sistema de construcción automatizado y flexible que se utiliza ampliamente en proyectos Java (y otros lenguajes como Kotlin, Groovy, etc.). Permite gestionar las dependencias del proyecto, compilar el código fuente, ejecutar pruebas, empaquetar aplicaciones y realizar otras tareas relacionadas con el ciclo de vida del desarrollo de software.
Gradle utiliza un lenguaje de scripting basado en Groovy o Kotlin DSL para definir las tareas y la configuración del proyecto. Esto lo hace más flexible y potente en comparación con herramientas anteriores como Maven o Ant.
gradle tasks
: Muestra una lista de todas las tareas disponibles en el proyecto.gradle build
: Compila el código fuente, ejecuta las pruebas y genera los artefactos finales (por ejemplo, un archivo .jar
).gradle clean
: Elimina los archivos generados previamente durante la construcción del proyecto (limpia el directorio build
).gradle assemble
: Compila el código fuente y genera los artefactos sin ejecutar las pruebas.gradle test
: Ejecuta las pruebas unitarias del proyecto.gradle check
: Ejecuta todas las verificaciones del proyecto, incluyendo las pruebas.gradle run
: Ejecuta la aplicación si el proyecto incluye un plugin de aplicación ejecutable (como application
).gradle dependencies
: Muestra un árbol de dependencias del proyecto, mostrando todas las bibliotecas utilizadas y sus versiones.gradle dependencyInsight --dependency
: Proporciona información detallada sobre una dependencia específica, incluyendo conflictos de versión.gradle build --refresh-dependencies
: Obliga a Gradle a descargar nuevamente todas las dependencias desde los repositorios remotos.gradle compileJava
: Compila solo el código fuente Java.gradle jar
: Genera un archivo .jar
con el código compilado.gradle bootJar
(si se usa Spring Boot): Genera un archivo .jar
ejecutable compatible con Spring Boot.gradle war
: Genera un archivo .war
para desplegar en servidores de aplicaciones.gradle init
: Inicializa un nuevo proyecto Gradle, permitiendo seleccionar el tipo de proyecto (Java, Kotlin, etc.).gradle wrapper
: Genera el script del Wrapper de Gradle (gradlew
), que permite ejecutar Gradle sin necesidad de instalarlo globalmente.gradle sonarqube
: Ejecuta análisis de calidad de código utilizando SonarQube (requiere el plugin de SonarQube).gradle javadoc
: Genera la documentación Javadoc del proyecto.gradle --info
: Muestra información detallada sobre la ejecución de las tareas.gradle --debug
: Habilita el modo de depuración para obtener registros más detallados.gradle --profile
: Genera un informe de rendimiento de la construcción, útil para identificar cuellos de botella.gradle --offline
: Ejecuta Gradle en modo fuera de línea, utilizando solo las dependencias ya descargadas.gradle --continue
: Continúa ejecutando las tareas incluso si alguna falla.Puedes definir tus propias tareas en el archivo build.gradle
. Por ejemplo:
task hello { doLast { println '¡Hola, mundo!' } }
Este comando se ejecuta con:
gradle hello
build.gradle
básico para un proyecto Javaplugins { id 'java' } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter:3.0.0' testImplementation 'junit:junit:4.13.2' } java { toolchain { languageVersion = JavaLanguageVersion.of(17) } }
Gradle es una herramienta poderosa y flexible para gestionar proyectos Java. Su capacidad para personalizar tareas y manejar dependencias de manera eficiente lo convierte en una opción popular entre desarrolladores. Los comandos y opciones mencionados anteriormente son solo una parte de lo que Gradle puede hacer; explorar su documentación oficial te permitirá aprovechar al máximo sus capacidades.