Skip to content

Releasing BoneJ

Michael Doube edited this page Apr 14, 2020 · 28 revisions

This is a check list of things to do before releasing a new version(s) of the BoneJ Maven artefacts.

  1. Code that has become obsolete has been @Deprecated
  2. @Deprecated code carried over from previous versions has been removed
  3. TODOs minimized.
  4. Update all dependencies with explicit version numbers if needed
    • Make necessary changes, or mark for resolving later (e.g. newly deprecated code)
  5. Check that code compiles and test pass (mvn clean package)
    • Run slow tests for wrapperPlugins too (mvn test -P allTests). They may fail due to time outs. Check that they don't fail repeatedly.
  6. Check that dependencies are correctly marked (mvn dependency:analyze shows no warnings)
  7. Check Javadoc is OK (mvn javadoc:javadoc)
  8. Relax the branch protection rules to allow pushing to master
  9. Cut a new release using this shell script
    • Clone the scijava/scijava-scripts repo into your git directory, or if you have it, git rebase origin/master to bring it up to date
    • From the pom-bonej/ directory, make sure master is up to date with bonej-org/BoneJ2, with e.g. git checkout master, git fetch and git rebase origin/master
    • Still in pom-bonej/ and assuming that the scripts are in a sibling directory, run ./../scijava-scripts/release-version.sh, entering the semantic version when prompted.
    • Note that the scripts push to origin by default, and create and push a tag, bonej-x.y.z that can be used for making a release on GitHub
  10. Tighten the branch protection rules to prevent pushing to master
  11. Update documentation

Additionally if you want to make this a new user release

  1. Draft a release, following the style in prior releases
  2. Check that Zenodo has archived the release code
  3. Ensure that the user docs are up to date
  4. Update the imagej.net Wiki with a redirect for new plugins
  5. Upload new artefact(s) to the update site.
    • Remember to copy the just-built artefacts from pom-bonej/.../target into jars and plugins directories of the ImageJ used to run the updater
  6. Announce the release on the forum and Twitter
Clone this wiki locally