...
Check out the branch you are making the release of:
Code Block git clone -b branch-X.Y https://gitbox.apache.org/repos/asf/zookeeper.git
If you are creating a point release (almost always the case) then follow this step. The exception to this is typically only when creating a new release candidate because the previous candidate failed during voting (rc0 failed and you are creating rc1+) – in which case skip this step.
Create a branch for X.Y.Z (the current release candidate)
Code Block git branch branch-X.Y.Z git push <remote> branch-X.Y.Z
Remove the "-SNAPSHOT" from the version in all pom.xml.
For example, to do the first release candidate on 3.5.5, run:Code Block language xml title .m2 settings mvn clean org.codehaus.mojo:versions-maven-plugin:2.7:set -DnewVersion=3.5.5 git clean -f
Note: we do not add "-RC0" at the and, because if votes passes on the Release Candidate, this will be the release we deploy to maven central.
Also update the version number in src/zookeeper-client/zookeeper-client-c/configure.ac, src/zookeeper-client/zookeeper-client-c/CMakeLists.txt, and src/zookeeper-client/zookeeper-client-c/include/zookeeper_version.h to the next logical SNAPSHOT version (e.g. X.Y.Z to X.Y.(Z+1)-SNAPSHOT)- Update the copyright years in NOTICE.txt if it's outdated.
- Do a search in the project for the version with the attached -SNAPSHOT to make sure it is changed everywhere. Some files (other than pom.xml) might also contain a hard coded version.
Clean your working directory:
Code Block language xml mvn clean git clean -fxd
- ToDO: rat here?
Commit these changes.
Code Block # check for modified files git status # add modified files one by one git add <modified files> # commit and push the changes to remote repo branch-X.Y git commit -m "Preparing for release X.Y.Z" git push <remote> branch-X.Y.Z
Tag the release candidate (R is the release candidate number, and starts from 0):
Code Block # create a signed tag git tag -s release-X.Y.Z-rcR -m "ZooKeeper X.Y.Z-rcR release." # push the newly created rc tag to the remote repo. git push <remote> release-X.Y.Z-rcR
...