Skip to content

Releasing

Stefan Kapferer edited this page Oct 5, 2019 · 8 revisions

Creating a ContextMapper DSL Release

The following instructions describe how the ContextMapper DSL Eclipse Plugin is released.

Preparation

If the current SNAPSHOT version is not the version you want to release, you have to bump the version first. The version can be bumped with the following two commands:

  • ./mvnw versions:set -DgenerateBackupPoms=false -DnewVersion=1.0.0-SNAPSHOT (if you want to bump to 1.0.0 for example)
  • ./mvnw org.eclipse.tycho:tycho-versions-plugin:1.2.0:update-eclipse-metadata

The first command changes the pom.xml files and the second one the eclipse plugins feature.xml and all MANIFEST.MF files. Commit and push these files if the build runs successfully with the changes before you start the release (do not commit the version backup files).

Triggering the release

Note that the release is (and must) always be executed on Travis. Do not execute the release locally. However, the release is still triggered with a local script.

Prerequisites:

  • gem install travis
  • travis login --com

Once you are locally logged in (Travis), you can trigger the release with the following steps:

  • cd .travis (this is important, always execute the script within the folder, not by ./.travis/releaseTrigger.sh)
  • ./releaseTrigger.sh

The release process should now be performed automatically on Travis by the following steps:

  • Release is getting prepared: Within this first step, Travis will change the pom.xml and MANIFEST.MF files and then commit these changes. It further creates the release tag.
  • The release tag will trigger a new Travis job which actually builds and deploys the release.
  • A commit for the new SNAPSHOT version is made (changing the pom.xml and MANIFEST.MF files).

Maven Central Staging (manual step!)

The Gradle build will push the standalone library artifacts to the OSSRH release staging repository (https://oss.sonatype.org/service/local/staging/deploy/maven2/). Releasing the library to the maven central repository (https://repo1.maven.org/maven2/) must be triggered manually:

Checks

After the Travis jobs have finished, check if it was successful: