Diferencia entre revisiones de «Primeros pasos con Gradle»

De Wiki de EGC
Saltar a: navegación, buscar
(Crear un proyecto)
 
(No se muestran 2 ediciones intermedias del mismo usuario)
Línea 35: Línea 35:
  
 
=Crear un proyecto =
 
=Crear un proyecto =
No es muy potente (como sí lo es el uso de archetypes de Maven), pero nos servirá para empezar:
+
Gradle permite crear proyectos con la tarea <code> init </code>. No es muy potente (como sí lo es el uso de archetypes de Maven), pero nos servirá para empezar.
 +
Gradle permite trabajar con diferentes lenguajes, nosotros usaremos java:
 
<source lang="bash">
 
<source lang="bash">
 
gradle init --type java-library
 
gradle init --type java-library
Línea 41: Línea 42:
 
Abre el build.gradle
 
Abre el build.gradle
 
* El build.gradle del proyecto tiene “apply plugin: ‘java’”. Esto incluye nuevas tareas que pueden usarse (cf. [https://docs.gradle.org/current/userguide/java_plugin.html]), su grafo de dependencias es el siguiente: [https://docs.gradle.org/current/userguide/img/javaPluginTasks.png]. Como puede observar, el ciclo de vida no es lineal como en Maven, aquí hay tareas en paralelo. Volver a hacer <code> gradle tasks --all</code> y observar las nuevas tareas.
 
* El build.gradle del proyecto tiene “apply plugin: ‘java’”. Esto incluye nuevas tareas que pueden usarse (cf. [https://docs.gradle.org/current/userguide/java_plugin.html]), su grafo de dependencias es el siguiente: [https://docs.gradle.org/current/userguide/img/javaPluginTasks.png]. Como puede observar, el ciclo de vida no es lineal como en Maven, aquí hay tareas en paralelo. Volver a hacer <code> gradle tasks --all</code> y observar las nuevas tareas.
* Además, incluye dependencias junit y sfl4j. La dependencia a junit, se usa para test, de ahí que empiece por testCompile. El formato de las dependencias es <code> configuracion “groupId:artifactId:versión” </code>, aunque también puede verse de la forma <code> configuracion group:”groupid”, name:”artifactId”, version:”version” </code>. Las diferentes configuraciones (lo que llamamos scopes en Maven) y cómo unos incluyen a los otros puede verse en [https://docs.gradle.org/current/userguide/img/javaPluginConfigurations.png.]
+
* Además, incluye dependencias junit y sfl4j. La dependencia a junit, se usa para test, de ahí que empiece por testCompile. El formato de las dependencias es <code> configuracion “groupId:artifactId:versión” </code>, aunque también puede verse de la forma <code> configuracion group:”groupid”, name:”artifactId”, version:”version” </code>. Las diferentes configuraciones (lo que llamamos scopes en Maven) y cómo unos incluyen a los otros puede verse en [https://docs.gradle.org/current/userguide/img/javaPluginConfigurations.png]
 
*También incluye la referencia a un repositorio remoto donde resolver las dependencias (jcenter). Pueden usarse, entre otros, repositorios de Maven.
 
*También incluye la referencia a un repositorio remoto donde resolver las dependencias (jcenter). Pueden usarse, entre otros, repositorios de Maven.
  
Línea 53: Línea 54:
  
 
= Repositorio Local=  
 
= Repositorio Local=  
Al igual que en Maven, existe un repositorio local que se encuentra en <code> USERHOME/.gradle/caches/modules-2/files2.1</code>
+
Al igual que en Maven, existe un repositorio local que se encuentra en <code> USERHOME/.gradle/caches/modules-2/files2.1</code>.
 
Ahí encontrará las librería descargadas para nuestro proyecto.
 
Ahí encontrará las librería descargadas para nuestro proyecto.

Revisión actual del 09:37 10 dic 2015

Descarga e instala Gradle

Descargue Gradle y sigue las instrucciones de instalación. Tras instalar, ejecute

gradle -v


Si todo está correcto, debería observar algo como lo que sigue:

------------------------------------------------------------
Gradle 2.9
------------------------------------------------------------

Build time:   2015-11-17 07:02:17 UTC
Build number: none
Revision:     b463d7980c40d44c4657dc80025275b84a29e31f

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.8.0_25 (Oracle Corporation 25.25-b02)
OS:           Windows 7 6.1 amd64


Crear un carpeta nueva

Situarse dentro y ver las tareas disponibles con

gradle tasks --all

Crear un proyecto

Gradle permite crear proyectos con la tarea init . No es muy potente (como sí lo es el uso de archetypes de Maven), pero nos servirá para empezar. Gradle permite trabajar con diferentes lenguajes, nosotros usaremos java:

gradle init --type java-library

Abre el build.gradle

  • El build.gradle del proyecto tiene “apply plugin: ‘java’”. Esto incluye nuevas tareas que pueden usarse (cf. [1]), su grafo de dependencias es el siguiente: [2]. Como puede observar, el ciclo de vida no es lineal como en Maven, aquí hay tareas en paralelo. Volver a hacer gradle tasks --all y observar las nuevas tareas.
  • Además, incluye dependencias junit y sfl4j. La dependencia a junit, se usa para test, de ahí que empiece por testCompile. El formato de las dependencias es configuracion “groupId:artifactId:versión” , aunque también puede verse de la forma configuracion group:”groupid”, name:”artifactId”, version:”version” . Las diferentes configuraciones (lo que llamamos scopes en Maven) y cómo unos incluyen a los otros puede verse en [3]
  • También incluye la referencia a un repositorio remoto donde resolver las dependencias (jcenter). Pueden usarse, entre otros, repositorios de Maven.

Testear el proyecto

gradle test
  • Modificar el test para que falle y volver a lanzar gradle test.
  • Lanzar gradle test --info para ver el error o mirar el reporte de errores que crea gradle en ./build/reports/tests/index.html

Repositorio Local

Al igual que en Maven, existe un repositorio local que se encuentra en USERHOME/.gradle/caches/modules-2/files2.1. Ahí encontrará las librería descargadas para nuestro proyecto.