Usar Lombok con Gradle

Antes de empezar podrías leer esto: Aquí.

¿Qué necesitamos?

  1. Tener instalado Gradle (ver aquí)
  2. Crear la estructura de directorios (ver aquí)
  3. Crear tres clases: Main.java, Persona.java y Usuario.java
  4. Crear un archivo build.gradle para construir el proyecto, en este archivo definiremos las dependencias (así como un listado) y características del proyecto.

Persona.java

package org.codemonkey;

import lombok.Data;
import lombok.Setter;
import lombok.Getter;

@Data
public  class Persona{
  @Getter @Setter private int id;
  @Getter @Setter private String nombre;
  @Getter @Setter private String apellidos;
  @Getter @Setter private int edad;
  @Getter @Setter private int peso;
  @Getter @Setter private int talla;
}

Usuario.java

 package org.codemonkey;

import lombok.Data;
import lombok.Setter;
import lombok.Getter;
@Data
public class Usuario extends Persona{
  @Getter @Setter private int id;
  @Getter @Setter private String usuario;
  @Getter @Setter private String password;
  @Getter @Setter private boolean logeado;
}

Como se puede ver, Lombok nos permite ahorrar código. Tanto los métodos getter y setter de nuestras clases Persona (clase padre) y Usuario (clase) hija no tienen escritos esos métodos, Lombok es quien los define a la hora de la compilación. La clase Main se encargará de servir como clase principal.

Main.java

 package org.codemonkey;

import static java.lang.System.out;
import static java.lang.System.err;

public class Main{
	public static void main(String[] args) {
		Usuario us=null;
		try{
			us=new Usuario();
			us.setId(12);
			us.setUsuario("Ariel");
			us.setPassword("/6%·@|000");
			us.setLogeado(true);
			out.println("Id:"+us.getId());
			out.println("Usuario:"+us.getUsuario());
			out.println("Password:"+us.getPassword());
			if(us.isLogeado() == true){
				out.println("Logeado!");
			}

		}catch(Exception ex){
			err.println("Error:"+ex.toString());
		}
	}
}

El siguiente archivo nos servirá para construir el proyecto:

build.gradle

/**
*
*@date 25 de junio de 2017
*@author codemonkey junior
*@description Uso de Gradle con Java
*/
apply plugin:'java'
apply plugin:'application'
apply plugin: 'project-report'
apply plugin: 'eclipse' 

//defaultTasks 'build'

sourceCompatibility = '1.8'
version = '0.0.1'
mainClassName= 'org.codemonkey.Main'
description ="""
Ejemplo de proyecto hecho con Gradle build

Codemonkey Junior Blogspot

"""

jar {

	baseName='principal'

	from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }

	manifest{
		attributes 'Main-Class': 'org.codemonkey.Main'
	}
}

repositories {
	mavenCentral()
}

dependencies {
	compile group: 'org.projectlombok', name: 'lombok', version: '1.16.16'
}

project.configurations.compile.resolvedConfiguration.resolvedArtifacts.each {
 println '   [Dependencias] '
 println 'artifact: '+it.name // << the artifact name
 println 'referencia: '+it.file // << the file reference
 println '**************************'
}

¿Cómo compilar y ejecutar el proyecto?
-Construimos:

$gradle build

-Listamos tareas disponibles:

$gradle task

-Ejecutamos y observamos el resultado:

 $gradle run

Resultado:

Selección_729

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s