-
Notifications
You must be signed in to change notification settings - Fork 12
Release
git clone https://github.com/BioPAX/Paxtools
mvn clean deploy
See http://central.sonatype.org/pages/apache-maven.html#performing-a-snapshot-deployment
See: http://central.sonatype.org/pages/apache-maven.html#performing-a-release-deployment (in the Paxtools pom.xml, the release maven profile is called "sonatype-release".)
Once it's fixed, tested and we're ready to officially release Paxtools, let's follow the check-list below in order to get everything right. We use GitHub flow (or simple "feature branch") branching model. Normally, mainstream development goes in the master branch of this project. Releases and quick-fixes are made in separate temporary feature branches and then merged back to the master, and deleted.
Here is how to release manually, not using maven-release-plugin (but if you want it with maven-release-plugin, remember to clone and build your release version locally - after executing release:prepare and before release:perform, or it fails otherwise...)
Start a new branch (if there's something wrong, you'd simply either fix that or delete the branch and start over), e.g., release-X.Y.Z:
git checkout -b release-X.Y.Z
Bump the version number - current release:
mvn versions:set -DnewVersion=X.Y.Z
git commit -m "For the release, updated project version to X.Y.Z"
git tag -a vX.Y.Z -m "Release X.Y.Z"
(Ok to push, with --tags, to the remote repository if you're 100500% sure there's nothing more to fix in this version.)
Let's create the distribution vX.Y.Z (staging):
mvn clean deploy -P sonatype-release
This should automatically create the documentation, Java API-DOC and the source JARs, and push them to the Nexus server.
Deploying the maven-generated site: stage, add to the staged site folder to the 'gh-pages' branch, commit/push there (TODO...).
mvn site site:stage -DstagingDirectory=/path/to/paxtools-gh-pages/X.Y.Z
TODO...
Creating "fat" JARs (with dependencies) for distribution. For non-Mavenized projects, it is more convenient to distribute a single executable JAR file of the library with all dependency included.
cd paxtools-console
mvn clean install
Now that you have created target/paxtools.jar file, rename it to paxtools-X.Y.Z.jar and upload to www.biopax.org/downloads/paxtools/.
Bump the version - next development iteration:
mvn versions:set -DnewVersion=X'.Y'.Z'-SNAPSHOT
git commit -m "Updated project version to next X'.Y'.Z'-SNAPSHOT"
Once the release, site, distribution are done, it it time to merge the changes back to the master branch.
git checkout master
git merge release-X.Y.Z
git branch -d release-X.Y.Z
git push --tags
git push
http://central.sonatype.org/pages/releasing-the-deployment.html http://central.sonatype.org/pages/working-with-pgp-signatures.html