Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Gemini/Blueprint/Releasing"
(→Release Instructions) |
(→Release Instructions) |
||
Line 2: | Line 2: | ||
== Release Instructions == | == Release Instructions == | ||
+ | |||
+ | For example, for 1.0.1.M01: | ||
+ | |||
+ | Step 1: | ||
+ | # git checkout -b milestone-prep | ||
+ | # mvn versions:set -DnewVersion=1.0.1.M01 | ||
+ | # find . -name "*.versionsBackup" -exec rm {} \; | ||
+ | # update changelog version/date | ||
+ | # find . -name "boot-bundles.properties" and update ignore.gemini.blueprint.version to 1.0.1.M01 | ||
+ | # <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 8: | Line 18: | ||
----- | ----- | ||
Step 0: | Step 0: | ||
− | # disable CI builds (trunk and NIGHTLY) | + | # disable CI builds (trunk and NIGHTLY) // No need since CI builds do not interfere with local. |
Step 1: | Step 1: | ||
− | # double check doc | + | # double check doc // Not automatable. Skip. |
− | # switch to Java5 | + | # switch to Java5 // Need to get Java5 on Mac. |
− | # change version from SNAPSHOT to stable inside poms | + | # change version from SNAPSHOT to stable inside poms // Done. mvn versions:set -DnewVersion=xxx then remove *.versionsBackup files |
− | # update version in simple-web-app-sample/web-console config.ini | + | # update version in simple-web-app-sample/web-console config.ini // // Not found |
− | # update version inside bundle-archetype target pom.xml | + | # update version inside bundle-archetype target pom.xml // // Not found |
− | # update version inside Eclipse .classpath bundle-archetype target | + | # update version inside Eclipse .classpath bundle-archetype target // // Not found |
− | # check spring.import.export osgi.versions in main pom. | + | # check spring.import.export osgi.versions in main pom. // Not found |
− | # update changelog version/date | + | # update changelog version/date// Done. |
− | # update readme.txt version/date | + | # update readme.txt version/date // Not versioned or dated. |
− | # change AbstractDependencyManagerTests version | + | # change AbstractDependencyManagerTests version // No hard-coded version. |
− | # change test support boot bundles version in properties | + | # change test support boot bundles version in properties // Done. |
− | # change schema name from spring-osgi.xsd to spring-osgi-<version>.xsd | + | # change schema name from spring-osgi.xsd to spring-osgi-<version>.xsd // Not sure if this always needs doing. If so, which files need changing? |
− | # update schema internal version (version attribute from schema header) | + | # update schema internal version (version attribute from schema header) // Not sure if this always needs doing. If so, which files need changing? |
− | # update .schema files (especially the aliases) | + | # update .schema files (especially the aliases) // Not sure if this always needs doing. If so, which files need changing? |
− | # update xml files which contain the xsd + version | + | # update xml files which contain the xsd + version // Not sure if this always needs doing. If so, which files need changing? |
# disconnect network | # disconnect network | ||
− | # make sure tests work with it | + | # make sure tests work with it // What test targets need to be run? Is Maven 3 ok or must we use Maven 2? |
Step 2: Generate release artifacts | Step 2: Generate release artifacts |
Revision as of 10:40, 29 May 2012
Building Gemini Blueprint
Release Instructions
For example, for 1.0.1.M01:
Step 1:
- git checkout -b milestone-prep
- mvn versions:set -DnewVersion=1.0.1.M01
- find . -name "*.versionsBackup" -exec rm {} \;
- update changelog version/date
- find . -name "boot-bundles.properties" and update ignore.gemini.blueprint.version to 1.0.1.M01
- <work in progress>
The following are old notes for Spring DM. Need to update them for Gemini Blueprint!
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:
- double check doc // Not automatable. Skip.
- switch to Java5 // Need to get Java5 on Mac.
- change version from SNAPSHOT to stable inside poms // Done. mvn versions:set -DnewVersion=xxx then remove *.versionsBackup files
- update version in simple-web-app-sample/web-console config.ini // // Not found
- update version inside bundle-archetype target pom.xml // // Not found
- update version inside Eclipse .classpath bundle-archetype target // // Not found
- check spring.import.export osgi.versions in main pom. // Not found
- update changelog version/date// Done.
- update readme.txt version/date // Not versioned or dated.
- change AbstractDependencyManagerTests version // No hard-coded version.
- change test support boot bundles version in properties // Done.
- change schema name from spring-osgi.xsd to spring-osgi-<version>.xsd // Not sure if this always needs doing. If so, which files need changing?
- update schema internal version (version attribute from schema header) // Not sure if this always needs doing. If so, which files need changing?
- update .schema files (especially the aliases) // Not sure if this always needs doing. If so, which files need changing?
- update xml files which contain the xsd + version // Not sure if this always needs doing. If so, which files need changing?
- disconnect network
- make sure tests work with it // What test targets need to be run? Is Maven 3 ok or must we use Maven 2?
Step 2: Generate release artifacts
- generate javadocs (connected to internet) - mvn javadoc:javadoc javadoc:jar
- add sources - mvn source:jar (outputDirectory doesn't work)
- add libs - mvn dependency:copy-dependencies -DoutputDirectory=../target/libs -P equinox,samples
- 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)
- 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
- 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
Step 3: Upload artifacts
- create zip for javadocs and docs
- log into www.springframework.org
- go to static.spring/osgi/docs
- create XXX version
- unzip javadocs and docs
- update online schemas at static.spring/schema/osgi*
- put *.txt files in there
- verify links inside the docs
- put zip with and without dependencies on SF (as hidden artifact)
- 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
- 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 cleau@download1.eclipse.org:downloads/blueprint/