Once you've done your first release, you'd most probably be more comfortable with the quick guide to get the release out (nevertheless, all steps are explained below):
mvn clean install apache-rat:rat -Papache-release # generates artifacts, checks for AL headers mvn release:prepare -DdryRun=true -DautoVersionSubmodules=true # review pom.xml, confirm only appropiate sections have been changed mvn deploy -Papache-release # deploy a snapshot mvn release:clean # prepare the release 1/3 mvn release:prepare -DautoVersionSubmodules=true # prepare the release 2/3 mvn release:perform # prepare the release 3/3
<servers> <server> <id>apache.releases.https</id> <username>APACHE-ID</username> <password>APACHE-PASSWORD</password> </server> <server> <id>apache.snapshots.https</id> <username>APACHE-ID</username> <password>APACHE-PASSWORD</password> </server> <server> <id>github.com</id> <username>GITHUB-ID</username> <password>GITHUB-2FA-TOKEN</password> </server> </servers>
Note that your password doesn't need to be inside the settings.xml file, due to Maven encryption capabilities. It is also convenient to setup the ssh keys on people.apache.org, otherwise you'll have to enter your login password a number of times.
Verify that ./jspwiki-api/src/main/java/org/apache/wiki/api/Release.java contains the appropiate JSPWiki version
The maven release process does not change these values on these files, so this has to be done manually.
mvn clean install apache-rat:rat -Papache-release
This will check that all files have AL headers and also build artifacts, sources and sign
mvn release:prepare -DdryRun=true -DautoVersionSubmodules=true
Perform quick diffs between pom.xml files and their sibling pom.xml.tag files to see if the license or any other info has been removed (should never happen, but just to stay on the safe side).
Note that, when asked, the tag should follow the scheme X.Y.Z-RC#. If the vote succeeds, we'll re-tag later on X.Y.Z-RC# with X.Y.Z.
mvn deploy -Papache-release
mvn release:clean mvn release:prepare -DautoVersionSubmodules=true
IMPORTANT: when asked, the tag should follow the scheme X.Y.Z-RC#. If the vote succeeds, we'll re-tag later on X.Y.Z-RC# with X.Y.Z.
mvn release:perform
binaries portable webapp source wikipages
Subject: [VOTE] Release JSPWiki version X.Y.Z This is a release vote for Apache JSPWiki, version X.Y.Z. The vote will be open for at least 72 hours from now. It fixes the following issues: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310732&version=<VERSION> You can see a curated changelog at https://jspwiki-wiki.apache.org/Wiki.jsp?page=NewInX.Y Note that we are voting upon the source (tag), binaries are provided for convenience. Everybody is encouraged to vote. Source and binary files: https://dist.apache.org/repos/dist/dev/jspwiki/[VERSION]-RC[RC] Nexus staging repo: https://repository.apache.org/content/repositories/orgapachejspwiki-... The tag to be voted upon: https://github.com/apache/jspwiki/tree/[VERSION]-RC[RC] JSPWiki's KEYS file containing PGP keys we use to sign the release: https://www.apache.org/dist/jspwiki/KEYS *** Please download, test and vote: [ ] +1 Approve the release [ ] 0 Don't mind [ ] -1 Disapprove the release (please provide specific comments)
Note that the PMC needs to vote upon the release before any release can be made official.
Subject: [ANNOUNCE] Apache JSPWiki X.Y.Z released The Apache JSPWiki team is pleased to announce the release of JSPWiki X.Y.Z. This is the <REPLACE> release on the X.Y series of Apache JSPWiki, a feature-rich and extensible WikiWiki engine built around the standard JEE components. The release is available here: https://jspwiki-wiki.apache.org/Wiki.jsp?page=Downloads JSPWiki Maven artifacts are available under org.apache.jspwiki groupId, version X.Y.Z The full change log is available here: https://issues.apache.org/jira/browse/JSPWIKI/fixforversion/<REPLACE> A curated change log is also available here: https://jspwiki-wiki.apache.org/Wiki.jsp?page=NewIn<REPLACE> We welcome your help and feedback. For more information on how to report problems, and to get involved visit the project website at http://jspwiki.apache.org/ The Apache JSPWiki Team
Ensure that ./jspwiki-api/src/main/java/org/apache/wiki/api/Release.java contains next development versions.