Create the Release and Vote

  1. Ensure you are using JDK 1.6 (1.7 will not work) and Maven 3.0.3 (or later) for the following steps.
  2. Run Apache RAT to ensure that we're Apache compliant:
    > mvn apache-rat:check
    

    Resolve any errors as necessary (usually amounts to placing the ASF license header at the top of files).

  3. Execute the maven commands below to go through the release process. If there are any errors that you can't resolve, contact the dev@shiro.apache.org mailing list.
    GPG Installed
    This release process requires the gpg binary to be in your command $PATH and your code signing key configured for your account.

    Commands:

    > mvn clean install -Pdocs,apache-release
    > mvn release:prepare -DdryRun=true
    > mvn deploy -Pdocs
    > mvn release:clean
    > mvn release:prepare -Dusername=YOUR_ASF_USERNAME -Dpassword=YOUR_ASF_PASSWORD
    > mvn release:perform -Dusername=YOUR_ASF_USERNAME -Dpassword=YOUR_ASF_PASSWORD
    
  4. Log in to https://repository.apache.org. Navigate to "Staging Repositories" (on the left nav panel). Find the repository starting with 'org.apache.shiro' and close it.
  5. Send out the VOTE email to the dev@shiro.apache.org mailing list. Here's a good template:
    This is a call to vote in favor of releasing Apache Shiro version 1.2.0.
    
    The 59 issues solved for 1.2.0:
    
    https://issues.apache.org/jira/secure/IssueNavigator!executeAdvanced.jspa?jqlQuery=project+%3D+SHIRO+AND+fixVersion+%3D+%221.2.0%22+AND+%28status+%21%3D+Open+and+status+%21%3D+%22In+Progress%22%29+ORDER+BY+priority+DESC&runQuery=true&clear=true
    
    The tag to be voted upon:
    <GIT_URL_OF_THE_RELEASE_TAG> (e.g. https://github.com/apache/shiro/tree/1.2.0)
    
    Staging repo for binaries:
    <URL_OF_THE_CLOSED_REPO_FROM_ABOVE_STEP> (e.g. https://repository.apache.org/content/repositories/orgapacheshiro-92/)
    
    Project website (just for informational purposes, not to be voted upon):
    http://shiro.apache.org/
    and maven static generated site (for informational purposes, not to be voted upon):
    people.apache.org:/www/shiro.apache.org/static/1.2.0 or http://shiro.apache.org/static/1.2.0 (once it propagates to web servers)
    
    Guide to testing staged releases:
    http://maven.apache.org/guides/development/guide-testing-releases.html
    
    Vote open for 72 hours. Please do examine the source and binaries before voting.
    
    [ ] +1
    [ ] +0
    [ ] -1 (please include reasoning)
    

After a Successful Vote

  1. Update the Shiro DOAP file in git to include another release information chunk (after the other similar chunks):
    <release>
        <Version>
            <name>Apache Shiro VERSION</name>
            <created>RELEASE_DATE</created>
            <revision>VERSION</revision>
        </Version>
    </release>
    


    With the appropriate RELEASE_DATE (e.g. 2011-10-01) and VERSION (e.g. 1.1.0). Save and commit the file to Git.

  2. Put the distribution on the ASF web servers
    1. SSH into people.apache.org and cd to to Shiro's distribution location:
      cd /www/www.apache.org/dist/shiro
    2. Create a subdirectory for the specific version number released:
      mkdir 1.2.1
    3. Acquire the source release .zip and it's verifying files (.md5, .sha1, .asc, .asc.md5, .asc.sha1) from https://repository.apache.org
      wget --no-check-certificate https://repository.apache.org/content/groups/public/org/apache/shiro/shiro-root/<version>/shiro-root-<version>-source-release.zip
      wget --no-check-certificate https://repository.apache.org/content/groups/public/org/apache/shiro/shiro-root/<version>/shiro-root-<version>-source-release.zip.md5
      wget --no-check-certificate https://repository.apache.org/content/groups/public/org/apache/shiro/shiro-root/<version>/shiro-root-<version>-source-release.zip.sha1
      wget --no-check-certificate https://repository.apache.org/content/groups/public/org/apache/shiro/shiro-root/<version>/shiro-root-<version>-source-release.zip.asc
      wget --no-check-certificate https://repository.apache.org/content/groups/public/org/apache/shiro/shiro-root/<version>/shiro-root-<version>-source-release.zip.asc.md5
      wget --no-check-certificate https://repository.apache.org/content/groups/public/org/apache/shiro/shiro-root/<version>/shiro-root-<version>-source-release.zip.asc.sha1
  3. Update the Shiro wiki's Download page to include a new entry for 1.2.1
  4. Update the Shiro wiki's Index page and update the download 'block'.  This must be done via the Wiki Markup View so JavaScript can be edited.
  5. Make an announcement as a Shiro blog article. You can look at a previous announcement as an example.
  6. Make the same announcement on the Shiro user list (subject: [ANNOUNCE] Apache Shiro <version> released) and CC the developer list.
  7. Update the Apache Shiro Wikipedia page to reflect the latest release information.
  8. Update the 'current' symbolic link on people.apache.org to reference the latest static site documentation. For example (replace 1.2.1 with the latest version):
    $ ssh people.apache.org
    $ cd /www/apache.shiro.org/static
    $ rm current
    $ ln -s 1.2.1 current