El archivo de configuración build.gradle es el siguiente:
//aplicamos el plugin java sobre las fuentes para que compile las clases
apply plugin: 'java'
//aplicamos el plugin war para que todo lo que esté dentro de src/main/webapp lo copie dentro del war
apply plugin: 'war'
//le indicamos a gradle que genere nuestro artefacto con esta versión
version = '1.1.0'
//indicamos los repositorios de binarios que gradle descargará e incluirá en el classpath de compilación.
repositories {
mavenCentral()
}
//incluimos las dependencias de nuestra aplicación
dependencies {
//indicamos una dependencia de compilación, si la dependencia es de compilación
//entonces además de incluirla en el classpath de compilación también será incluída
//en el classpath de ejecución(como dependencia en el directorio lib)
compile group: 'org.aspectj', name: 'aspectjweaver', version: '1.6.2'
compile group: 'org.springframework', name: 'spring-aop', version: '3.2.3.RELEASE'
compile group: 'org.springframework', name: 'spring-context', version: '3.2.3.RELEASE'
compile group: 'org.springframework', name: 'spring-context-support', version: '3.2.3.RELEASE'
compile group: 'org.springframework', name: 'spring-core', version: '3.2.3.RELEASE'
compile group: 'org.springframework', name: 'spring-web', version: '3.2.3.RELEASE'
compile group: 'org.springframework', name: 'spring-webmvc', version: '3.2.3.RELEASE'
compile group: 'org.springframework', name: 'spring-beans', version: '3.2.3.RELEASE'
compile group: 'org.springframework', name: 'spring-jdbc', version: '3.2.3.RELEASE'
compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
//a diferencia del anterior esta dependencia solo servirá para compilar
//se entiende que en tiempo de ejecución será proveída por el servidor o contenedor de aplicaciones
providedCompile group: 'javax.servlet', name:'javax.servlet-api', version: '3.1.0'
//a diferencia de los 2 tipos de dependencias anteriores, esta dependencia solo será incluída
//en la fase de testing.
testCompile group: 'junit', name: 'junit', version: '4.+'
}
//creamos una tarea que copiará los artefactos generados a una determinada ruta en nuestro filesystem
task copiarGeneradosAServer{
doLast{
copy {
from 'build/libs'
into 'D:/Projects/4.Install/1.Servers/3.Weblogic/wls12130/user_projects/domains/naboo/autodeploy'
include '*.war'
}
}
}
El comando para ejecutar el empaquetamiento y su resultado es el siguiente:
J:\proyectos\testing>gradle clean build copiarGeneradosAServer :clean :compileJava :processResources UP-TO-DATE :classes :war :assemble :compileTestJava UP-TO-DATE :processTestResources :testClasses :test UP-TO-DATE :check UP-TO-DATE :build :copiarGeneradosAServer BUILD SUCCESSFUL Total time: 7.204 secs J:\temporal\testing\testing>
el proyecto completo te lo puedes bajar desde esta rama en github