Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 5

...

  1. Edit pom.xml and change the Log4jReleaseVersion property to the version you are releasing. 

  2. Make a fresh Git clone of the master branch of https://git-wip-us.apache.org/repos/asf/logging-log4j2.git 

  3. Update src/changes/announcement.vm 

  4. Run mvn -P release-notes generate-resources to create the release notes. 

  5. Update src/changes/changes.xml with the release date. 

  6. Pick a logo from src/site/resources/logos. Edit it with Gimp to add the release version number and save it as a png. Copy the saved logo to src/site/resources/images/logo.png. 
  7. Run git add, git commit, and git push to commit the RELEASE-NOTES.txt file that was just generated along with the other files that were modified. 

  8. Run mvn site followed by mvn site:stage -DstagingDirectory=$HOME/log4j where $HOME is your home directory and verify that the site looks good. 

  9. Run mvn -P apache-release -DskipTests -Darguments="DskipTests" release:prepare release:perform -DreleaseVersion=n.n -DdevelopmentVersion=n.n-SNAPSHOT -Dtag=log4j-n.n-rcn to start the release. Enter the password to your signing key when prompted. 

  10. Login to http://repository.apache.org using your ASF credentials. Select "Staging Repositories" then check the org.apache.logging repository and close it. 

  11. Check out the release tag that was created via the Maven release plugin using git checkout tags/tagname. 

  12. Run mvn site in the tag directory. When that completes run mvn site:stage -DstagingDirectory=$HOME/log4j where $HOME is your home directory. 

  13. Zip the contents of $HOME/log4j with zip -r log4j.zip log4j. Commit the site to your github.io account. 

  14. Copy the distribution archive files from log4j-distribution/target to where https://dist.apache.org/repos/dist/dev/logging/log4j/ is checked out on your machine. 

    1. Generate the md5 checksum of the bin and source archive files using md5 apache-log4j-2.x-site.zip > apache-log4j-2.x-xxx.zip.md5, md5sum apache-log4j-2.x-xxx.zip > apache-log4j-2.x-xxx.zip.md4, or gpg --print-md MD5 apache-log4j-2.x-xxx.zip > apache-log4j-2.x-xxx.zip.md5. 

    2. Generate the sha1 checksum of the bin and source archive files using sha apache-log4j-2.x-site.zip > apache-log4j-2.x-xxx.zip.sha1, shasum apache-log4j-2.x-xxx.zip > apache-log4j-2.x-xxx.zip.sha1, or gpg --print-md SHA1 apache-log4j-2.x-xxx.zip > apache-log4j-2.x-xxx.zip.sha1. 

  15. Add the site zip to where https://dist.apache.org/repos/dist/dev/logging/log4j/ is checked out on your machine. 

    1. Sign the site ZIP file using gpg --armor --output apache-log4j-2.x-site.zip.asc --detach-sig apache-log4j-2.x-site.zip. You can use the --local-user [key ID] option (it must come before --detach-sig) to specify the exact key to use when signing the ZIP file. 

    2. Generate the md5 checksum of the site ZIP using md5 apache-log4j-2.x-site.zip > apache-log4j-2.x-site.zip.md5, md5sum apache-log4j-2.x-site.zip > apache-log4j-2.x-site.zip.md4, or gpg --print-md MD5 apache-log4j-2.x-site.zip > apache-log4j-2.x-site.zip.md5. 

    3. Generate the sha1 checksum of the site zip using sha apache-log4j-2.x-site.zip > apache-log4j-2.x-site.zip.sha1, shasum apache-log4j-2.x-site.zip > apache-log4j-2.x-site.zip.sha1, or gpg --print-md SHA1 apache-log4j-2.x-site.zip > apache-log4j-2.x-site.zip.sha1. 

  16. Generate the release vote email: 
    1. Create the email addressed to dev@logging.apache.org. Sending the email to the PMC is not necessary. 

    2. Copy the changes in the release from RELEASE-NOTES.txt into the email. 

    3. Provide a link to the tag, web site on http://people.apache.org, and the artifacts in the Nexus repository. 

    4. Provide the command to download all the artifacts: wget -e robots=off --cut-dirs=3 -r -p -np --no-check-certificate $LINK where $LINK is the URL to the repository you just closed (plus the org/apache/logging/log4j/ path appended). 

  17. If the release vote fails proceed as described in the section below, otherwise if it passes: 
    1. Create a new tag named log4j-n.n from the log4j-n.n-rcn tag by changing to the changing to the directory containing the source for the release and performing git tag -a log4j-n.n -m "Release n.n of Log4j"}} followed by {{{git push --tags 

  18. The following steps must be performed by a PMC member: 
    1. Checkout https://dist.apache.org/repos/dist/release/logging/log4j. 

    2. Create the release directory under the log4j directory. 

    3. Move all the distribution artifacts from the distribution dev location to that directory. 
    4. Perform an svn add of the release directory. 

    5. Commit the release to Subversion. 
    6. Login to reporter.apache.org and add the release version and date. 
  19. The following steps can then be taken by whomever started the release: 
    1. Delete the core-its project from the Nexus repository. 
    2. Release the remaining artifacts in the Nexus Repository. 
  20. Wait 12-24 hours (or after the distribution artifacts have been propagated to the mirrors and the Maven artifacts have been propagated to the Central Repository), and then the following steps must be performed by a PMC member: 
    1. Perform svn delete on the previous release directory for the same version under the log4j directory (https://dist.apache.org/repos/dist/release/logging/log4j). 

    2. Commit the delete to Subversion. 
    3. See ManagingTheWebSite regarding sub-projects. 

    4. Copy the release web site from the local directory where it was deployed into the sub-project directory and make it be the current link. 
  21. After the website is updated, send the release announcement email. This should be sent out to dev@logging.apache.orglog4j-user@logging.apache.orgprivate@logging.apache.org, and general@logging.apache.org. 

  22. Send the release announcement to announcements@apache.org using your apache.org email address.  

...