Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EclipseSCADA/Release/Perform"
(→Commit and Tag) |
m (→Generate Qualifier) |
||
Line 48: | Line 48: | ||
bundles, features and repositories. | bundles, features and repositories. | ||
+ | releaseQualifier=M1 | ||
mvn org.eclipse.scada.releng:build-helper:0.0.12:generate-qualifier \ | mvn org.eclipse.scada.releng:build-helper:0.0.12:generate-qualifier \ | ||
-f org.eclipse.scada.releng/aggregator/pom.xml \ | -f org.eclipse.scada.releng/aggregator/pom.xml \ | ||
Line 55: | Line 56: | ||
-DnameProviderMap:eclipse-feature=timestamp \ | -DnameProviderMap:eclipse-feature=timestamp \ | ||
-DnameProviderMap:eclipse-test-plugin=timestamp \ | -DnameProviderMap:eclipse-test-plugin=timestamp \ | ||
− | -DnameProviderProperties:staticQualifier= | + | -DnameProviderProperties:staticQualifier=$releaseQualifier \ |
-DnameProviderProperties:timestampProvider=jgit | -DnameProviderProperties:timestampProvider=jgit | ||
Revision as of 13:44, 21 November 2013
Contents
Common stuff
All release builds are performed using the "aggregator" project.
Related pages:
Prepare new release branch
Create a new branch for each release cycle: e.g. 0.1.x-release
Changes on the master must be merged to the release branch during the release cycle. New features that should not be included in the release must go to separate feature branches. After the final release is performed they may be merged on the master.
If it turns out that merging on the release branch is to cumbersome we will make branches for every release tag in order to prevent merge issues.
Checkout
git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.external.git git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.utils.git git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.chart.git git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.protocols.git git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.base.git git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.core.git git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.hmi.git git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.ide.git git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.deploy.git git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.releng.git
branch=0.1.x-release git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.external.git -b "$branch" git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.utils.git -b "$branch" git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.chart.git -b "$branch" git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.protocols.git -b "$branch" git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.base.git -b "$branch" git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.core.git -b "$branch" git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.hmi.git -b "$branch" git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.ide.git -b "$branch" git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.deploy.git -b "$branch" git clone git://git.eclipse.org/gitroot/eclipsescada/org.eclipse.scada.releng.git -b "$branch"
Generate Qualifier
In order to be able to create proper maven release builds the -SNAPSHOT qualifier must be removed. This is done by the build helper "generate qualifier" mojo from the Eclipse SCADA releng repository. It uses the tycho jgit build timestamp provider to create timestamp based qualifiers and sets the qualifiers in all maven projects and synchs it back to bundles, features and repositories.
releaseQualifier=M1 mvn org.eclipse.scada.releng:build-helper:0.0.12:generate-qualifier \ -f org.eclipse.scada.releng/aggregator/pom.xml \ -Prpm \ -DdefaultNameProvider=static \ -DnameProviderMap:eclipse-plugin=timestamp \ -DnameProviderMap:eclipse-feature=timestamp \ -DnameProviderMap:eclipse-test-plugin=timestamp \ -DnameProviderProperties:staticQualifier=$releaseQualifier \ -DnameProviderProperties:timestampProvider=jgit
Commit and Tag
Commit the changed qualifiers to the branch and tag it.
release=0.1.0.M1 for i in `ls`; do pushd "$i" echo git commit -m "Generate version qualifiers for $release" echo git tag -a "$tag" -m "Tag release $release" popd done
Build the tag locally
mvn clean verify \ -f org.eclipse.scada.releng/aggregator/pom.xml \ -Prpm -Pdeb -Peclipse-hudson \ -Pmilestone '-P!nightly' '-P!integration' \ -Ddownload.root=/tmp/my-download-test \ -Declipse.download.root=http://download.eclipse.org
Push commit and tag
Push the commit and tag if the local build was successful.
Perform build
Perform the build on the Eclipse SCADA Hudson instance
mvn clean verify -Prpm -Pdeb -Peclipse-sign -Peclipse-hudson -Pmilestone '-P!integration'
Test
The usual…
Promote
To be written…