Maven 2.0.5

2.0.5 Release Notes

The full list of changes can be found in our issue management system, and is reproduced below.

Changes that may affect existing builds

  • MNG-2794 - Maven now behaves in a defined way when matching the nearest dependency when two exist at the same depth in the dependency graph, by matching the first encountered. Previously, it was undefined. This may result in some builds having a different dependency graph, which could cause failures if all compilation dependencies are not specified completely in the POM. While not currently enforced, projects should always list the dependencies it needs to compile, even if they are available transitively.
  • MNG-2228 - The handling of build extensions has changed. This technique causes less pollution to the global classloader, allowing them to be used more widely for extensions to Maven's core. This may affect builds that used them to expose extra classes to various plugins. While in most scenarios these builds will continue to work, in these situations the <dependencies> element of <plugin> should be used instead.

Bug

  • [MNG-967] - maven.mdo, settings.mdo, and generated-sources
  • [MNG-1181] - MavenEmbedder.execute() doesn't run reactor modules
  • [MNG-1245] - Reactor projects sometimes used even with version mismatch
  • [MNG-1281] - Most of the links off the m2 ant task documentation page are broken
  • [MNG-1290] - What is a Mojo?
  • [MNG-1379] - Wrong path for artifacts with system scope
  • [MNG-1458] - error/warning handling in embedder
  • [MNG-1545] - some execution output not routed through default routes.
  • [MNG-1562] - Exception with dependencies that have type and implied version from parents
  • [MNG-1593] - Typo in settings doc
  • [MNG-1645] - document clean and site lifecycles in the build lifecycle doc
  • [MNG-1697] - NPE in addEdgeWithParentCheck
  • [MNG-1797] - Dependency excludes apply to every subsequent dependency, not just the one it is declared under.
  • [MNG-1891] - plugin execution in a profile
  • [MNG-1955] - null pointer exception in profile if pluginManagement section exists in pom
  • [MNG-2056] - Exception when starting new page with AbstractMavenMultiPageReport
  • [MNG-2088] - antcall failed
  • [MNG-2106] - Add dependency-maven-plugin to plugins list (patch attached)
  • [MNG-2164] - Generated plugin documentation lists wrong data type
  • [MNG-2177] - moved mojo plugins are missing web pages at http://maven.apache.org/plugins
  • [MNG-2201] - Interpolation problem when using surefire
  • [MNG-2214] - ITs fail when bootstrapping M2 SVN trunk with java.lang.StringIndexOutOfBoundsException: String index out of range: 1
  • [MNG-2221] - Multiple Executions of Plugin at Difference Inhertiance levels causes plugin executions to run multiple times
  • [MNG-2228] - Classloader problem loading jars from build extensions
  • [MNG-2230] - The "How do I create documentation?" part of the "Maven Gettting Started Guide" features an invalid example
  • [MNG-2236] - DefaultMavenProjectBuilder.buildStandaloneSuperProject() should include a ProfileManager that includes active profiles from settings.xml
  • [MNG-2244] - Plugin xdoc generator outputs xdoc with unix file endings
  • [MNG-2256] - Misleading documentation regarding configuration of java.utils.Properties
  • [MNG-2261] - Profiles ignored when working with non-projects (such as archetype:create)
  • [MNG-2282] - If a repo is down, maven stops the buid instead of trying other repos
  • [MNG-2284] - Cannot specify additional classpath entries in manifest when using addClasspath
  • [MNG-2291] - svn ignore command incorrect
  • [MNG-2299] - org.apache.maven.it.Verifier.loadProperties(..) does not close FileInputStream (relies upon finalizer being called)
  • [MNG-2302] - SCM path calculations don't work when parent and grandparent are in sibling directories
  • [MNG-2303] - ActiveProjectArtifact.getFile(..) and .setFile(..) result in StackOverflowException, since they are effectively recursive
  • [MNG-2309] - Profile activation order is random
  • [MNG-2312] - The mvn script doesn't work on Solaris
  • [MNG-2314] - dependencyManagement not inherited more than one level
  • [MNG-2341] - Shell script mvn too old
  • [MNG-2407] - New user docs: proxy configuration is not clear to new users
  • [MNG-2408] - Improve handling of "no plugin version found" error after intermittent errors
  • [MNG-2413] - maven version insistence based on wrong variable
  • [MNG-2420] - exclusion on dependency seems to act global on POM
  • [MNG-2424] - Classpath in reactor builds differ from dependency resolution
  • [MNG-2425] - Mojo parameters with no "expression" does not get added to the parameter list
  • [MNG-2460] - Incorrect POM inheritance for plugins
  • [MNG-2462] - Using Maven 1.x Legacy Repository Layout in a Maven 2.0.4 Project, I can't depend on a "java-sources" jar
  • [MNG-2475] - Need to finish escaping html in http://maven.apache.org/general.html#Compiling-J2SE-5
  • [MNG-2493] - Snapshot plugin repositories should be included for reference at the Maven site
  • [MNG-2539] - Transitive dependencies referenced by a plugin are searched only in the plugin-repositories
  • [MNG-2612] - antrun's exec task breaks in 2.0.5-SNAPSHOT
  • [MNG-2709] - Maven 2 doesn't resolve parent test dependencies when using JDK 6
  • [MNG-2712] - update policy 'daily' not honored
  • [MNG-2746] - NPE in DefaultMavenProjectBuilder when parentPath is a directory and pom is not found.
  • [MNG-2749] - extensions stopped working in 2.0.5-SNAPSHOT
  • [MNG-2773] - Plugin repositories are chekced for SNAPSHOTS on every run in the 2.0.5 candidate
  • [MNG-2780] - snapshots are not updated based on metadata deployed with uniqueVersion = false
  • [MNG-2790] - lastUpdated timestamp in local repository metadata not updated on install if it already exists
  • [MNG-2794] - Transitive dependency resolution differs between 2.0.4 and (future) 2.0.5
  • [MNG-2795] - Classloader problem loading a resource from a build extension Jar : difference between 2.0.4 and (future) 2.0.5
  • [MNG-2801] - broken link in basic documentation
  • [MNG-2820] - Deployment is stripping out the license header from the POM

Improvement

  • [MNG-830] - review plugins use of expression and change to default-value/component where appropriate
  • [MNG-1299] - Document m1 xdocs compatibility with the m2 site plug-in
  • [MNG-1508] - Need a process-test-classes phase
  • [MNG-1540] - ability to categorise guides in the maven site
  • [MNG-1560] - Guide to accessing repository with https client authentication
  • [MNG-1929] - Plugin Goal report should indicate which fields are read only. (Patch Attached)
  • [MNG-1952] - Give equal footing to all m2 plugins and add Cargo plugin to the list
  • [MNG-1997] - document xsd support for pom and settings in guides
  • [MNG-2129] - generated source repo page is misleading when added to the "general site".
  • [MNG-2153] - Updated resource bundles for pl and en locales
  • [MNG-2213] - Current settings.xml example incorrect
  • [MNG-2246] - mojo developer guide takes a shortcut at explaining fully how the command line can be shortened
  • [MNG-2250] - fix misspelled and added missing words in getting started guide and philosphy of maven
  • [MNG-2251] - Upgrade to plexus-utils 1.2
  • [MNG-2306] - mojo javadoc annotations support for IntelliJ Idea
  • [MNG-2311] - site plugin i18n HU
  • [MNG-2324] - Add a getWagon(Repository) method to the WagonManager
  • [MNG-2346] - FAQ: Why does maven compile my test classes but does not run them?
  • [MNG-2355] - Documentation of the @component javadoc tag
  • [MNG-2357] - misc cleanup
  • [MNG-2375] - Generate docs for mojo goals should list whehter or not each parameter is read-only
  • [MNG-2379] - review and link to free Maven courseware
  • [MNG-2474] - missing jar files in javax repository
  • [MNG-2494] - Plugin development guide should have link to test harness plugin
  • [MNG-2638] - Please add Developpez.com Maven FAQ to articles (french)

New Feature

  • [MNG-2169] - Want to contribute: Contributing Maven 2 refcard
  • [MNG-2293] - maven-plugin-descriptor: Not possible to define a default implementation for a field defined by its interface
  • [MNG-2454] - add @since to mojo at class level

Task

  • [MNG-1059] - update mojo API documentation
  • [MNG-1069] - Verify the embedder is using the same strategy for locating the local repo as the CLI
  • [MNG-1213] - more info on the plugin summary
  • [MNG-1325] - Document ibiblio synchronization process
  • [MNG-2117] - Update doap file descriptor
  • [MNG-2300] - broken links on http://maven.apache.org/plugins/
  • [MNG-2393] - documentation of -U on CLI usage help is incorrect

Wish

  • [MNG-1731] - I18n issues with report generation
  • [MNG-1880] - Add new pre and post phases to the integration-test phase
  • [MNG-2361] - Document pomRefId attribute for M2 ant tasks on M2 website.