Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Wazaabi/Delivery
Concepts
- Wazaabi is a constantly evolving project.
- Public releases with new features occur every month around 12th.
- In case major or critical bugs, Wazaabi can be released on demand basis at any time. In this case only the bug fixes based on previous monthly release are included (no new features).
- Every public release is built from master branch and have a unique version.
Versioning
Wazaabi version format is major.minor.service.timestamp
- major is 0 as long as Wazaabi is in incubation.
- minor is increased by one every time there is a break in interface*.
- service is increased by one every public release (returns back to 0 when minor increases).
- timestamp is set automatically by build tools.
*By a break of interface we consider
- Following changes in Java code in exported packages
- changes in signatures of public and protected members in public classes
- removal of public and protected members in public classes
- removal of public classes
- EMF models
- changes of existing properties
- removal of properties
Process
Monthly release
- Merge develop branch to master
git fetch origin git checkout develop git merge origin/develop git checkout master git merge origin/master git merge develop
- Create a tag on master branch v<major>_<minor>_<service> (e.g. v0_6_0)
git tag -a "v0.X.Y" -m "RELEASE 0.X.Y"
- Push master branch and the tag back to origin
git push origin v0.X.Y git push origin master
- Update change log with list of new features.
- In develop branch, increase service version of all plugins.
git fetch origin develop git checkout develop git merge origin/develop cd org.eclipse.wazaabi/releng/org.eclipse.wazaabi.build mvn -Dtycho.mode=maven org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.X.Y-SNAPSHOT cd org.eclipse.wazaabi git add . git commit -m "new version 0.X.Y-SNAPSHOT" git push origin develop
Bug fix release
- Do NOT merge to master any new stuff except the bug fix.
- Create a tag on master branch v<major>_<minor>_<service> (e.g. v0_6_1).
- Merge immediately to develop branch the bug fix.
- In develop branch, increase service version of all plugins.
- Update change log with fixed bugs.
update version of all plugins in develop in case of break of interface [TODO : define a explicitely break of interface]
update version from v0.X.Y to v0.X+1.0, for instance if version was 0.6.5, the version becomes 0.7.0
otherwise
update version from 0.X.Y to v0.X.Y+1, for instance if version was 0.6.5 it becomse 0.6.6