2013-01-04 7 views
6

Aggiungendo un timestamp alle cause del nostro jar, il nostro build di maven richiede circa 4 volte più del solito. Il timestamp è necessario per le build di rilascio, ma non è necessario per le build di snapshot. Come configureremmo il file POM per aggiungere gli argomenti TSA solo quando è una versione di Release (ad esempio SNAPSHOT non appare nella versione del progetto).Come configurare l'argomento TSA solo nel rilascio in maven-jarsigner-plugin

Di seguito è riportata la voce POM per il plug-in jarsigner. Nota gli argomenti aggiunti in fondo. Vorremmo questi per non aggiungere se SNAPSHOT compare nella versione del progetto:

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jarsigner-plugin</artifactId> 
      <version>1.2</version> 
      <executions> 
      <execution> 
       <id>sign webcontent jars</id> 
       <phase>prepare-package</phase> 
       <goals> 
       <goal>sign</goal> 
       </goals> 
      </execution> 
      </executions> 
      <configuration> 
      <archiveDirectory>${project.build.directory}/projectname-webcontent/applets</archiveDirectory> 
      <includes> 
       <include>*.jar</include> 
      </includes> 
      <keystore>Keystore</keystore> 
      <alias>alias</alias> 
      <storepass>pass</storepass> 
      <arguments> 
       <argument>-tsa</argument> 
       <argument>https://timestamp.geotrust.com/tsa</argument> 
      </arguments> 
      </configuration> 
     </plugin> 

risposta

2

Supponendo che si sta utilizzando il plugin rilascio Maven per le uscite, è possibile ottenere questo risultato piggy-backing off il profilo di rilascio che si attiva .

Si potrebbe anche fare questo con i propri profili personalizzati se si preferisce o non si sta utilizzando il plugin di rilascio per fare le vostre uscite.

Nel vostro pom, si dovrebbe includere:

<profiles> 
    <profile> 
     <id>release-profile</id> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jarsigner-plugin</artifactId> 
      ... 
      <!-- Put your configuration with the TSA here --> 
     </plugin> 
    </profile> 
</profiles> 

Ora omettere la roba argomento TSA nella parte normale della vostra configurazione di generazione/plugin per il jarsigner. Se ti capita di volere la TSA con uno snapshot per qualche motivo, puoi attivare manualmente il profilo di rilascio utilizzando:

mvn -Prelease-profile install 
Problemi correlati