Skip to main content
Jump to: navigation, search

Difference between revisions of "Gemini/Blueprint/Releasing"

(Release Instructions)
(Release Instructions)
Line 7: Line 7:
 
For example, for 1.0.1.M01:
 
For example, for 1.0.1.M01:
  
Step 1:
+
Step 1 - update version, build, test:
 
# git checkout -b milestone-prep
 
# git checkout -b milestone-prep
 
# mvn versions:set -DnewVersion=1.0.1.M01
 
# mvn versions:set -DnewVersion=1.0.1.M01
 
# find . -name "*.versionsBackup" -exec rm {} \;
 
# find . -name "*.versionsBackup" -exec rm {} \;
# check Spring version properties in main pom.
+
# check Spring version properties in main pom.xml
# update changelog version/date
+
# update changelog and its version/date
 
# find . -name "boot-bundles.properties" and update ignore.gemini.blueprint.version to 1.0.1.M01
 
# find . -name "boot-bundles.properties" and update ignore.gemini.blueprint.version to 1.0.1.M01
 
# if blueprint schema needs to be changed:
 
# if blueprint schema needs to be changed:
Line 25: Line 25:
 
# reconnect network
 
# reconnect network
 
# switch back to Java 6 or later
 
# switch back to Java 6 or later
# <work in progress>
+
 
 +
Step 2 - generate release artifacts:
 +
<work in progress>
  
 
The following are old notes for Spring DM. Need to update them for Gemini Blueprint!
 
The following are old notes for Spring DM. Need to update them for Gemini Blueprint!
Line 31: Line 33:
 
Spring Dynamic Modules release procedure
 
Spring Dynamic Modules release procedure
 
-----
 
-----
Step 0:
 
# disable CI builds (trunk and NIGHTLY) // No need since CI builds do not interfere with local.
 
 
Step 1:
 
# switch to Java5
 
# change version from SNAPSHOT to stable inside poms // Done. mvn versions:set -DnewVersion=xxx then remove *.versionsBackup files
 
# check Spring version properties in main pom.
 
# update changelog version/date// Done.
 
# change test support boot bundles version in properties // Done.
 
# 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 .schema files (especially the aliases) // There are no .schema files
 
## update xml files in META-INF/spring which refer to the latest version of the eclipse-gemini-blueprint.xsd schema
 
# disconnect network (to ensure network is not needed to access the xsd schemas)
 
# make sure tests work with it // What test targets need to be run? Maven 2.0.x used in the past
 
# reconnect the network
 
  
 
Step 2: Generate release artifacts
 
Step 2: Generate release artifacts
Line 89: Line 74:
 
## to get the same binaries in the zip and in the repo
 
## to get the same binaries in the zip and in the repo
  
Step 3: Upload artifacts
+
Step 3 - upload artifacts:
# create zip for javadocs and docs
+
# upload ZIP to Eclipse
# log into www.springframework.org
+
# create zip for javadocs, docs, and *.txt
# go to static.spring/osgi/docs
+
# update online schemas at ???
# create XXX version
+
# unzip javadocs and docs
+
# update online schemas at static.spring/schema/osgi*
+
  
# put *.txt files in there
+
# tag git repository for the version
# verify links inside the docs
+
# increment project version to n.n.n.BUILD-SNAPSHOT and commit
  
# put zip with and without dependencies on SF (as hidden artifact)
+
# update the downloads page
# download publish zip (normally wait 1-3 minutes for it)
+
 
+
# make SVN tag for the version
+
# increment project version back to SNAPSHOT and commit
+
 
+
# update 'current' symlink to the new version
+
# add versioned schema on internet
+
 
+
# update the home page
+
 
# announce forums and mailing list
 
# announce forums and mailing list
 
# upload ZIP to Eclipse
 
C:\tools\putty>pscp.exe -scp -v e:\tmp\spring-osgi.dist\gemini\1.0.0.M1\gemini-blueprint-incubation-1.0.0.M1.zip <committerId>@download1.eclipse.org:downloads/blueprint/
 
  
 
[[Category:Gemini Blueprint|Blueprint]]
 
[[Category:Gemini Blueprint|Blueprint]]

Revision as of 06:11, 30 May 2012

Building Gemini Blueprint

Release Instructions

Pre-req's: Java 5 in addition to preferred Java version. Maven 2.0.x is known to work; 3.0.x may work.

For example, for 1.0.1.M01:

Step 1 - update version, build, test:

  1. git checkout -b milestone-prep
  2. mvn versions:set -DnewVersion=1.0.1.M01
  3. find . -name "*.versionsBackup" -exec rm {} \;
  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 .schema files (especially the aliases) // There are no .schema files
    4. update xml files in META-INF/spring which refer to the latest version of the eclipse-gemini-blueprint.xsd schema
  8. switch to Java 5
  9. disconnect network
  10. Build and test using:
    1. mvn clean install -Pit,equinox
  11. reconnect network
  12. switch back to Java 6 or later

Step 2 - generate release artifacts: <work in progress>

The following are old notes for Spring DM. Need to update them for Gemini Blueprint!

Spring Dynamic Modules release procedure


Step 2: Generate release artifacts

  1. generate javadocs (connected to internet) - mvn javadoc:javadoc javadoc:jar
  2. add sources - mvn source:jar (outputDirectory doesn't work)
  3. add libs - mvn dependency:copy-dependencies -DoutputDirectory=../target/libs -P equinox,samples
    1. this allows duplicates to be removed
    2. assemble plugin will pick this location and include in the distributed artifacts
  4. switch to java 6
  5. generate documentation - cd docs; mvn clean pre-site (used to be docbkx:generate-html docbkx:generate-pdf)
  6. switch back to java 5

Public (NOT RC, Mx) releases: change distributionManagement to maven.springframework.org/release

mvn -P equinox -Dmaven.test.skip=true deploy -DperformRelease

 -DaltDeploymentRepository=local::default::file:/d:/work/study/osgi/repo during the deploy command.
              <maven-sync-root></maven-sync-root> is a checkout of https://springframework.svn.sourceforge.net/svnroot/springframework/repos/repo

Milestone releases: mvn -P equinox -Dmaven.test.skip=true deploy -DperformRelease

 -DaltDeploymentRepository=local::default::file:/e:/tmp/spring-osgi.dist/[version]/repo during the deploy command.
  1. run release project - cd release; rm -rf target; mvn -o -P equinox package -Dmaven.test.skip=true
    1. add cglib (2.2.0)
    2. add jetty/tomcat activator sources+jars
  2. check version and format on both javadocs & docs
  3. update maven archetype
  4. update readme.txt/readme-libraries.txt
  5. final search for XXX-SNAPSHOT to see whether it is referred to somewhere
  1. the assembly already created the artifacts under release/target. You just need to add the sources under src/ folder.
  2. add Incubator in the name
  3. commit sources with stable revisions
  4. do SVN export to provide the sources (should find a better way) and add them to the with-dependencies archive. Check what modules should be excluded (docs/release/lib) - archive the sources into a zip (since building causes leftovers)
  5. delete local maven repo
  6. try to build the project from the sources
  7. if everything works out okay, put the sources in the archive,make tag and increase version to 1.1.X-SNAPSHOT tag
  1. run the mvn deploy target above but this time w/o the altDeploymentRepository (for milestones)
    1. to get the same binaries in the zip and in the repo

Step 3 - upload artifacts:

  1. upload ZIP to Eclipse
  2. create zip for javadocs, docs, and *.txt
  3. update online schemas at ???
  1. tag git repository for the version
  2. increment project version to n.n.n.BUILD-SNAPSHOT and commit
  1. update the downloads page
  2. announce forums and mailing list

Copyright © Eclipse Foundation, Inc. All Rights Reserved.