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 | + | Step 2 - build and test: |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | 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:
- 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:
- Build and test using:
- mvn clean install -Pit,felix
- mvn clean install -Pit,knopflerfish
- mvn clean install -Pit,equinox
Step 3 - generate release artifacts, tag, increment version:
- 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 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
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:
- mvn versions:set -DnewVersion=1.0.1.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 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 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:
- switch to Java 5 (see http://www.s-seven.net/java_15_mountain_lion if you are on a Mac)
- Build and test using:
- mvn clean install -Pit,felix
- mvn clean install -Pit,knopflerfish // a few integration tests currently fail, but this could be KF setup problem
- mvn clean install -Pit,equinox
- switch back to Java 6 or later
Step 3 - generate release artifacts, tag, increment version:
- 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/
- switch to Java 5
- 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/1.0.1.M01/repo
- run release project - cd release; rm -rf target; mvn -P equinox package -Dmaven.test.skip=true; cd ..
- switch back to Java 6 or later
- commit the changes
- tag the git repo
- push the changes and tag
- increase version to 1.0.1.BUILD-SNAPSHOT
- mvn versions:set -DnewVersion=1.0.1.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 1.0.1.BUILD-SNAPSHOT
Step 4 - publish:
- upload ZIP to Eclipse
- update the downloads page
- store the documentation in the Gemini Blueprint web site
- update the documentation page
- announce on the forum and mailing list