Skip to main content
Jump to: navigation, search

Difference between revisions of "Gemini/Blueprint/Releasing"

(Release Instructions for 2.0.x)
(Release Instructions for 2.0.x)
Line 1: Line 1:
 
== Building Gemini Blueprint ==
 
== Building Gemini Blueprint ==
  
== Release Instructions for 2.0.x ==
+
== Release Instructions for 2.0.x ==
  
Pre-req's: Java 6. Maven 3.0.3.
+
Pre-req's: Java 6. Maven 3.0.3.  
  
For example, for 2.0.0.M01:
+
For example, for 2.0.0.M01:  
  
Step 1 - update version:
+
Step 1 - update version:  
# mvn versions:set -DnewVersion=2.0.0.M01
+
# find . -name "*.versionsBackup" -exec rm {} \;
+
# manually edit version in release/pom.xml, docs/pom.xml, and integration-tests/bundles/embedded.ns.bundle/pom.xml
+
# check Spring version properties in main pom.xml
+
# update changelog and its version/date
+
# find . -name "boot-bundles.properties" and update ignore.gemini.blueprint.version to 2.0.0.M01
+
# if blueprint schema needs to be changed:
+
## add the file gemini-blueprint-<version>.xsd to core/src/main/resources/org/eclipse/gemini/blueprint/config
+
## update the version attribute of the xsd:schema element of the above file
+
## update core/src/resources/main/resources/META-INF/schema (especially the aliases)
+
## update xml files in META-INF/spring which refer to the latest version of the eclipse-gemini-blueprint.xsd schema
+
  
Step 2 - build and test:
+
#mvn versions:set -DnewVersion=2.0.0.M01
# Build and test using:
+
#find . -name "*.versionsBackup" -exec rm {} \;
## mvn clean install -Pit,felix
+
#manually edit version in release/pom.xml, docs/pom.xml, and integration-tests/bundles/embedded.ns.bundle/pom.xml
## mvn clean install -Pit,knopflerfish
+
#check Spring version properties in main pom.xml
## mvn clean install -Pit,equinox
+
#update changelog and its version/date
 +
#find . -name "boot-bundles.properties" and update ignore.gemini.blueprint.version to 2.0.0.M01
 +
#if blueprint schema needs to be changed:  
 +
##add the file gemini-blueprint-&lt;version&gt;.xsd to core/src/main/resources/org/eclipse/gemini/blueprint/config
 +
##update the version attribute of the xsd:schema element of the above file
 +
##update core/src/resources/main/resources/META-INF/schema (especially the aliases)
 +
##update xml files in META-INF/spring which refer to the latest version of the eclipse-gemini-blueprint.xsd schema
  
Step 3 - generate release artifacts, tag, increment version:
+
Step 2 - build and test:  
# generate javadocs - mvn javadoc:aggregate javadoc:jar - aggregated javadoc in target/site/apidocs/
+
# collect sources into JARs - mvn source:jar (outputDirectory doesn't work)
+
# generate documentation - cd docs; mvn clean pre-site; cd .. (used to be docbkx:generate-html docbkx:generate-pdf) // output in docs/target/site/
+
# generate Maven repo (when the Gemini maven repo is open for business):
+
## For full releases (not milestone or RC) may be necessary to change distributionManagement repository to point at release repository
+
## mvn -Pequinox -Dmaven.test.skip=true deploy -DperformRelease -DaltDeploymentRepository=local::default::file:/tmp/gemini-blueprint/2.0.0.M01/repo
+
# run release project - cd release; rm -rf target; mvn -P equinox package -Dmaven.test.skip=true; cd ..
+
# commit the changes
+
# tag the git repo
+
# push the changes and the tag
+
# set version to 2.0.0.BUILD-SNAPSHOT
+
## mvn versions:set -DnewVersion=2.0.0.BUILD-SNAPSHOT
+
## find . -name "*.versionsBackup" -exec rm {} \;
+
## manually edit version in release/pom.xml, docs/pom.xml, and integration-tests/bundles/embedded.ns.bundle/pom.xml
+
## find . -name "boot-bundles.properties" and update ignore.gemini.blueprint.version to 2.0.0.BUILD-SNAPSHOT
+
# commit and push the changes
+
  
Step 4 - publish:
+
#Build and test using:
# upload ZIP to Eclipse
+
##mvn clean install -Pit,felix
# Zip/upload/unzip the Maven repository
+
##mvn clean install -Pit,knopflerfish
# update the downloads page
+
##mvn clean install -Pit,equinox
# store the documentation in the Gemini Blueprint web site
+
 
# update the documentation page
+
Step 3 - generate release artifacts, tag, increment version:
# announce on the forum and mailing list
+
 
 +
#generate javadocs - mvn javadoc:aggregate javadoc:jar - aggregated javadoc in target/site/apidocs/
 +
#collect sources into JARs - mvn source:jar (outputDirectory doesn't work)
 +
#generate documentation - cd docs; mvn clean pre-site; cd .. (used to be docbkx:generate-html docbkx:generate-pdf) // output in docs/target/site/
 +
#generate Maven repo (when the Gemini maven repo is open for business):
 +
##For full releases (not milestone or RC) may be necessary to change distributionManagement repository to point at release repository
 +
##mvn -Pequinox -Dmaven.test.skip=true deploy -DperformRelease -DaltDeploymentRepository=local::default::file:/tmp/gemini-blueprint/2.0.0.M01/repo
 +
#run release project - cd release; rm -rf target; mvn -P equinox package -Dmaven.test.skip=true; cd ..
 +
#commit the changes
 +
#tag the git repo
 +
#push the changes and the tag
 +
#set version to 2.0.0.BUILD-SNAPSHOT
 +
##mvn versions:set -DnewVersion=2.0.0.BUILD-SNAPSHOT
 +
##find . -name "*.versionsBackup" -exec rm {} \;
 +
##manually edit version in release/pom.xml, docs/pom.xml, and integration-tests/bundles/embedded.ns.bundle/pom.xml
 +
##find . -name "boot-bundles.properties" and update ignore.gemini.blueprint.version to 2.0.0.BUILD-SNAPSHOT
 +
#commit and push the changes
 +
 
 +
Step 4 - publish:  
 +
 
 +
#upload ZIP to Eclipse  
 +
#Zip/upload/unzip the Maven repository - see [http://wiki.eclipse.org/Gemini/mvn Gemini Maven Repository]
 +
#update the downloads page  
 +
#store the documentation in the Gemini Blueprint web site  
 +
#update the documentation page  
 +
#announce on the forum and mailing list
  
 
== Release Instructions for 1.0.x ==
 
== Release Instructions for 1.0.x ==

Revision as of 07:41, 12 February 2013

Building Gemini Blueprint

Release Instructions for 2.0.x

Pre-req's: Java 6. Maven 3.0.3.

For example, for 2.0.0.M01:

Step 1 - update version:

  1. mvn versions:set -DnewVersion=2.0.0.M01
  2. find . -name "*.versionsBackup" -exec rm {} \;
  3. manually edit version in release/pom.xml, docs/pom.xml, and integration-tests/bundles/embedded.ns.bundle/pom.xml
  4. check Spring version properties in main pom.xml
  5. update changelog and its version/date
  6. find . -name "boot-bundles.properties" and update ignore.gemini.blueprint.version to 2.0.0.M01
  7. 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

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 - generate release artifacts, tag, increment version:

  1. generate javadocs - mvn javadoc:aggregate javadoc:jar - aggregated javadoc in target/site/apidocs/
  2. collect sources into JARs - mvn source:jar (outputDirectory doesn't work)
  3. generate documentation - cd docs; mvn clean pre-site; cd .. (used to be docbkx:generate-html docbkx:generate-pdf) // output in docs/target/site/
  4. generate Maven repo (when the Gemini maven repo is open for business):
    1. For full releases (not milestone or RC) may be necessary to change distributionManagement repository to point at release repository
    2. mvn -Pequinox -Dmaven.test.skip=true deploy -DperformRelease -DaltDeploymentRepository=local::default::file:/tmp/gemini-blueprint/2.0.0.M01/repo
  5. run release project - cd release; rm -rf target; mvn -P equinox package -Dmaven.test.skip=true; cd ..
  6. commit the changes
  7. tag the git repo
  8. push the changes and the tag
  9. set version to 2.0.0.BUILD-SNAPSHOT
    1. mvn versions:set -DnewVersion=2.0.0.BUILD-SNAPSHOT
    2. find . -name "*.versionsBackup" -exec rm {} \;
    3. manually edit version in release/pom.xml, docs/pom.xml, and integration-tests/bundles/embedded.ns.bundle/pom.xml
    4. find . -name "boot-bundles.properties" and update ignore.gemini.blueprint.version to 2.0.0.BUILD-SNAPSHOT
  10. commit and push the changes

Step 4 - publish:

  1. upload ZIP to Eclipse
  2. Zip/upload/unzip the Maven repository - see Gemini Maven Repository
  3. update the downloads page
  4. store the documentation in the Gemini Blueprint web site
  5. update the documentation page
  6. announce on the forum and mailing list

Release Instructions for 1.0.x

Pre-req's: Java 5 in addition to preferred Java version. Maven 2.0.x has worked in the past; now using 3.0.3.

For example, for 1.0.1.M01:

Step 1 - update version:

  1. mvn versions:set -DnewVersion=1.0.1.M01
  2. find . -name "*.versionsBackup" -exec rm {} \;
  3. manually edit version in release/pom.xml, docs/pom.xml, and integration-tests/bundles/embedded.ns.bundle/pom.xml
  4. check Spring version properties in main pom.xml
  5. update changelog and its version/date
  6. find . -name "boot-bundles.properties" and update ignore.gemini.blueprint.version to 1.0.1.M01
  7. 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

Step 2 - build and test:

  1. switch to Java 5 (see http://www.s-seven.net/java_15_mountain_lion if you are on a Mac)
  2. Build and test using:
    1. mvn clean install -Pit,felix
    2. mvn clean install -Pit,knopflerfish // a few integration tests currently fail, but this could be KF setup problem
    3. mvn clean install -Pit,equinox
  3. switch back to Java 6 or later

Step 3 - generate release artifacts, tag, increment version:

  1. generate javadocs - mvn javadoc:aggregate javadoc:jar - aggregated javadoc in target/site/apidocs/
  2. collect sources into JARs - mvn source:jar (outputDirectory doesn't work)
  3. generate documentation - cd docs; mvn clean pre-site; cd .. (used to be docbkx:generate-html docbkx:generate-pdf) // output in docs/target/site/
  4. switch to Java 5
  5. generate Maven repo (when the Gemini maven repo is open for business):
    1. For full releases (not milestone or RC) may be necessary to change distributionManagement repository to point at release repository
    2. mvn -Pequinox -Dmaven.test.skip=true deploy -DperformRelease -DaltDeploymentRepository=local::default::file:/tmp/gemini-blueprint/1.0.1.M01/repo
  6. run release project - cd release; rm -rf target; mvn -P equinox package -Dmaven.test.skip=true; cd ..
  7. switch back to Java 6 or later
  8. commit the changes
  9. tag the git repo
  10. push the changes and tag
  11. increase version to 1.0.1.BUILD-SNAPSHOT
    1. mvn versions:set -DnewVersion=1.0.1.BUILD-SNAPSHOT
    2. find . -name "*.versionsBackup" -exec rm {} \;
    3. manually edit version in release/pom.xml, docs/pom.xml, and integration-tests/bundles/embedded.ns.bundle/pom.xml
    4. find . -name "boot-bundles.properties" and update ignore.gemini.blueprint.version to 1.0.1.BUILD-SNAPSHOT

Step 4 - publish:

  1. upload ZIP to Eclipse
  2. update the downloads page
  3. store the documentation in the Gemini Blueprint web site
  4. update the documentation page
  5. announce on the forum and mailing list

Copyright © Eclipse Foundation, Inc. All Rights Reserved.