Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
git clone https://github.com/${ORG}/${REPO}
cd ${REPO}
git checkout -b ${CURR}-RC origin/${CURR}-RC # ifcheck out the release branch if named differently
mvn release:clean


Warning

If mvn release:clean fails, you may need to revert the RC commit with with git revert HEAD.  If the parent snapshot is not available, build an old version of fcrepo to populate it locally.

...

Info

The above command arguments are:

  • -DreleaseVersion - this is the numeric version you are releasing, i.e. 6.1.0, 5.6.1, etc
  • -DdevelopmentVersion - this is the next snapshot version. It should be one minor version above the release version and it should always end with -SNAPSHOT. i.e. 6.2.0-SNAPSHOT, 5.7.0-SNAPSHOT
  • -Dtag - this is the git release tag which will point to the release commit. It is <repository name>-<release version>. i.e. fcrepo-camel-toolbox-6.1.0, fcrepo-import-export-6.2.0, fcrepo-6.5.0
  • -DautoVersionSubmodules=true - because Fedora is made up of a bunch of modules, this ensure they also get processed.
  • -DpushChanges=false 0 - this ensure changes are not automatically pushed to Github.

You may be warned to update project versions. It will give you an option of which versions to update with options like (0: All, 1: Project Dependencies, ....). 1 (Project Dependencies) is the default and is what you should the correct choice to select.

For any dependency it will may ask for:

  1. the release version, this should be set to the correct released version (i.e. no -SNAPSHOT). In most cases this This is the most current released version of that project, not the one you are currently releasing
  2. the next development version, this will normally be one minor version above the release version with -SNAPSHOT appended. (i.e. for release version 6.3.0, the development version is 6.4.0-SNAPSHOT)

...

Anchor
push rc to maintenance
push rc to maintenance
Push Release Branch to Maintenance

...

  1. Changing from SNAPSHOT version to release version. Something like [maven-release-plugin] prepare release $REPO-$CURR
  2. Changing from release version to next development version. Something like [maven-release-plugin] prepare for next development iteration

If this appears correct, you can push your release branch on to the maintenance branch.

...