Jump to: navigation, search

Gemini/Blueprint/Releasing

Releasing Gemini Blueprint 2.x

Pre-req's: JDK 1.7. Maven 3.0.x.

Step 1 - update version

  1. Switch to release branch, e.g. release-2.0.1
  2. update changelog and its version/date
  3. if blueprint schema needs to be changed:
    1. add the file gemini-blueprint-<version>.xsd to core/src/main/resources/org/eclipse/gemini/blueprint/config
    2. update the version attribute of the xsd:schema element of the above file
    3. update core/src/resources/main/resources/META-INF/schema (especially the aliases)
    4. update xml files in META-INF/spring which refer to the latest version of the eclipse-gemini-blueprint.xsd schema
  4. branch the git repo
  5. mvn versions:set -DnewVersion=2.0.1.M1
  6. find . -name "*.versionsBackup" -exec rm {} \;
  7. manually edit version in release/pom.xml docs/pom.xml integration-tests/bundles/embedded.ns.bundle/pom.xml and test-support/dependency-reduced-pom.xml
  8. check Spring version properties in main pom.xml: cat pom.xml | grep spring.*version
  9. find . -name "boot-bundles.properties" and update ignore.gemini.blueprint.version to 2.0.0.M01: e.g. find . -name "boot-bundles.properties" | grep -v target | xargs subl

Step 2 - build and test

  1. Build and test using:
    1. mvn clean install -Pit,felix
    2. mvn clean install -Pit,knopflerfish
    3. mvn clean install -Pit,equinox

Step 3 - stage release

  1. commit and push the changes to the release branch
  2. go to https://hudson.eclipse.org/gemini/view/blueprint/job/gemini-blueprint-stage-release/ and run the build, this will also run all integration tests for all environments. After a successful build, the release artifacts are located in a _stagin repository_ in maven central. This gives you the opportunity to take a look at the very artifacts that make up the release prior to releasing them. You can find the staging repo via a search in the sonatype oss nexus (https://oss.sonatype.org/).

Step 4 - publish the release (or drop it)

If you are satisfied with the staged artifacts, copy the staging repo id (e.g., "orgeclipsegemini-1001" in /service/local/repositories/orgeclipsegemini-1001/content/). Provide this as a parameter to the Gemini Blueprint Release job (https://hudson.eclipse.org/gemini/view/blueprint/job/gemini-blueprint-release/). This will irrevocably release the artifacts to maven central.