Skip to main content
Jump to: navigation, search

Mylyn/Release Howto

< Mylyn
Revision as of 16:03, 21 March 2012 by (Talk | contribs) (Tag Sources)

Before the Release

Prepare Build Environment

  • once Checkout releng on
git clone /gitroot/mylyn/org.eclipse.mylyn.git
  • once Make sure your have Java 5.0 or later in your path. Settings for $HOME/.bashrc on
export JAVA_HOME=/opt/public/common/jdk-1.6.x86_64
export ECLIPSE_HOME=~/.m2/repository/org/eclipse/tycho/tycho-p2-runtime/0.12.0/eclipse
  • once Run Maven on to download runtime
cd org.eclipse.mylyn
mvn package
  • once Create symlinks for convenience
ln -s /home/data/httpd/ ~/archive
ln -s org.eclipse.mylyn/org.eclipse.mylyn.releng ~/releng

Create a Branch

  • major release Branch integration repository
git clone ssh:// src-3_6_x
cd src-3_6_x
git checkout -b 3_7_m_3_6_x
git submodule init
git submodule update
  • major release Branch each sub-project
git submodule foreach git checkout -b 3_7_m_3_6_x master
  • major release Request mylyn-3.6.x-release job on Hudson cloning an existing release job

Prepare Source Code

Internationalize Messages

  • Run Source > Find Broken Externalized Strings over all bundles
  • Run Source > Externalize Strings over all bundles

Update User Guide from the Wiki

  • Run as an Ant Build (ensure WikiText is checked out into your workspace)
  • Review the user guide and commit changes

Update Copyright Notices

  • Update the year in the about.ini to the current year
  • Update the year in all feature.xml files to the current year for changed features
  • Update the year in copyright notices of changed source files: Install platform releng tools, Project context menu > Fix Copyrights

Backport changes to the Platform Specific Branches

  • Merge changes from master in each branched module
git merge master

Update Integration Repository

  • Update integration repository to point to latest sub-project revisions
cd src-3_6_x

Run Tests

The Release

Update Target

  • Update target files in org.eclipse.mylyn/org.eclipse.mylyn-target to point to release sites of dependencies to ensure builds are reproducible in the future

Tag Sources

  • Tag the release as R_x_y_z (and R_x_y_z_e_3_3 if plug-ins are branched)
./ git tag R_3_6_3
  • Tag sub-projects with their respective versions as vx.y.z (e.g. v0.8.1):
  • Push tags
git submodule foreach git push --tags


mvn -Prelease -DforceContextQualifier=v20110304-0100 -Ppublish -Pindigo -Dexplicit-target -Dmaven.test.skip=true -Dtycho-version=0.12.0 -Dsign-dir=tools/mylyn/hudson/release clean install
  • Snapshot build (manually):
mvn -Psnapshot -Ppublish -Pindigo -Dexplicit-target -Dmaven.test.skip=true -Dtycho-version=0.12.0 -Dsign-dir=tools/mylyn/hudson/snapshot clean install

Verify Update Site Contents

  • Check that only approved features are on the update site
  • Check that all Orbit bundles are tracked in approved CQs

Test Install

Prepare Download Area

  • Log into
  • Remove Old Integration Builds
rm -rf ~/downloads/mylyn/drops/3.6.0/I*
  • Copy Release to
cp -a ~/downloads/mylyn/drops/3.6.0 /home/data/httpd/
  • Run script to add mirror URLs
cd ~/downloads/mylyn/drops/3.6.0/
  • Check that the content.jar contains the following property:
<property name="p2.mirrorsURL" value=""/>

Update Release Repository Content

  • Log into
  • Update filters in ~/downloads/mylyn/releases/*/composite.index
  • Update release composite sites
cd ~/downloads/mylyn/releases/
~/releng/bin/ -r

Create API Baseline

  • major releases Create an API baseline zip
 ~/releng/bin/ 3.6.0 v20110608-1400

Update Website

  • Update the version number on download page
  • Create a new section on download archive page
  • Create a new section in the New & Noteworthy
  • major releases Add a link to the new API baseline on the download archive page and update the developer page
  • major releases Archive project plan in mylyn/docs

Update Babel

  • Make release available in Eclipse Babel for translation (major releases only)

Announce Release


  • Edit /mylyn/notification.xml in website CVS

Update Eclipse Info Center

Update Marketplace Listings

After the Release

Update Versions

  • Edit versions in org.eclipse.mylyn/org.eclipse.mylyn.releng/bin/
  • Set versions of org.eclipse.mylyn.commons/org.eclipse.mylyn to the next release version
  • Update version in CoreUtil.FRAMEWORK_VERSION

Update Repository URL

  • major release Edit URL in org.eclipse.mylyn-feature/feature.xml

Create Download Area

  • Create download directory
mkdir ~/downloads/mylyn/drops/3.7.0/
setfacl -m user:hudsonBuild:rwx ~/downloads/mylyn/drops/3.7.0/
setfacl -R -x user:hudsonBuild ~/downloads/mylyn/drops/3.6.0/
  • major release Create snapshot site
cp -a ~/downloads/mylyn/snapshots/3.6 ~/downloads/mylyn/snapshots/3.7
  • major release Update composite site indices
emacs ~/downloads/mylyn/snapshots/*/composite.index
  • Update snapshot sites
cd ~/downloads/mylyn/snapshots/
~/releng/bin/ -r
  • major release Create Incubator download directory
mkdir ~/downloads/mylyn/incubator/drops/3.7.0
setfacl -m user:hudsonBuild:rwx ~/downloads/mylyn/incubator/drops/3.7.0/
setfacl -R -x user:hudsonBuild ~/downloads/mylyn/incubator/drops/3.6.0/
  • major release Create Incubator site
cp -a ~/downloads/mylyn/incubator/3.6 cp -a ~/downloads/mylyn/incubator/3.7
emacs ~/downloads/mylyn/incubator/3.7/composite.index
  • Update composite site
cd ~/downloads/mylyn/incubator
~/releng/bin/ -r

Add Bugzilla Versions and Milestones

  • Add Bugzilla Milestones for the next release
  • major release Add Bugzilla Version for the current release

Update Project Plan

  • major release Update versions and queries in all plan.xml documents
  • major release Update release plans in portal

Back to the top