Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Grab the latest source from SVN
    Code Block
    svn co https://svn.apache.org/repos/asf/camel/trunk camel
    cd camel
    
  2. Verify headers with rat
    Code Block
    mvn -e apache-rat:check
    grep -e ' !?????' target/rat.txt -- will show any files without licenses
    
  3. Do a release dry run to check for problems
    Code Block
    mvn release:prepare -DdryRun=true
    
    Check that you are happy with the results. The poms for the proposed tags will be in pom.xml.tag. Check also the generated signature files:
    Code Block
    cmueller$ gpg camel-core/target/camel-core-2.7.5-SNAPSHOT.jar.asc 
    gpg: Signature made Tue Jan 10 20:50:27 2012 CET using RSA key ID 2A239C2C
    gpg: Good signature from "Christian Mueller (CODE SIGNING KEY) <cmueller@apache.org>"
    
    When you like the results, clean up:
    Code Block
    mvn release:clean
    
  4. Prepare the release
    Code Block
    mvn release:prepare
    
    This will create the tag in svn and leave various stuff around locally to direct the perform phase.
  5. Perform the release to the staging repo
    Code Block
    mvn release:perform
    
  6. Close the staging repository
    Quote from the Maven release guide for Apache projects

    Login to https://repository.apache.org using your Apache LDAP credentials. Click on "Staging Repositories". Then click on select "org.apache.camel-xxx" in the list of repositories, where xxx represents your username and ip. Select this repository and click Click "Close" on the tool bar above. This will close the repository from future deployments and make it available for others to view. If you are staging multiple releases together, skip this step until you have staged everything. Enter the name and version of the artifact being released in the "Description" field and then click "Close". This will make it easier to identify it later.

    See the image in the original guide for more info.
  7. Verify staged artifacts
    Quote from the original guide

    If you click on your repository, a tree view will appear below. You can then browse the contents to ensure the artifacts are as you expect them. Pay particular attention to the existence of *.asc (signature) files. If the you don't like the content of the repository, right click your repository and choose "Drop". You can then rollback your release and repeat the process.
    Note the repository URL, you will need this in your vote email.

...

When folks need to test out a release candidate, the jars will not have been uploaded to the central Maven repo. This means that the example programs which use Maven will not automatically work and you need to follow the Testing a release candidate guidelines.
Afterwards send out the VOTE for this release candidate to the dev@ mailing list.

Manually updating files

The pom.xml files in etc and tests/camel-itest-karaf need to be manually updated with the Camel version number in the <parent> tag.

Announcing the Camel Release

If the VOTE pass,

  1. Close it by sending the RESULT to the mailing list.
  2. Promote the artifacts to the central repo. For this login to https://repository.apache.orgImage Added using your Apache LDAP credentials. Click on "Staging Repositories". Select "org.apache.camel-xxx" in the list of repositories, where xxx represents your username and ip. Click "Release" on the tool bar above. This will promote all artifacts to the central maven repo. Enter the name and version of the artifact being released in the "Description" field and then click "Release". This will make it easier to identify it later.
  3. Perform a release in JIRA and create a new release version in JIRA
  4. There should be already a release notes page in the In Progress folder (if not create one based on the Camel x.y.z Release (template)). Edit it and change the number of fixed issues and update its parent to be the Download page. Now would be a good time to create a new release notes page for the next release based on the template mentioned before. It is useful and simpler to keep it up to date during the development cycle.
  5. Update the Download page to refer to the latest release distributions (search & replace the version numbers mostly)
  6. Update the Xml Reference page with a link to the HTML and XSD
  7. Copy the newly deployed camel-spring-X.Y.Z.xsd file to camel-spring.xsd here http://camel.apache.org/schema/spring/ by ssh into people.apache.org.
  8. Copy the newly deployed camel-spring-integration-X.Y.Z.xsd file to camel-spring-integration.xsd here http://camel.apache.org/schema/spring/integration by ssh into people.apache.org.
  9. Copy the newly deployed camel-blueprint-X.Y.Z.xsd file to camel-blueprint.xsd here http://camel.apache.org/schema/blueprint/ by ssh into people.apache.org.
  10. Copy the newly deployed camel-cxf-X.Y.Z-spring.xsd file to camel-cxf.xsd here http://camel.apache.org/schema/cxf/ by ssh into people.apache.org.
  11. Copy the newly deployed camel-cxf-X.Y.Z-blueprint.xsd file to camel-cxf.xsd here http://camel.apache.org/schema/blueprint/cxf/ by ssh into people.apache.org.
  12. Copy the newly deployed camel-cxf-X.Y.Z.xsd file to camel-cxf.xsd here http://camel.apache.org/schema/blueprint/cxf/ by ssh into people.apache.org.
  13. Copy the newly deployed camel-spring-security-X.Y.Z.xsd file to camel-spring-security.xsd here http://camel.apache.org/schema/spring-security/ by ssh into people.apache.org.
  14. Update the Manual page with a link to the PDF
  15. Mail the dev & user lists
  16. Post a news entry in the wiki which links to the release page so folks can download it!
  17. perform a full auto-export plugin export of the wiki to static html to work around the bug with autoexport plugin not updating the index page when you post the news item
    to run autoexport: you go to admin -> plugins -> auto-export-plugin -> configure plugin. Select ActiveMQ from the list, then click on Export Space(s). Be very careful so you don't mess up anyone else's wikis!
  18. Add the release version number to the following spring.schemas file located in src/main/resources/META-INF directory of the following components:
    camel-cxf
    camel-spring
    camel-spring-integration
    camel-spring-security
  19. Have a beer! (smile)