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
    • Draft a release, following the style in prior releases
  12. Check that Zenodo has archived the release code

Additionally if you want to make this a new user release

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