Skip to content

Releasing EncryptedStorage

  • Create a local release branch from master

    git checkout master
    git pull
    git checkout -b release_2.0.2
    

  • Update VERSION_NAME (remove -SNAPSHOT) in gradle.properties

    VERSION_NAME=2.0.2
    

  • Update the current version and next version in mkdocs.yml

    extra:
      encrypted_storage:
        release: '2.0.2'
        next_release: 'REPLACE_WITH_NEXT_VERSION_NUMBER'
    

  • Generate the Dokka docs

    rm -rf docs/encrypted-storage
    ./gradlew encrypted-storage:dokka
    

  • Update docs/changelog.md after checking out all changes:

  • Take one last look

    git diff
    

  • Commit all local changes and PGP sign

    git commit -S -am "Prepare 2.0.2 release"
    

  • Perform a clean build

    ./gradlew clean
    ./gradlew build
    

  • Create a PGP signed tag, and push it

    git tag -s 2.0.2 -m "Release v2.0.2"
    git push origin 2.0.2
    

  • Make sure you have valid credentials in ~/.gradle/gradle.properties to sign and upload the artifacts

    SONATYPE_NEXUS_USERNAME=<Your Username>
    SONATYPE_NEXUS_PASSWORD=<Your Password>
    
    signing.gnupg.homeDir=/home/matthew/.gnupg/
    signing.gnupg.optionsFile=/home/matthew/.gnupg/gpg.conf
    signing.gnupg.keyName=0x61471B8AB3890961
    

  • Upload the artifacts to Sonatype OSS Nexus

    ./gradlew uploadArchives --no-daemon --no-parallel
    

  • Release to Maven Central

    • Login to Sonatype OSS Nexus: oss.sonatype.org
    • Click on Staging Repositories
    • Scroll to the bottom, you should see an entry named iomatthewnelson-XXXX
    • Check the box next to the iomatthewnelson-XXXX entry, click Close then Confirm
    • Wait a bit, hit Refresh, until the Status for that column changes to Closed.
    • Check the box next to the iomatthewnelson-XXXX entry, click Release then Confirm
  • Merge the release branch to master

    git checkout master
    git pull
    git merge --no-ff -S release_2.0.2
    

  • Update VERSION_NAME (increase version and add -SNAPSHOT) and VERSION_CODE in gradle.properties

    VERSION_NAME=REPLACE_WITH_NEXT_VERSION_NUMBER-SNAPSHOT
    VERSION_CODE=INCREMENT
    

  • Commit your changes and sign with PGP keys

    git commit -S -am "Prepare for next development iteration"
    

  • Push your changes

    git push
    

  • Wait for the release to become available on Maven Central, then:

    • Redeploy the docs:
      • pipenv shell
      • mkdocs serve to check locally
      • mkdocs gh-deploy to deploy
      • exit
    • Go to the Draft a new release page, enter the release name (2.0.2) as tag and title, and have the description point to the changelog. You can find the direct anchor URL from the Change Log page on the doc site.