Difference between revisions of "Gemini/Blueprint/Releasing"
(→Release Instructions) |
(→Release Instructions) |
||
Line 27: | Line 27: | ||
Step 2 - generate release artifacts: | Step 2 - generate release artifacts: | ||
+ | # generate javadocs (connected to internet) - mvn javadoc:javadoc javadoc:jar // the html files are scattered across the projects. How to combine them? | ||
+ | # collect sources into JARs - mvn source:jar (outputDirectory doesn't work) | ||
+ | # generate documentation - cd docs; mvn clean pre-site (used to be docbkx:generate-html docbkx:generate-pdf) // output in docs/target/site/ | ||
+ | # generate Maven repo: | ||
+ | ## mvn -P equinox -Dmaven.test.skip=true deploy -DperformRelease -DaltDeploymentRepository=local::default::file:/tmp/gemini-blueprint/1.0.1.M01/repo | ||
+ | |||
<work in progress> | <work in progress> | ||
Line 35: | Line 41: | ||
Step 2: Generate release artifacts | Step 2: Generate release artifacts | ||
− | # generate javadocs (connected to internet) - mvn javadoc:javadoc javadoc:jar | + | # generate javadocs (connected to internet) - mvn javadoc:javadoc javadoc:jar // the html files are scattered across the projects. How to combine them? |
− | # | + | # collect sources into JARs - mvn source:jar (outputDirectory doesn't work) |
− | # add libs - mvn dependency:copy-dependencies -DoutputDirectory=../target/libs -P equinox,samples | + | # add libs - mvn dependency:copy-dependencies -DoutputDirectory=../target/libs -P equinox,samples // Presumably no longer necessary? |
## this allows duplicates to be removed | ## this allows duplicates to be removed | ||
## assemble plugin will pick this location and include in the distributed artifacts | ## assemble plugin will pick this location and include in the distributed artifacts | ||
# switch to java 6 | # switch to java 6 | ||
− | # generate documentation - cd docs; mvn clean pre-site (used to be docbkx:generate-html docbkx:generate-pdf) | + | # generate documentation - cd docs; mvn clean pre-site (used to be docbkx:generate-html docbkx:generate-pdf) // output in docs/target/site/ |
# switch back to java 5 | # switch back to java 5 | ||
Line 55: | Line 61: | ||
-DaltDeploymentRepository=local::default::file:/e:/tmp/spring-osgi.dist/[version]/repo during the deploy command. | -DaltDeploymentRepository=local::default::file:/e:/tmp/spring-osgi.dist/[version]/repo during the deploy command. | ||
− | # run release project - cd release; rm -rf target; mvn -o -P equinox package -Dmaven.test.skip=true | + | # run release project - cd release; rm -rf target; mvn -o -P equinox package -Dmaven.test.skip=true // Where is release directory? |
## add cglib (2.2.0) | ## add cglib (2.2.0) | ||
## add jetty/tomcat activator sources+jars | ## add jetty/tomcat activator sources+jars | ||
Line 72: | Line 78: | ||
# run the mvn deploy target above but this time w/o the altDeploymentRepository (for milestones) | # run the mvn deploy target above but this time w/o the altDeploymentRepository (for milestones) | ||
− | ## to get the same binaries in the zip and in the repo | + | ## to get the same binaries in the zip and in the repo // Which step created the ZIP? |
Step 3 - upload artifacts: | Step 3 - upload artifacts: |
Revision as of 07:09, 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:
- git checkout -b milestone-prep
- mvn versions:set -DnewVersion=1.0.1.M01
- find . -name "*.versionsBackup" -exec rm {} \;
- 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 1.0.1.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 .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
- switch to Java 5
- disconnect network
- Build and test using:
- mvn clean install -Pit,equinox
- reconnect network
- switch back to Java 6 or later
Step 2 - generate release artifacts:
- generate javadocs (connected to internet) - mvn javadoc:javadoc javadoc:jar // the html files are scattered across the projects. How to combine them?
- collect sources into JARs - mvn source:jar (outputDirectory doesn't work)
- generate documentation - cd docs; mvn clean pre-site (used to be docbkx:generate-html docbkx:generate-pdf) // output in docs/target/site/
- generate Maven repo:
- 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
- generate javadocs (connected to internet) - mvn javadoc:javadoc javadoc:jar // the html files are scattered across the projects. How to combine them?
- collect sources into JARs - mvn source:jar (outputDirectory doesn't work)
- add libs - mvn dependency:copy-dependencies -DoutputDirectory=../target/libs -P equinox,samples // Presumably no longer necessary?
- this allows duplicates to be removed
- assemble plugin will pick this location and include in the distributed artifacts
- switch to java 6
- generate documentation - cd docs; mvn clean pre-site (used to be docbkx:generate-html docbkx:generate-pdf) // output in docs/target/site/
- 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.
- run release project - cd release; rm -rf target; mvn -o -P equinox package -Dmaven.test.skip=true // Where is release directory?
- add cglib (2.2.0)
- add jetty/tomcat activator sources+jars
- check version and format on both javadocs & docs
- update maven archetype
- update readme.txt/readme-libraries.txt
- final search for XXX-SNAPSHOT to see whether it is referred to somewhere
- the assembly already created the artifacts under release/target. You just need to add the sources under src/ folder.
- add Incubator in the name
- commit sources with stable revisions
- 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)
- delete local maven repo
- try to build the project from the sources
- if everything works out okay, put the sources in the archive,make tag and increase version to 1.1.X-SNAPSHOT tag
- run the mvn deploy target above but this time w/o the altDeploymentRepository (for milestones)
- to get the same binaries in the zip and in the repo // Which step created the ZIP?
Step 3 - upload artifacts:
- upload ZIP to Eclipse
- create zip for javadocs, docs, and *.txt
- update online schemas at ???
- tag git repository for the version
- increment project version to n.n.n.BUILD-SNAPSHOT and commit
- update the downloads page
- announce forums and mailing list