Maven 2.1.0 Release Plan

Conditions for Milestone Releases:

  • Introduced code should be reasonably well tested (~75% or so)
  • No other Maven features should be adversely affected by its introduction
  • All existing integration tests MUST pass

2.1.0-M1: Implementation Updates

Contains reimplementation of interpolation and model-cloning logic for performance reasons.

Along with these, new functionality has been introduced that propagates changes in the project state out to areas of the POM build section that were originally specified as expressions, to keep references to project information such as build paths up to date with any changes to those values made by plugins. This new functionality is termed build dynamism for now.

2.1.0-M2: Backport changes from trunk

Add prepare-package phase

CLI -D precedence

Make-Like Reactor Mode

This new feature is meant to allow building only the projects inside the current multimodule directory structure that the current project depends on, rather than forcing the user to rebuild the entire project tree. Of course, ordering of this subset of projects should be calculated as if it were part of the full reactor build, with dependency modules being built ahead of those modules that use them.

Further review for feasible changes

Review the other changes made for those that can be incorporated with sufficient testing not to impact the release schedule for 2.1.0.

Having scanned JIRA I didn't find any others (@since and implementation in plugins have been backported already), but will look at the commit history – Brett

2.1.0-M3: Doxia Upgrade

Doxia Upgrade to 1.1

This should be implemented, but needs some soak time to ensure all the kinks are worked out. It should be straightforward to include this and spin a new milestone release. I'm separating it from M1 mainly so we have an absolutely stable base in M1 from which to build. Other than fixing any issues that may come from this, it should be a zero-cost move from the perspective of resource planning for the 2.1.0 final release.

2.1.0-M4: Merge Feature Branches

Parallel Artifact Resolution

This new feature will simply streamline the resolution of artifacts - plugins, dependencies, etc. - to allow parallel download for artifacts that don't share the same groupId. The groupId distinction is important here, since it is the highest level at which Maven currently keeps metadata. Therefore, to avoid contention for access to these metadata files, all downloads within a groupId are managed serially as before.

  • JIRA Issue(s): MNG-3379
  • Design Document(s): pending

2.1.0 Final

This release will contain any stabilizing bugfixes for the features and other modifications introduced during the milestone releases.

Conditions for Final Release:

  • All milestone introductions are documented
  • All milestone introductions are thoroughly tested to avoid regression
  • No labels