Releasing TorOnionProxyLibrary-Android¶
-
Create a local release branch from
master
git checkout master git pull git checkout -b release_2.1.1
-
Update
VERSION_NAME
(remove-SNAPSHOT
) ingradle.properties
VERSION_NAME=2.1.1
-
Update the current version and next version in
mkdocs.yml
extra: topl_android: release: '2.1.1' next_release: 'REPLACE_WITH_NEXT_VERSION_NUMBER'
-
Perform a clean build
./gradlew clean ./gradlew build
-
Generate the Dokka docs
rm -rf docs/topl-core docs/topl-core-base docs/topl-service-base docs/topl-service ./gradlew topl-core-base:dokka topl-core:dokka topl-service-base:dokka topl-service:dokka
-
Fix Dokka doc links
./gradlew fixDokkaDocLinks
-
Update
docs/changelog.md
after checking out all changes: -
Update
docs/roadmap.md
with with new milestones: -
Take one last look
git diff
-
Commit all local changes and PGP sign
git commit -S -am "Prepare 2.1.1 release"
-
Create a PGP signed tag, and push it
git tag -s 2.1.1 -m "Release v2.1.1" git push origin 2.1.1
-
Make sure you have valid credentials in
~/.gradle/gradle.properties
to sign and upload the artifactsSONATYPE_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.1.1
-
Update
VERSION_NAME
(increase version and add-SNAPSHOT
) andVERSION_CODE
ingradle.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 locallymkdocs gh-deploy
to deploy- Check settings in GitHub that it did not revert the url back to use
github.io
- Ensure docs are served Here
exit
- Sign SampleApp release apks:
scripts/sign_sampleapp_release_build.sh
- Go to the Draft a new release
page
- Enter the release name (2.1.1) as tag and title.
- Have the description point to the changelog. You can find the direct anchor URL from the Change Log page on the doc site.
- Upload the signed release apks.
- Redeploy the docs: