Framework
Equipo 2
Qu es?
Herramienta de automatizacin de proyectos que es declarativa. Construida sobre los conceptos de Apache Ant y Apache Maven. Uso de un DSL basado en Groovy en vez de XML. Extensible mediante plugins.
Diferencias
Apache Maven define ciclos de vida. Apache Ant define objetivos que son invocados basados en orden parcial de dependencias. Gradle se basa en un grafo dirigido acclico para determinar el orden en que las tareas se deben ejecutar
Objetivos
Diseo enfocado en la escalabilidad. Desde subproyectos y proyectos sencillos hasta multiproyectos.
Migracin fcil desde Ant, Maven o Ivy. Flexibilidad en la transicin. Reuso de artefactos creados por estos sistemas (tareas y repositorios).
Uso de wrappers para ejecutar proyectos en equipos donde Gradle no est instalado. Herramienta de propsito general. Enfoque principal en Java, Groovy, Scala.
Escenarios comunes
Muchos directorios fuente por proyecto Dependencias por directorios fuente Versin especfica de JDK por directorio fuente Muchos artefactos por proyecto
Ejemplo usando plugin de Java
Archivo build.gradle apply plugin: java Se ejecuta gradle t para enumerar todas las tareas del plugin :reportTask
-----------------------------------------------------------Root Project -----------------------------------------------------------:assemble - Builds all Jar, War, Zip, and Tar archives.
-> :jar
:build - Assembles and tests this project. -> :assemble, :check :buildDependents - Assembles and tests this project and all projects that depend on it.
-> :build
:buildNeeded - Assembles and tests this project and all projects it depends on. -> :build
Agregando tareas
Archivo build.gradle apply plugin: java createTask('hello') { // depreciated println 'Hello World' } task hello << { println 'Hello world!' } task intro(dependsOn: hello) << { println "I'm Gradle" } project.tasks.add('someTask').doFirst { // do something }
Instalacin
JDK 1.5+ preinstalado (probar con java version). Instalar Gradle (incluye libreras de Groovy). Agregar la ubicacin bin a la variable de entorno PATH. Probar la instalacin con gradle -v.
Soporte para IDEs
Eclipse Netbeans IntelliJ Android Studio (integrado)