Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Checkout Qpid sources from trunk using svn client. Alternatively, git and git-svn can be used.

    No Format
    svn co https://svn.apache.org/repos/asf/qpid/java/trunk qpid-java
    cd ./qpid-java
    
  2. Check that you can build using profile apache-release

    No Format
    mvn clean install -Papache-release -DskipTests -Dmaven.javadoc.skip=true
    

    The build should finish successfully. The gpg plugin will prompt for the key for signing of the build artifacts.

  3. Run RAT tool to verify that all source files have license headers

    No Format
    mvn  apache-rat:check
    

    Add license headers to the files which do not have one or update RAT excludes if required.

  4. Verify third party licenses

    No Format
    mvn -Pdependency-check prepare-package
    
  5. Build alpha
    Alpha does not requires branching. Thus, it can be built using maven versions plugin to change version and revert it back after build and deploy, for example

    No Format
    mvn versions:set -DnewVersion=6.0.0-alpha ; mvn clean install deploy -Papache-release ; mvn versions:revert
    
  6. The build is deployed into staging repository, which needs to be closed in order to be available. Log in into Apache Nexus UI, select the repository under "Staging Repository" and click Close button to close staging repository for any publishing of artifacts. After closing, a permanent link to the staging repository will be available.
  7. Send an email into users@qpid.apache.org about alpha availability with a link to the staging repository
  8. When beta is ready to be created and published, delete the staging repository by logging into Apache Nexus UI, selecting the repository and clicking "Drop" button.
  9. Check JIRA system for any unresolved JIRAs for the release and notify authors about the release
  10. Cut the branch using release:branch. Please, refer maven release plugin documentation for more details

    No Format
    mvn release:branch -DbranchName=6.0.x -DupdateBranchVersions=false -DupdateWorkingCopyVersions=true
    
  11. Checkout branch sources, for example

    No Format
    svn co https://svn.apache.org/repos/asf/qpid/java/branches/6.0.x
    cd 6.0.x
    
  12. Cut the tag and build the release build using maven:prepare

    No Format
    mvn release:clean
    mvn release:prepare -Papache-release,qpid-bdbmms.0-9
    
    Preparing the release will create the new tag in SVN, automatically checking in on your behalf.
  13. Stage the release for voting
    No Format
    mvn release:perform -Papache-release,qpid-bdbmms.0-9
  14. The build is deployed into staging repository, which needs to be closed in order to be accessible. Log into Apache Nexus UI, select the repository under "Staging Repository" and click Close button to close staging repository for any publishing of artifacts. After closing, a permanent link to the staging repository will be available.
  15. Send an email into users@qpid.apache.org about RC availability with a link to the staging repository
  16. If RC is OK and voting passes, promote the artifacts from staging repository into the world by pressing Release button in Apache Nexus UI.
    Otherwise, drop staging repository and repeat steps 12-16 until voting passes.
  17. Update Qpid web site Qpid Java Component pages and publish new release documentation.

    The website readme has more detail about these steps.


       - Generate new release content

       - Add any additional notes desired to the generated release notes

       - Change current release version

       - Update release references in other parts of the site
  18. Mark release as released in JIRA and close any unresolved JIRAs if required
  19. Wait for 24 hours after closing the voting and send the release notification email into users@qpid.apache.org

...