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.
- JIRA Issue(s):
- Design Document(s): Dynamic POM Build Sections
2.1.0-M2: Doxia Upgrade to 1.0-beta-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.
- JIRA Issue: MNG-3602
2.1.0-M3: 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.
- JIRA Issue(s): MNG-2576
- Design Document: Make Like Reactor Mode
2.1.0-M4: 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-M5: PGP Artifact Verification
- JIRA Issue(s): MNG-2477
- Design Document(s): Repository Security
2.1.0-M6: Automatic Parent Versioning
This feature will remove the requirement for providing versions for the parent inside the child project's POM in certain circumstances. At least initially, the emphasis should be on maintaining - or enhancing - reproducibility of the project's build instead of providing versionless parent references to all conceivable arrangements of this parent-child relationship.
- JIRA Issue(s): MNG-624
- 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