Maven: Añadiendo el Timestamp al número de versión

15/04/2009

Maven
Tenía un proyecto construido con maven en el que mostraba en la cabecera el número de versión pero necesitaba además mostrar la fecha y hora en la que se construyó dicha versión (y así poder tener un seguimiento más preciso de incidencias asociadas a una versión y fecha dadas).

La versión y fecha de la misma, se muestran en una jsp, recuperando el valor a mostrar de un archivo .properties donde defino la propiedad del siguiente modo:

label.version = Ver. ${project.version} (${build.time})

Este fichero se encuentra alojado en src/main/resources y será procesado por Maven, realizando la sustitución, al realizar un process-resources.

El valor de “project.version” ya está definido en el propio pom.

Para conseguir el valor de build.time definiremos una tarea ANT usando el plugin de maven correspondiente, del siguiente modo:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>generate-resources
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<mkdir dir=”${project.build.directory}”/>
<tstamp>
<format property=”last.updated” pattern=”dd/MM/yyyy”/>
</tstamp>
<echo file=”${basedir}/target/filter.properties” message=”build.time=${last.updated}”/>
</tasks>
</configuration>
</execution>
</executions>
</plugin>

Ahora solamente nos falta especificar que los recursos sean filtrados y la ubicación del fichero utilizado para realizar el mismo:

<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>

<filters>
<filter>${basedir}/target/filter.properties</filter>
</filters>

Algunos enlaces de interés

Cookbook: How To Add Build Time To A JAR Manifest?
Maven: Adding Custom Attributes and Build Timestamp to Manifest

About these ads

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

A %d blogueros les gusta esto: