Agregar el numero de revisión en el jar/war — Technology Life

Agregar el numero de revisión en el jar/war — Technology Life

Con la configuración adecuada, se puede agregar el numero de revisión en el archivo META-INF/MANIFEST.MF que se encuentra dentro del jar o de war, ejemplo:

Manifest-Version: 1.0
SCM-Revision: 276480
Archiver-Version: Plexus Archiver
Built-By: miuler
Created-By: Apache Maven 3.3.3
Build-Jdk: 1.8.0_65

El campo SCM-Revision nos indica que este artefacto ha sido crado a partir de la revisión 276480 de suversion.

Campos que se agregan al pom.xml

Se tienen que agregar a la configuración de maven 3 secciones:

  1. La primera es un básicamente es para que el plugin de svn no de error, esta es una sección dummy, que no hace nada, pero es necesario para el svn.
  2. La segunda sección es la del plugin buildnumber-maven-plugin que es el te brinda el numero, el cual puede puede funcionar tanto con subversion como con Mercurial.
  3. Si usan jenkins, agregar como parametro de construccion el jenkins.build.number
  4. Y la tercera sección es otro plugin propio del artefacto, ya se para jars, wars, o rars, en este ejemplo estoy usando maven-jar-plugin, y la sección principal es donde se pone la variable que representa el numero de revisión (# de commit), para subversion se usa ${buildNumber}, y para mercurial se usa ${changeSet}

Configuración para Subversion





org.codehaus.mojo
buildnumber-maven-plugin


validate

create




false
false
unknown
7
yyyy-MM-dd
build.date



org.apache.maven.plugins
maven-jar-plugin
3.0.2



${buildNumber}
${project.name}
${project.organization.name}
${project.groupId}
${project.url}
${jenkins.build.number}
${buildNumber}
${project.version}






scm:svn:http://127.0.0.1/dummy
scm:svn:https://127.0.0.1/dummy
HEAD
127.0.0.1/dummy

Configuracion para Mercurial (hg)





scm:svn:http://127.0.0.1/dummy</connection>
scm:svn:https://127.0.0.1/dummy</developerConnection>
HEAD
http://127.0.0.1/dummy</url>






org.codehaus.mojo
buildnumber-maven-plugin


validate

create
hgchangeset




false
false



org.apache.maven.plugins
maven-jar-plugin



${changeSet}







Originally published at miuler.com.