How to release openHAB - jit06/openhab GitHub Wiki
Follow these steps if you want to release a new version of openHAB. Later we plan to leverage the Maven Release Plugin to facilitate these steps.
-
Pull the latest state from the repository into a fresh and empty directory
git clone [email protected]:openhab/openhab.git -
Open a command-line and go to the
openhabdirectory -
Set project version to release version with the Tycho Versions plugin
export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=1024m"; mvn -P prepare-release initialize -DnewVersion=1.x.0 -
Manually change
./products/org.openhab.runtime.product/category.xmlfile. Replace1.x.0.qualifierby1.x.0 -
Manually change
./products/org.openhab.designer.product/category.xmlfile. Replace1.x.0.qualifierby1.x.0 -
Manually change version in
.//bundles/archetype/org.openhab.archetype.binding/pom.xmlfile. -
Manually change version in
.//bundles/archetype/org.openhab.archetype.action/pom.xmlfile. -
Execute a Maven build
mvn -P deploy clean deploy -Drepo.id=cloudbees-public-release-repo -Drepo.url=dav:https://repository-openhab.forge.cloudbees.com/release/1.x.0 -Dp2.repo.dir=p2 -Dapt.repo.dir=apt-repo -
Install and extensively test the created binaries
-
Commit the changed files
git commit -a -m "prepare for 1.x.0 release" -
Create a release tag with pattern
v<version>git tag v1.x.0 -
Increment to next development version
mvn -P prepare-next-snapshot initialize -DnewVersion=1.y.0.qualifier -
Manually change
./products/org.openhab.runtime.product/category.xmlfile. Replace1.y.0by1.y.0.qualifier -
Manually change
./products/org.openhab.designer.product/category.xmlfile. Replace1.y.0by1.y.0.qualifier -
Manually change version in
.//bundles/archetype/org.openhab.archetype.binding/pom.xmlfile. -
Manually change version in
.//bundles/archetype/org.openhab.archetype.action/pom.xmlfile. -
Execute a Maven build with goals clean verify to assure that everything builds
mvn clean verify -
Commit the changes
git commit -a -m "increment to next development version 1.y.0" -
Push the changes including the tag to the server
git push origin master --tags -
Switch to the root directoy of openHAB
to be continued …