Skip to main content
Jump to: navigation, search

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
  • 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

Back to the top