I have a gradle project that builds a war file, and includes a manifest:
war {
archiveName 'archive.war'
manifest {
attributes("Implementation-Title": project.name, "Implementation-Version": version, "Implementation-Timestamp": new Date())
}
}
This is fine, but if I run a release build (using the gradle-release plugin https://github.com/townsfolk/gradle-release), which updates the project version, then the war file is created with the old version number rather than the new one.
I may be wrong, but I suspect this is happening because the manifest code is running during the Configuration phase rather than the Execution phase. What is the best way to fix this?
Wrapping the manifest section in "doFirst" fixed it. Using "doLast" resulted in an empty manifest file being created.
Working code:
war {
doFirst {
manifest {
attributes("Implementation-Title": project.name, "Implementation-Version": version, "Implementation-Timestamp": new Date())
}
}
archiveName 'infoserverws.war'
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With