-
Notifications
You must be signed in to change notification settings - Fork 0
Releasemanagement
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.
To create a new release follow these steps:
- Switch into the master branch
- Verify that your current development sources are up to date
- Remove existing snapshot dependencies.
- Run tests on the master branch. Run all the tests. If one or more fail, fix them first.
- Release the current snaptshot release (see below)
maven command:
mvn release:clean release:prepare -DautoVersionSubmodules=true -Dusername=GITHUB_USERID -Dpassword=GITHUB_PASSWORD
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.
Finally remove the maven release prepare and backup pom files and push the udpated pom.xml to 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