Creating Mevenide IDEA releases

General

This document details the process for creating Mevenide IDEA releases. We recommend that you follow it as accurately as possible (but use your judgement) to make things go smooth as possible, and maintain consistent release cycles.

Preparations

  1. To prevent problems during the release process, we recommend you verify that the site:deploy and dist:deploy goals work on your station. Things such as the DSA private key not in place, or repository configuration not correct will prevent the release from going smoothly and are best to resolve before starting.
  2. Make sure all relevant JIRA issues are resolved (or closed, fixed, etc).
  3. Make sure all files and changes are commited.
  4. Create a full build and site to make sure everything works and is ready for a release.
  5. If developing against SNAPSHOT versions of the common Mevenide projects (goals-grabber, core, config, etc), make sure that they are in a stable state, ready for release.
  6. Announce in the dev@mevenide.codehaus.org that you are starting a release, to enforce a commit freeze until you are done.

Documentation

  1. Update project documentation to reflect the new release. This would usually include updating the changes.xml, and possibly other relevant documents (index.xml for instance).
  2. It might be relevant to update the mevenide-master documentation as well, if something global has changed.

Release

Common Mevenide projects

  1. Upgrade common Mevenide projects' POM versions from SNAPSHOT to concrete versions (e.g. from 0.8-SNAPSHOT to 0.8).
  2. Commit the changes.
  3. Deploy the common Mevenide projects artifacts and site to the repository.
  4. Tag the sources with the release tag (TODO: link to release tag naming policy).
  5. Increase the POM versions to the next SNAPSHOT version (e.g. from 0.8 to 0.9-SNAPSHOT).
  6. Commit the POMs.

IDEA project

  1. Update the POM dependencies to use the new common projects' concrete versions.
  2. Commit the POM.
  3. Mark the release in the SCM by executing:
    maven scm:prepare-release
  4. When prompted, enter the new SCM tag name (TODO: see tags policy) and new version.
  5. Publish the plugin and site by executing:
    maven dist:deploy site:deploy
  6. Publish the distribution to JetBrains' IDEA plugins repository.
  7. Update the POM to depend on the new SNAPSHOT versions of the Mevenide common projects.
  8. Update POM version to next SNAPSHOT version (if you released 0.2, change it to 0.3-SNAPSHOT).
  9. Commit the change.
  10. Mark the appropriate version in JIRA as released (set the release date).

Announcements

It is recommended to announce the new release to..um..well, the world
Usually the announcement would go to some of the following places:

  1. Mevenide Users mailing list
  2. Maven Users mailing list
  3. Java Lobby
  4. The Server Side
  5. http://blogs.codehaus.org.

Labels

 
(None)