2009-03-17 11 views

Respuesta

25

el experto número de compilación el plugin es el camino a seguir. Un ejemplo de cómo utilizarlo está aquí:

http://www.mojohaus.org/buildnumber-maven-plugin/usage.html

que usaría esto junto con el plugin de maven jar para imprimir el SVN número a su manifiesto.

Esta es una solución mejor que usar un archivo que contiene el número de confirmación SVN, porque eso agrega más partes móviles de las realmente necesarias.

+4

Encontré información adicional útil en http://apollo.ucalgary.ca/tlcprojectswiki/index.php/Public/Project_Versioning_-_Best_Practices#Build_Versioning, incluido el código para recuperar los números de versión si están almacenados en el manifiesto. –

+1

ucalgary link is dead. Enlace de la máquina Wayback aquí: http://web.archive.org/web/20101021043408/http://apollo.ucalgary.ca/tlcprojectswiki/index.php/Public/Project_Versioning_-_Best_Practices – Snekse

1

No dices qué plataforma estás usando, y me disculpas por no estar familiarizado con maven. Supongo que puede invocar programas externos, y usted sabe cómo hacerlo.

Si está en una plataforma Unix, debe usar el comando svnversion del programa y canalizar su salida, que es el número de versión de la ruta de trabajo especificada, a un archivo, que luego puede incorporar a su página web como ve ajuste.

svnversion --help 

muestra lo que puede hacer en detalle.

Si es Windows, y está utilizando el cliente TortoiseSVN, entonces hay un excelente programa de línea de comandos de Windows incluido llamado SubWCRev. Esta utilidad ampliará las macros en un archivo de texto que usted suministre con varios detalles del repositorio svn que está utilizando; usted puede controlar el formato de la salida. Todo muy conveniente. El archivo de ayuda para esto está aquí: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-subwcrev.html

4

Siempre que tenga la aplicación de línea de comandos SVN, puede utilizar el siguiente código - lo usamos en nuestros proyectos (ligeramente alteradas)

<build> 
    <plugins> 
    <plugin> 
     <artifactId>maven-antrun-plugin</artifactId> 
     <executions> 
     <execution> 
      <phase>generate-resources</phase> 
      <goals> 
      <goal>run</goal> 
      </goals> 
      <configuration> 
      <tasks> 
       <mkdir dir="${project.build.directory}/generated-web-resources/svn"/> 
       <exec dir="${basedir}" executable="svn" 
        failifexecutionfails="false" 
        output="${project.build.directory}/generated-web-resources/svn/svnver.jsp"> 
       <arg line="info"/> 
       </exec> 
      </tasks> 
      </configuration> 
     </execution> 
     </executions> 
    </plugin> 
    <plugin> 
     <artifactId>maven-war-plugin</artifactId> 
     <configuration> 
     <webResources> 
      <resource> 
      <directory>${project.build.directory}/generated-web-resources/svn</directory> 
      </resource> 
     </webResources> 
     <warSourceExcludes>**/_svn/**</warSourceExcludes> 
     </configuration> 
    </plugin> 
    </plugins> 
</build> 
7

Si está utilizando la subversión, se puede utilizar este plugin para hacer que el número de revisión SVN disponible como una propiedad experto

http://code.google.com/p/maven-svn-revision-number-plugin/

combino este con el plugin frasco para añadir la revisión SVN para el manifiesto. Archivo MF para nuestro jar y war's.

Cuestiones relacionadas