Minio Java SDK uses gradle build system.
Go through Maintainer Responsibility Guide.
Clone minio-java source repository locally.
$ git clone https://github.com/minio/minio-java
$ cd minio-java
Run runFunctionalTest
gradle task to build and verify the SDK.
$ ./gradlew runFunctionalTest
Create a new gradle properties file
$ cat > ${HOME}/.gradle/gradle.properties <<EOF
signing.keyId=76A57749
signing.password=*******
signing.secretKeyRingFile=/media/${USER}/Minio2/trusted/secring.gpg
nexusUsername=********
nexusPassword=********
release=true
EOF
Upload all artifacts belonging to io.minio
artifact repository, additionally this step requires you to have access to Minio's trusted private key.
$ ./gradlew uploadArchives
Closes and releases io.minio
artifacts repository in Nexus to maven.
$ ./gradlew closeAndReleaseRepository
Tag and sign your release commit, additionally this step requires you to have access to Minio's trusted private key.
$ export GNUPGHOME=/media/${USER}/Minio2/trusted
$ git tag -s 0.3.0
$ git push
$ git push --tags
Announce new release by adding release notes at https://github.com/minio/minio-java/releases from trusted@minio.io
account. Release notes requires two sections highlights
and changelog
. Highlights is a bulleted list of salient features in this release and Changelog contains list of all commits since the last release.
To generate changelog
git log --no-color --pretty=format:'-%d %s (%cr) <%an>' <last_release_tag>..<latest_release_tag>