Skip to content

How to build a release

Iulian Dragos edited this page May 3, 2013 · 4 revisions

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)
  • run the set-versions profile, i.e.,
mvn -Dtycho.localArtifacts=ignore -Pset-versions -Peclipse-indigo,scala-ide-stable,scala-2.10.x -Dtycho.style=maven --non-recursive exec:java

This step is needed for correct integration with the Scala IDE ecosystem. By running this, the project's MANIFEST is updated and a strict version is set on the org.scala-ide.sdt.core bundle.

  • build by using the right
    • profile
    • version tag
    • signing parameters:
mvn -Dtycho.localArtifacts=ignore \
    -P scala-ide-stable \
    -P eclipse-indigo \
    -P scala-2.10.x \
    -Dversion.tag='v' \
    -Djarsigner.storepass=.. \
    -Djarsigner.keypass=.. \
    -Djarsigner.keystore=/absolute/path/to/typesafe-keystore/typesafe.keystore \
    clean package
  • check the output in org.scalaide.play2.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