Maven 3.0-alpha-3
The Apache Maven team would like to announce the release of Maven 3.0-alpha-3.
Maven 3.0-alpha-3 is available for download from the 'preview' section.
Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central place.
Maven 3 aims to ensure backward compatibility with Maven 2, improve usability, increase performance, allow safe embedding, and pave the way to implement many highly demanded features.
The core release is independent of the plugins available. Further releases of plugins will be made separately. See the Plugin List for more information.
We hope you enjoy using Maven! If you have any questions, please consult:
Maven 3.0-alpha-3 Release Notes
Maven 3 aims to ensure backward compatibility, improve usability, increase performance, allow safe embedding, and pave the way to implement many highly demanded features.
The full list of changes can be found in our issue management system, and is reproduced below.
Release Notes - Maven - Version 3.0-alpha-3 (since 3.0-alpha-2 only)
Sub-task
- [MNG-3013] - The plugin manager incorrectly caches plugin versions between embedder calls
- [MNG-3862] - Remove all plugin configuration manipulation from the plugin manager
- [MNG-3932] - Remove all mirror, authentication, and proxy handling out of WagonManager and into a neutral Maven implementation
- [MNG-4163] - Deprecate all methods in MavenProject that relate to reporting.
- [MNG-4215] - Review and fix hashCode/equals methods of ArtifactRepository implementations
Improvement
- [MNG-2391] - improve validation of POM elements
- [MNG-3402] - MavenArtifactFilterManager needs to not filtering doxia-sink-api
- [MNG-3631] - Introduce new MavenEmbedder.getPluginConfiguration method
- [MNG-3714] - Allow specification of the toolchains.xml location on the command line
- [MNG-3834] - Improve error message when dependency with classifier is missing version
- [MNG-3951] - Hide drive-relative paths from plugins
- [MNG-3969] - replace maven-ant with mercury-ant in the bootstrap
- [MNG-4005] - Throw Validation Error if pom contains a dependency with two different versions.
- [MNG-4037] - Include Java home in version information
- [MNG-4048] - Allow to resolve dependencies using version range from reactor
- [MNG-4057] - Propose checking of plugin artifact when plugin descriptor cannot be found
- [MNG-4186] - Provide an exact pointer to documentation specific to each known exception that can occur
- [MNG-4193] - Throw validation error upon multiple repository declarations with the same id
- [MNG-4224] - maven lifecycle participant
- [MNG-4244] - Allow to select project for make-like reactor by artifact id
- [MNG-4247] - Displaying which artifacts are downloaded and from which repo
- [MNG-4292] - Support Enum-type parameters in mojos
- [MNG-4293] - Extend Mojo API to allow resolution of both compile and runtime dependencies
- [MNG-4296] - allow core extensions configure new classrealms
- [MNG-4298] - Build MavenProject instances incrementally
- [MNG-4368] - DefaultArtifactInstaller should only overwrite files if timestamp has changed
- [MNG-4390] - Make parsing of settings.xml lenient with respect to unrecognized tags
- [MNG-4402] - Improve duplicated modules error
- [MNG-4404] - Throw validation error upon duplicate profile id
- [MNG-4405] - Uninterpolated expressions should cause an error for plugin versions
- [MNG-4421] - Warn regarding old-style references when used in a project build
- [MNG-4423] - Allow to query session data via plugin parameter expressions
New Feature
- [MNG-553] - Secure Storage of Server Passwords
- [MNG-3760] - Support property ${baseurl} to get RFC-compliant URL of project base directory
- [MNG-4033] - Introduce password encryption to the trunk
- [MNG-4331] - Add new mojo annotation @requiresDependencyCollection to grab dependency tree without files
- [MNG-4367] - Consider layout for mirror selection
- [MNG-4381] - Allow extension plugins to contribute non-core components to be reused by other plugins
- [MNG-4398] - Provide an extension point to track artifact additions to the local repository
Task
- [MNG-2387] - <active> on <proxy> in settings is misleading
- [MNG-2765] - Refactor DefaultPluginManager
- [MNG-2766] - Refactor DefaultLifecycleExecutor
- [MNG-3850] - Integrate new Profile Activators
- [MNG-3901] - Merge all project building code into a single component
- [MNG-3903] - Create a Maven specific abstraction for Artifact use within Maven
- [MNG-3935] - Get the Maven Integration Testing Hudson plugin installed on the grid
- [MNG-4059] - Remove support for non-unique SNAPSHOT deployments
- [MNG-4060] - Remove support for profiles.xml
- [MNG-4062] - Evaluate possibility to cache parents during multi module build
- [MNG-4069] - Remove support for plugin metaversion LATEST
- [MNG-4169] - Remove invocation of maven-plugin-plugin:updatePluginRegistry from default lifecycle bindings
- [MNG-4204] - Remove support for legacy style repositories
- [MNG-4205] - Remove support for plugin metaversions RELEASE and LATEST
- [MNG-4206] - Prefer RELEASE over LATEST when resolving plugin versions
- [MNG-4216] - Remove all direct usage of DefaultArtifactRepository
- [MNG-4221] - Push all repository/artifact related code into a legacy module and create a backward compat layer for external consumers
- [MNG-4259] - Create a new name for the current PluginManager and create a backward compatible PluginManager implementation in maven-compat which delegates to the new implementation
- [MNG-4260] - Remove old-school reactor mode
- [MNG-4277] - Remove core artifacts from ${plugin.artifacts}
- [MNG-4287] - Make ToolchainManagerPrivate session-aware
Wish
- [MNG-4056] - Relax resolution of active project artifacts from the reactor with regard to artifact type
- [MNG-4425] - Restore support for resume-from (-rf flag)