Release Notes - Maven 2 & 3 - Version 3.0-alpha-3 - HTML format

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

Bug

  • [MNG-1943] - MavenProject::getParent() returns a MavenProject that is NOT interpolated
  • [MNG-2014] - build extension libraries should be added to the current artifact filter used by the plugin manager
  • [MNG-2098] - Artifact resolver incorrectly selects repository which doesn't contain the selected version
  • [MNG-2135] - multi-project build that creates it's own plugins needs bootstrapping
  • [MNG-2140] - Mojo in forked lifecycle invoked in reactor build cannot find reactor dependency
  • [MNG-2171] - uninstantiable expressions fail, even if not required
  • [MNG-2174] - <pluginManagement><plugins><plugin><dependencies> do not propogate to child POM plugins (potentially scoped to only affecting child POM plugins that live within a <profile>)
  • [MNG-2285] - local repository path cannot have special characters
  • [MNG-2305] - only first active proxy considered/used
  • [MNG-2363] - <profile><activation><file><exists/> does not work in a multi-project build
  • [MNG-2693] - Error executing post-site: java.util.MissingResourceException: Can't find bundle for base name site-plugin, locale en
  • [MNG-2720] - Multiproject dependencies not accurate for project.compileClasspathElements when run from root project
  • [MNG-3018] - pluginManagement configurations are not honoured when plugin is silently included
  • [MNG-3043] - Allow 'mvn test' to work with test-jar dependencies in a reactor
  • [MNG-3122] - MAVENPROJECT: getActiveProfiles() returning duplicate activeByDefault profile defined in LOCAL_HOME/.m2/settings.xml
  • [MNG-3139] - The skin does not exist: Unable to determine the release version
  • [MNG-3260] - 2.1: aggregating plugins in submodules of the reactor return all projects causing a chicken/egg issue
  • [MNG-3265] - maven-model Extension.equals causes NPE when any field is uninitialized
  • [MNG-3281] - Revisit backwards compat of extensions (IT 0114)
  • [MNG-3391] - StackOverflowError in DefaultMavenProjectBuilder
  • [MNG-3401] - Plugin parameters must be specified outside an execution block when they are invoked from the command line
  • [MNG-3483] - merging managed dependencies should ONLY work when scope == import explicitly
  • [MNG-3543] - readProjectWithDependencies take very long time for some projects
  • [MNG-3567] - pluginManagement from parent POM not used in child
  • [MNG-3607] - Class loaders employed by Maven return invalid URLs to resources
  • [MNG-3641] - Lack of error checks on profiles
  • [MNG-3683] - [regression] Help plugin does not work
  • [MNG-3732] - [regression] project.getActiveProfiles() has not the same behaviour
  • [MNG-3757] - Setting M2_HOME to nothing and running ant delets contents of the current folder
  • [MNG-3766] - toolchains not found in extensions
  • [MNG-3803] - [regression] System properties not working any more
  • [MNG-3807] - Maven is not interpolatin Properties at plugin configuration
  • [MNG-3814] - Reactor builds fail due to erroneous cycle in project sorting which does not consider versions
  • [MNG-3819] - [regression] Plugins that don't declare dependency on plexus-utils no longer get plexus-utils:1.1
  • [MNG-3836] - [regression] Inherited collection from plugin configuration is merged with configuration from child whereas child config should completely override collection
  • [MNG-3848] - [regression] Inheritance of project/site/scm URLs does not take child's relative location to parent into account
  • [MNG-3853] - [regression] Distribution Management injected by profile is not reflected by MavenProject
  • [MNG-3872] - Profiles not being activated for relocated POMs
  • [MNG-3877] - Reporting output directory not basedir aligned when queried from MavenProject
  • [MNG-3885] - Modules of Maven projects are deployed with Timestamp during reactor build when uniqueVersion is set to false in parent profile
  • [MNG-3900] - [regression] Properties defined by active profiles are not used for POM interpolation
  • [MNG-3918] - NPE in CLIReportingUtils
  • [MNG-3919] - NPE in DefaultLifecycleBindingManager
  • [MNG-3925] - [regression] Wrong order of plugin executions after merge with executions inherted from parent
  • [MNG-3927] - [regression] Configuration of custom plugin execution using default id pollutes configuration of default plugin executions introduced by packaging
  • [MNG-3941] - Execution project is accessible to later mojo executions
  • [MNG-3947] - [regression] Configuration of plugin execution with id "default" pollutes configuration of standalone plugin execution from CLI
  • [MNG-3991] - POM validator allows <scope>optional</scope> but it is not valid.
  • [MNG-3995] - Configuration Property Lost In Join of PluginManagement/Plugin
  • [MNG-4008] - [regression] Build filters are collapsed
  • [MNG-4009] - [regression] Effects of active profiles from parent are not inherited by children.
  • [MNG-4027] - [regression] Injection of dependencies from profiles crashes project builder
  • [MNG-4034] - [regression] dependency version is not inherited from parent dependencyManagement
  • [MNG-4035] - Cannot find setter nor field in org.apache.maven.plugin.plugin.metadata.AddPluginArtifactMetadataMojo for 'extractors'
  • [MNG-4036] - [regression] Maven 3.x can't resolve parent POMs from repositories defined in settings.xml
  • [MNG-4040] - Tycho build fails with PluginDescriptor for the plugin was not found
  • [MNG-4041] - embedder returns stale maven project state
  • [MNG-4050] - Bootstrap fails since the commons-parent pom has empty repo URL
  • [MNG-4052] - import scope dependencies prefer to download pom rather than find it in the current project
  • [MNG-4053] - [regression] XML attributes in plugin configuration get duplicated to other elements in combination with plugin management
  • [MNG-4055] - wrong error on mvn install in folder without pom.xml
  • [MNG-4068] - [regression] Use proper id for mirrored repository
  • [MNG-4070] - [regression] Parent POMs cannot be resolved when their id values are surrounded by whitespace
  • [MNG-4072] - [regression] Repositories from inactive profiles are used for artifact resolution
  • [MNG-4078] - [regression] Plugin metaversion RELEASE no longer resolved
  • [MNG-4102] - [regression] Properties used for interpolation of inherited properties can't be customized by child
  • [MNG-4106] - [regression] Interpolation does not use properties from dominant settings profile if other profile defines same property
  • [MNG-4107] - [regression] User settings can't override properties used for POM interpolation
  • [MNG-4109] - When running a plugin, project builder does not pick up settings profiles
  • [MNG-4116] - [regression] Effective POM contains invalid URLs upon usage of percent-encoded characters
  • [MNG-4129] - Execution's inherited is not working as expected.
  • [MNG-4172] - Project POM artifact returned as dependency if project has no dependencies
  • [MNG-4180] - [regression] Dependency exclusions are applied globally
  • [MNG-4187] - dependency:trunk doesn't work with mvn trunk rev 782332
  • [MNG-4190] - same remote repo is referecned multiple times
  • [MNG-4191] - separate plugin and artifact repositories
  • [MNG-4196] - [regression] Exclusions in project-level plugin dependencies are ignored
  • [MNG-4197] - relocation doesn't work in trunk (rev 784345)
  • [MNG-4199] - [regression] Dependency resolution for compile and runtime scope misses provided&system dependencies
  • [MNG-4201] - Custom packaging break in trunk (rev 784628)
  • [MNG-4203] - [regression] Dependency exclusions are not applied transitively
  • [MNG-4208] - [regression] CLI properties can't override project properties during interpolation
  • [MNG-4214] - [regression] Parent POMs cannot be resolved from mirrored repos
  • [MNG-4217] - trunk create a directory with %20 in name (trunk rev 787409)
  • [MNG-4227] - DefaultArtifactVersion equals implementation does not handle null
  • [MNG-4231] - Snapshots are not checked for updates
  • [MNG-4233] - Artifact does not get resolved from the reactor
  • [MNG-4239] - NoSuchMethodError org.apache.maven.project.inheritance.ModelInheritanceAssembler.assembleModelInheritance(Lorg/apache/maven/model/Model;Lorg/apache/maven/model/Model;)V
  • [MNG-4245] - can't access protected mirrors with latest 3.0-SNAPSHOT (rev 795227)
  • [MNG-4246] - plugin resolution failures during pom-less execution (like archetype:generate)
  • [MNG-4256] - [regression] The gwt-maven-plugin is using ActiveProjectArtifact to get hold of sources in the reactor
  • [MNG-4261] - site plugin doesn't generate reports
  • [MNG-4262] - Make-like reactor mode fails to find projects selected by relative paths with leading dots
  • [MNG-4266] - Missing method ArtifactUtils.isSnapshot used in the release plugin
  • [MNG-4269] - [regression] Invocation of just installed plugin on its plugin project can fail with ComponentLookupException for mojo class
  • [MNG-4272] - Error found in code: wrong order of parameters in createRepository for repo in a profile in settings.xml
  • [MNG-4273] - [regression] Internal utility classes of core leak into plugin realm
  • [MNG-4274] - Plugins with an undeclared but transitive dependency on plexus-utils via a core artifact get wrong version of p-u
  • [MNG-4276] - Plugins with indirect dependency on plexus-utils are stuck with plexus-utils:1.1
  • [MNG-4280] - [regression] Direct CLI invocation of goal causes "default-cli" config to be processed twice, duplicating list values
  • [MNG-4281] - remote snapshots are prefered over locally installed snapshots in maven3 svn rev 800808
  • [MNG-4283] - [regression] Parent POM with packaging other than "pom" is not rejected
  • [MNG-4291] - [regression] @requiresOnline mojo annotation is ignored
  • [MNG-4304] - [regression] MavenProject.getDependencyArtifacts() not set
  • [MNG-4305] - [regression] ${localRepository.basedir} is not a proper path
  • [MNG-4312] - Magic expressions injected by PluginParameterExpressionEvalutor conflict with expressions used by plugins to access system properties
  • [MNG-4313] - Plugin descriptor builder ignores deprecation message for mojo
  • [MNG-4314] - [regression] Direct invocation of aggregator plugin causes plugin to run on each project
  • [MNG-4317] - [regression] g:a level metadata is not properly processed when resolving plugin version
  • [MNG-4318] - MavenProject.executionRoot is not set correctly
  • [MNG-4320] - [regression] Aggregators invoked from CLI no longer resolve dependencies for all reactor projects
  • [MNG-4321] - [regression] Plugin-level configuration from plugin management is not applied to goals invoked from CLI
  • [MNG-4325] - [regression] Lifecycle overlay configuration of aggregator mojos is not properly processed when forking reactor
  • [MNG-4327] - [regression] Forking mojos that are bound to a lifecycle phase that gets forked execute multiple times
  • [MNG-4328] - [regression] plugin parameters of primitive types can't be populated from expression
  • [MNG-4332] - [regression] Default plugin executions contributed by packaging execute after executions from plugin management
  • [MNG-4334] - maven core caches settings.xml
  • [MNG-4335] - [regression] <settings><offline>true</offline</settings> is not honored
  • [MNG-4338] - Unexepceted "Unknown packaging: bundle" error for plugins with custom lifecycle mapping that defines optional mojos
  • [MNG-4341] - [regression] Plugins are not executed in POM order
  • [MNG-4342] - [regression] Multiple goals within single execution with equally named parameter get configured with wrong default values
  • [MNG-4343] - maven always checks missing release artifacts
  • [MNG-4344] - [regression] Managed executions of plugins introduced by default lifecycle bindings execute before explicitly defined plugins
  • [MNG-4345] - [regression] Plugin executions contributed by default lifecycle mapping execute after other plugin executions bound to the same phase
  • [MNG-4348] - [regression] Unnecessary remote repo access for POMs while execution plugin that does not require dependency resolution
  • [MNG-4349] - [regression] Maven hangs in endless loop if POM of relocated artifact is invalid
  • [MNG-4350] - [regression] Multiple goals bound to the same phase in a lifecycle mapping get executed out of order
  • [MNG-4353] - [regression] Plugin dependencies are not downloaded from repos given in the plugin's POM
  • [MNG-4355] - [regression] Extensions without version in the POM are not resolved to the RELEASE artifact
  • [MNG-4356] - [regression] Active component maps with stateful per-lookup components broken
  • [MNG-4357] - [regression] Custom packagings from build extensions are not reliably loaded during a reactor build
  • [MNG-4359] - [regression] Locally reachable parent POMs outside of reactor are not found during dependency resolution
  • [MNG-4360] - [regression] wagon-webdav-jackrabbit doesn't work with Maven 3.x
  • [MNG-4363] - [regression] Dependency artifacts injected by plugins aren't included in class paths
  • [MNG-4365] - XmlPullParserException while parsing XML with encoded entities within attributes
  • [MNG-4378] - Maven wants to create meta data files with invalid file names
  • [MNG-4383] - Uninterpolated expressions should cause an error for dependency versions
  • [MNG-4385] - [regression] Custom lifecycle mappings from build extension leak into other projects in the reactor without extension
  • [MNG-4386] - [regression] Debug logging can't be activated
  • [MNG-4387] - [regression] Quiet logging can't be activated
  • [MNG-4393] - [regression] Parent POMs resolved from repository are parsed in strict mode
  • [MNG-4396] - [regression] Ant plugin fails with Maven-3
  • [MNG-4400] - [regression] Repository order from settings.xml is not respected during artifact resolution
  • [MNG-4401] - [regression] central repository is tried before explicitly declared repositories during parent POM resolution
  • [MNG-4408] - Missing settings.xml is silently ignores
  • [MNG-4409] - NPE when reporting command line error for non-existent option
  • [MNG-4410] - [regression] Maven execution does not end after showing usage help
  • [MNG-4411] - [regression] Maven execution does not stop after showing version
  • [MNG-4413] - [regression] Repositories discovered in dependency POMs are not subject to mirroring
  • [MNG-4415] - [regression] Plugins are not properly ordered after merging with inherited parent plugins
  • [MNG-4416] - [regression] Plugins are not properly ordered after merging with profile plugins
  • [MNG-4426] - Some javac errors not shown in console when error stacktraces are turned on
  • [MNG-4427] - Bad error message with duplicate dependencies that don't declare a version
  • [MNG-4429] - [regression] jspc plugin works in Maven 2.2.1, fails in 3.0
  • [MNG-4430] - [regression] Presence of distribution management status in POM of local project does not cause validation error
  • [MNG-4572] - <modelVersion> element in pom does not allow whitespace around version string
  • [MNG-4654] - Maven erroneously selects artifact handler contributed by extension plugin for use with project main artifact based on the handler's packaging rather than type
  • [MNG-4657] - SettingsUtils.copySettings does not perform a deep copy
  • [MNG-5078] - Dependency on pom-project not resolved in reactor on multi-module build

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-2754] - System Properties profile activation should move to Execution Properties activation
  • [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)

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.