2010-06-02 12 views
5

Desidero trovare un utente nativo (cioè senza chiamare programmi esterni) per iniettare la revisione svn nel manifest di guerra.Aggiungere la revisione di subversion al manifest di guerra usando maven2

Qualcuno conosce un modo per farlo?

Ho trovato menzione su come aggiungere la revisione di subversion ai manifesti nei file jar ma non con i file war.

Ho cercato SO ma non ho trovato questo problema in modo specifico.

risposta

4

Voglio trovare un nativo Maven (vale a dire senza chiamare programmi esterni) per iniettare la revisione svn nella guerra manifesto.

Ciò è possibile con l'Build Number Maven Plugin utilizzando il svnjava provider:

Se è necessario eseguire il plugin su macchina senza alcun svn nel percorso è possibile configurare il mojo per utilizzare il svnjava fornitore.

<build> 
    <plugins> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>buildnumber-maven-plugin</artifactId> 
     <version>1.0-beta-3</version> 
     <executions> 
      <execution> 
      <phase>validate</phase> 
      <goals> 
       <goal>create</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <doCheck>true</doCheck> 
      <doUpdate>true</doUpdate> 
      <providerImplementations> 
      <svn>javasvn</svn> 
      </providerImplementations>   
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 

Il numero di build Maven Plugin imposta il numero di build nella proprietà ${buildNumber} che è possibile utilizzare nel vostro POM.

Ho trovato menzione su come aggiungere la revisione di subversion ai manifesti nei file jar ma non con i file war.

Poi, per aggiungere il numero di build nel manifesto di una guerra, configurare il plugin come indicato nella pagina Usage:

<build> 
    ... 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.0.2</version> 
     <configuration> 
      <archive> 
      <manifest> 
       <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 
      </manifest> 
      <manifestEntries> 
       <Implementation-Build>${buildNumber}</Implementation-Build> 
      </manifestEntries> 
      </archive> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
2

Prova this. Circa a metà strada verso il basso, cercare Maven-guerra-plugin

<build> 
    ... 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.0.2</version> 
     <configuration> 
      <archive> 
      <manifest> 
       <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 
      </manifest> 
      <manifestEntries> 
       <Implementation-Build>${buildNumber}</Implementation-Build> 
      </manifestEntries> 
      </archive> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
Problemi correlati