Skip to content
Ralph Soika edited this page Apr 16, 2018 · 7 revisions

All releases of components and applications from this project are build with the configuration and build framework Maven.

During development we work with snapshot staging concept from maven like in the Imixs Workflow main project. There for we use the mvn release command to release a new version.

mvn release:prepare 

The current development release is located in the master branch. If a version is stable or used in a productive environment we create a release from the latest development version. A new release will be tagged in the code repository. For details about the maven release process see imixs releasmanagement

Note: A new release may not contain any snapshot dependencies from imixs-workflow components! Patches of an already release version are managed in a release branch with the major and minor version number.

Create a release manually

To create a new release follow these steps:

  1. Switch into the master branch
  2. Verify that your current development sources are up to date
  3. Remove existing snapshot dependencies.
  4. Run tests on the master branch. Run all the tests. If one or more fail, fix them first.
  5. Release the current snaptshot release (see below)

1. Prepare new Relase

maven command:

mvn release:clean release:prepare -DautoVersionSubmodules=true -Dusername=GITHUB_USERID -Dpassword=GITHUB_PASSWORD

2. In Case of a failure

If a problem occurs changes on the pom.xml files were already be comited into your local repository. To undo this commit triggered by maven you can use the following git command

mvn release:rollback
git reset --hard HEAD~1

Verify your local git workspace. It could happen that maven also had added some version files which mybe should be removed manually.

3. Clean Up Backup pom files

Finally remove the maven release prepare and backup pom files and push the udpated pom.xml to GitHub

4.Deploy Artifacts on GitHub

The GitHub repo 'imixs-mvn-repo' provides a maven repository holding the releases for the marty project. To deploy martry into the GitHub repo switch to the latest tag version and call the maven command:

mvn clean deploy