Skip to content

Release Process

okram edited this page Aug 4, 2012 · 10 revisions

This document describes the release process used when releasing a stable version of a TinkerPop product.

  1. Update CHANGELOG.textile with release date and logo.
    1. Copy CHANGELOG.textile over to the respective Release Notes wiki.
  2. Update Wiki <dependency/> references with latest <version/> number.
  3. Git clone the Wiki directory and put the documentation in doc/wiki of the project.
  4. Update pom.xml with latest <version/> number.
    1. Projects may have a hard coded version as a public static String.
  5. Uncomment maven-gpg-plugin XML stub in pom.xml.
  6. mvn clean install deploy (this will deploy to SonaType staging).
  7. mvn javadoc:javadoc (for aggregate projects, use mvn javadoc:aggregate).
  8. Upload JavaDoc to respective ftp://tinkerpop.com/public/docs/javadocs/project.name/project.version.
  9. git commit and git push the stable codebase.
  10. git tag -a -m "..." x.y.z and git push --tags.
    1. Review the tags to ensure the -m message has the same look and feel as the others.
  11. For distributions, upload the target/project.zip to the Downloads page.
    1. Make sure the description has the same look and feel as the others.
  12. Log into SonaType and close the release.
    1. If all is successful, then release the release.
    2. Central Repo syncs with SonaType approximately every 2 hours.

All the information regarding SonaType/Central Repo can be found at this location. This documentation is very thorough and, if followed in a step-by-step fashion (don’t skip a step), then releasing works great. Note that since TinkerPop is already an accepted project by SonaType, the steps above are all that are needed though the document has some great pointers for example, information on maven-gpg-plugin.

Sub-process used to generate TinkerPop HTML documentation

  1. Update index.html and README.textile with latest version using Semantic Versioning major.minor.patch format.
  2. git clone git://github.com/tinkerpop/blueprints.wiki.git in wiki/ directory
  3. start gollum in wiki/blueprints.wiki/ directory
  4. for each .textile file found in wiki/blueprints.wiki/ directory:
    1. request .textile file via HTTP GET
    2. update page head with TinkerpopBlueprints home page
    3. update TinkerPop links
    4. update css, images, javascript links
    5. add .html extension to wiki links
    6. write file to doc/blueprints/%version%/%filename%.html
  5. stop gollum process
  6. restart at step 2 and replace blueprints by pipes, gremlin, frames, furnace, rexster
  7. git commit & push to https://github.com/pierredewilde/doc
  8. transfer files to http://tinkerpop.com/docs/wikidocs/ via ftp
Clone this wiki locally