2014-01-22 6 views
6

ich ein gradle Projekt, das einen Krieg Datei erstellt und enthalten ein Manifest:Gradle Krieg manifest Versionsnummer falsch für Release-Build

war { 
    archiveName 'archive.war' 
    manifest { 
     attributes("Implementation-Title": project.name, "Implementation-Version": version, "Implementation-Timestamp": new Date()) 
    } 
} 

Das ist in Ordnung, aber wenn ich einen Release-Build (mit dem gradle laufen Release-Plugin https://github.com/townsfolk/gradle-release), die die Projektversion aktualisiert, dann wird die WAR-Datei mit der alten Versionsnummer statt der neuen erstellt.

Ich könnte falsch liegen, aber ich vermute, dass dies passiert, weil der Manifest-Code während der Konfigurationsphase statt der Ausführungsphase ausgeführt wird. Was ist der beste Weg, um das zu beheben?

+1

würde ich den Autor des Plugins in Verbindung. –

Antwort

8

Wrapping der Manifest-Abschnitt in "doFirst" behoben. Die Verwendung von "doLast" führte dazu, dass eine leere Manifestdatei erstellt wurde.

Arbeitscode:

war { 
    doFirst { 
     manifest { 
      attributes("Implementation-Title": project.name, "Implementation-Version": version, "Implementation-Timestamp": new Date()) 
     } 
    } 
    archiveName 'infoserverws.war' 
} 
+0

Danke für die Antwort - Ich habe auf das gleiche Problem mit dem Manifest in einer JAR-Datei stecken. – anorakgirl

Verwandte Themen