Skip to content

Developer Documentation

dotta edited this page Oct 22, 2012 · 9 revisions

If this is the first time you are cutting a release, please read the How to Build page first.

How to build a release

To build a release you need to change the version qualifier to v (a local build is tagged with local or nightly, if it's build by our Jenkins machine) and sign the plugin (if you have a certificate).

Additionally, for a major or a minor release you need to branch and tag. For a micro release (like 0.1.2), you only need to tag.

In all cases, you need to bump the version number for the branch off which you released (using the tycho-versions-plugin).

A micro release

  • check out the branch you want to build (release/0.1.x)
  • delete all locally-built artifacts in your .m2 repository (needed until we move to Tycho 0.16.0)
    rm -rf ~/.m2/repository/org/scala-ide/*

This ensures you are using the IDE bundles that are published in the remote repository, and not mixing with locally built ones.

  • build by using the right
    • profile
    • version tag
    • signing parameters:
mvn -P scala-ide-milestone-scala-2.9 \
    -Dversion.tag='v' \
    -Djarsigner.storepass=.. \
    -Djarsigner.keypass=.. \
    -Djarsigner.keystore=/absolute/path/to/typesafe-keystore/typesafe.keystore \
    clean package

NOTE: When we switch to Tycho 0.16.0 just add -DconsiderLocal=false to the build command, and skip the rm -rf step.

  • check the output in org.scalaide.worksheet.update-site/target/
    • it has the right version number
    • the jars are signed
  • Tag the release and git push --tags
  • bump the version number:
mvn -Dtycho.mode=maven org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=<version+1>-SNAPSHOT

This will increment all versions (in both pom and MANIFEST files) in sync.

  • git commit -m "Bumped version" and git push

A Minor or Major release

In addition to the steps for a micro release, you need to create a release branch. Assuming you branch from master, you will do (assuming release 0.2.0):

  • git checkout -b release/0.2.x
  • the normal build procedure from above
  • bump the version on both branches:
mvn -Dtycho.mode=maven org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.2.1-SNAPSHOT

AND back on master:

mvn -Dtycho.mode=maven org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.3.0-SNAPSHOT
  • don't forget to commit and push your changes on the two branches
Clone this wiki locally