Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "EclipseSCADA/Release/Perform"

m (Build the tag locally)
m
Line 96: Line 96:
  
 
  mvn clean verify \
 
  mvn clean verify \
 +
  -f org.eclipse.scada.releng/aggregator/pom.xml \
 
   -Prpm -Pdeb -Peclipse-hudson \
 
   -Prpm -Pdeb -Peclipse-hudson \
 
   -Pmilestone '-P!nightly' '-P!integration' \
 
   -Pmilestone '-P!nightly' '-P!integration' \

Revision as of 13:36, 21 November 2013

Note.png
This page is work in progress


Common stuff

All release builds are performed using the "aggregator" project.

Related pages:

Maven Settings

Note.png
This might be solved
Using -s from the command line and checking in the settings.xml file


In order to let maven find the build helper plugin from the command line, you will need to add the Eclipse SCADA repository to your settings file.

(If somebody knows a better way, please tell us)

Add the following profile to your "~/.m2/settings.xml":

  <profile>
     <id>eclipse.scada</id>

     <activation>
        <activeByDefault>false</activeByDefault>
     </activation>

     <pluginRepositories>
       	<pluginRepository>
       	   <id>eclipse.scada</id>
           <name>Eclipse SCADA Repository</name>
           <url>
              https://repo.eclipse.org/content/groups/eclipsescada/
           </url>
           <releases>
              <enabled>true</enabled>
           </releases>
        </pluginRepository>
     </pluginRepositories>
  </profile>

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.

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=M1 \
  -DnameProviderProperties:timestampProvider=jgit

Commit and Tag

Commit the changed qualifiers to the branch and tag it.

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…

Back to the top