Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Gemini/Blueprint/Releasing"

(Release Instructions)
(Release Instructions)
Line 21: Line 21:
 
# Build and test using:
 
# Build and test using:
 
## mvn clean install -Pit,felix
 
## mvn clean install -Pit,felix
## mvn clean install -Pit,knopflerfish // a few tests currently fail
+
## mvn clean install -Pit,knopflerfish // a few integration tests currently fail, but this could be KF setup problem
 
## mvn clean install -Pit,equinox
 
## mvn clean install -Pit,equinox
 
# switch back to Java 6 or later
 
# switch back to Java 6 or later

Revision as of 06:10, 31 May 2012

Building Gemini Blueprint

Release Instructions

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, build, test:

  1. mvn versions:set -DnewVersion=1.0.1.M01
  2. find . -name "*.versionsBackup" -exec rm {} \;
  3. check Spring version properties in main pom.xml
  4. update changelog and its version/date
  5. find . -name "boot-bundles.properties" and update ignore.gemini.blueprint.version to 1.0.1.M01
  6. 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
  7. switch to Java 5
  8. 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
  9. switch back to Java 6 or later

Step 2 - generate release artifacts:

  1. generate javadocs - mvn javadoc:aggregate javadoc:jar
  2. collect sources into JARs - mvn source:jar (outputDirectory doesn't work)
  3. generate documentation - cd docs; mvn clean pre-site (used to be docbkx:generate-html docbkx:generate-pdf) // output in docs/target/site/
  4. generate Maven repo:
    1. mvn -P equinox -Dmaven.test.skip=true deploy -DperformRelease -DaltDeploymentRepository=local::default::file:/tmp/gemini-blueprint/1.0.1.M01/repo

<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 // the html files are scattered across the projects. Hopefully mvn javadoc:aggregate will combine them?
  2. collect sources into JARs - mvn source:jar (outputDirectory doesn't work)
  3. add libs - mvn dependency:copy-dependencies -DoutputDirectory=../target/libs -P equinox,samples // Presumably no longer necessary?
    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) // output in docs/target/site/
  6. switch back to java 5

Public (NOT RC, Mx) releases: change distributionManagement repository to point at release repository

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 // Where is release directory?
    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 // Which step created the ZIP?

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.