2016-06-30 16 views
2

Als Teil meiner Freigabeprozess verwende ich mvn versions:use-releases Ziel, alle -SNAPSHOT Abhängigkeiten mit freigegebenen Versionen zu ersetzen. Danach möchte ich überprüfen, ob alle SNAPSHOT-Abhängigkeiten durch Freigaben ersetzt wurden oder nicht.Maven überprüfen, dass alle Abhängigkeiten freigegeben wurden

Frage: Wie kann ich es überprüfen?

Ich weiß, das Maven-Release-Plugin führt eine solche Überprüfung als Teil von release-prepare Ziel, aber ich möchte nicht Release-Plugin verwenden.

Antwort

4

Sie können die maven-enforcer-plugin verwenden, um zu überprüfen, ob noch irgendeine SNAPSHOT-Abhängigkeit vorhanden ist oder nicht.

Von the official example seiner requireReleaseDeps Regel:

<project> 
    [...] 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-enforcer-plugin</artifactId> 
     <version>1.4.1</version> 
     <executions> 
      <execution> 
      <id>enforce-no-snapshots</id> 
      <goals> 
       <goal>enforce</goal> 
      </goals> 
      <configuration> 
       <rules> 
       <requireReleaseDeps> 
        <message>No Snapshots Allowed!</message> 
       </requireReleaseDeps> 
       </rules> 
       <fail>true</fail> 
      </configuration> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 
    [...] 
</project> 

Notiere die fail Element zu true, in diesem Fall der Build fehlschlagen würden, wenn die SNAPSHOT Abhängigkeit gefunden wurde.

Sie könnten diese Konfiguration in eine maven profile eingeben und bei Bedarf aktivieren (daher immer dann, wenn diese Überprüfung durchgeführt werden muss).