You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sc...@apache.org on 2017/03/08 17:03:05 UTC

[01/46] maven git commit: [MNG-6110] Upgrade Aether to Maven Resolver 1.0.3 [Forced Update!]

Repository: maven
Updated Branches:
  refs/heads/MNG-5984 202177477 -> 5b7246a89 (forced update)


[MNG-6110] Upgrade Aether to Maven Resolver 1.0.3

Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/4d6c9292
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/4d6c9292
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/4d6c9292

Branch: refs/heads/MNG-5984
Commit: 4d6c9292c433626fa0b9a1cf711d4d0c366e7f33
Parents: a3cdfbb
Author: Harald Wellmann <ha...@gmx.de>
Authored: Sun Nov 6 12:13:32 2016 +0100
Committer: Herv� Boutemy <hb...@apache.org>
Committed: Wed Feb 1 07:59:52 2017 +0100

----------------------------------------------------------------------
 apache-maven/pom.xml          |  8 ++++----
 maven-aether-provider/pom.xml | 26 ++++++++++++-------------
 maven-compat/pom.xml          | 24 +++++++++++++++++++----
 maven-core/pom.xml            | 16 ++++++++++------
 maven-embedder/pom.xml        |  8 ++++++++
 pom.xml                       | 39 +++++++++++++++++++-------------------
 6 files changed, 75 insertions(+), 46 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/4d6c9292/apache-maven/pom.xml
----------------------------------------------------------------------
diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml
index e7d5608..6fc5a73 100644
--- a/apache-maven/pom.xml
+++ b/apache-maven/pom.xml
@@ -90,12 +90,12 @@ under the License.
       <artifactId>wagon-file</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.eclipse.aether</groupId>
-      <artifactId>aether-connector-basic</artifactId>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-connector-basic</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.eclipse.aether</groupId>
-      <artifactId>aether-transport-wagon</artifactId>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-transport-wagon</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>

http://git-wip-us.apache.org/repos/asf/maven/blob/4d6c9292/maven-aether-provider/pom.xml
----------------------------------------------------------------------
diff --git a/maven-aether-provider/pom.xml b/maven-aether-provider/pom.xml
index 0f3cb61..91d1ae7 100644
--- a/maven-aether-provider/pom.xml
+++ b/maven-aether-provider/pom.xml
@@ -31,7 +31,7 @@ under the License.
   <artifactId>maven-aether-provider</artifactId>
 
   <name>Maven Aether Provider</name>
-  <description>Extensions to Aether for utilizing Maven POM and repository metadata.</description>
+  <description>Extensions to Maven Resolver for utilizing Maven POM and repository metadata.</description>
 
   <dependencies>
     <dependency>
@@ -47,20 +47,20 @@ under the License.
       <artifactId>maven-repository-metadata</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.eclipse.aether</groupId>
-      <artifactId>aether-api</artifactId>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.eclipse.aether</groupId>
-      <artifactId>aether-spi</artifactId>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-spi</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.eclipse.aether</groupId>
-      <artifactId>aether-util</artifactId>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-util</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.eclipse.aether</groupId>
-      <artifactId>aether-impl</artifactId>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-impl</artifactId>
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
@@ -88,13 +88,13 @@ under the License.
     </dependency>
     <!-- Testing -->
     <dependency>
-      <groupId>org.eclipse.aether</groupId>
-      <artifactId>aether-connector-basic</artifactId>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-connector-basic</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.eclipse.aether</groupId>
-      <artifactId>aether-transport-wagon</artifactId>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-transport-wagon</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>

http://git-wip-us.apache.org/repos/asf/maven/blob/4d6c9292/maven-compat/pom.xml
----------------------------------------------------------------------
diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml
index 3a0a45c..876c11c 100644
--- a/maven-compat/pom.xml
+++ b/maven-compat/pom.xml
@@ -59,6 +59,22 @@ under the License.
       <artifactId>maven-core</artifactId>
     </dependency>
     <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-aether-provider</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-util</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-impl</artifactId>
+    </dependency>
+    <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
     </dependency>
@@ -85,13 +101,13 @@ under the License.
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.eclipse.aether</groupId>
-      <artifactId>aether-connector-basic</artifactId>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-connector-basic</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.eclipse.aether</groupId>
-      <artifactId>aether-transport-wagon</artifactId>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-transport-wagon</artifactId>
       <scope>test</scope>
     </dependency>
   </dependencies>

http://git-wip-us.apache.org/repos/asf/maven/blob/4d6c9292/maven-core/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/pom.xml b/maven-core/pom.xml
index d147dd8..ad5484a 100644
--- a/maven-core/pom.xml
+++ b/maven-core/pom.xml
@@ -73,16 +73,20 @@ under the License.
       <artifactId>maven-aether-provider</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.eclipse.aether</groupId>
-      <artifactId>aether-impl</artifactId>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-impl</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.eclipse.aether</groupId>
-      <artifactId>aether-api</artifactId>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.eclipse.aether</groupId>
-      <artifactId>aether-util</artifactId>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-spi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-util</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.shared</groupId>

http://git-wip-us.apache.org/repos/asf/maven/blob/4d6c9292/maven-embedder/pom.xml
----------------------------------------------------------------------
diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml
index 75b92c9..30ad2ce 100644
--- a/maven-embedder/pom.xml
+++ b/maven-embedder/pom.xml
@@ -51,6 +51,14 @@ under the License.
       <artifactId>maven-model-builder</artifactId>
     </dependency>
     <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-util</artifactId>
+    </dependency>
+    <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-compat</artifactId>
       <scope>runtime</scope>

http://git-wip-us.apache.org/repos/asf/maven/blob/4d6c9292/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index b61e0af..0e3b9a7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,7 +65,7 @@ under the License.
     <cipherVersion>1.7</cipherVersion>
     <modelloVersion>1.8.3</modelloVersion>
     <jxpathVersion>1.3</jxpathVersion>
-    <aetherVersion>1.0.2.v20150114</aetherVersion>
+    <resolverVersion>1.0.3</resolverVersion>
     <slf4jVersion>1.7.5</slf4jVersion>
     <maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile>
     <!-- Control the name of the distribution and information output by mvn -->
@@ -328,34 +328,34 @@ under the License.
       </dependency>
       <!--  Repository -->
       <dependency>
-        <groupId>org.eclipse.aether</groupId>
-        <artifactId>aether-api</artifactId>
-        <version>${aetherVersion}</version>
+        <groupId>org.apache.maven.resolver</groupId>
+        <artifactId>maven-resolver-api</artifactId>
+        <version>${resolverVersion}</version>
       </dependency>
       <dependency>
-        <groupId>org.eclipse.aether</groupId>
-        <artifactId>aether-spi</artifactId>
-        <version>${aetherVersion}</version>
+        <groupId>org.apache.maven.resolver</groupId>
+        <artifactId>maven-resolver-spi</artifactId>
+        <version>${resolverVersion}</version>
       </dependency>
       <dependency>
-        <groupId>org.eclipse.aether</groupId>
-        <artifactId>aether-impl</artifactId>
-        <version>${aetherVersion}</version>
+        <groupId>org.apache.maven.resolver</groupId>
+        <artifactId>maven-resolver-impl</artifactId>
+        <version>${resolverVersion}</version>
       </dependency>
       <dependency>
-        <groupId>org.eclipse.aether</groupId>
-        <artifactId>aether-util</artifactId>
-        <version>${aetherVersion}</version>
+        <groupId>org.apache.maven.resolver</groupId>
+        <artifactId>maven-resolver-util</artifactId>
+        <version>${resolverVersion}</version>
       </dependency>
       <dependency>
-        <groupId>org.eclipse.aether</groupId>
-        <artifactId>aether-connector-basic</artifactId>
-        <version>${aetherVersion}</version>
+        <groupId>org.apache.maven.resolver</groupId>
+        <artifactId>maven-resolver-connector-basic</artifactId>
+        <version>${resolverVersion}</version>
       </dependency>
       <dependency>
-        <groupId>org.eclipse.aether</groupId>
-        <artifactId>aether-transport-wagon</artifactId>
-        <version>${aetherVersion}</version>
+        <groupId>org.apache.maven.resolver</groupId>
+        <artifactId>maven-resolver-transport-wagon</artifactId>
+        <version>${resolverVersion}</version>
       </dependency>
       <!--  Commons -->
       <dependency>
@@ -639,6 +639,7 @@ under the License.
               <notimestamp>true</notimestamp>
               <quiet>true</quiet>
               <links combine.children="append">
+                <!-- TODO link to Maven Resolver Javadoc -->
                 <link>http://download.eclipse.org/aether/aether-core/${aetherVersion}/apidocs/</link>
                 <link>https://codehaus-plexus.github.io/plexus-containers/plexus-container-default/apidocs/</link>
               </links>


[16/46] maven git commit: [MNG-6165] Deprecate and replace incorrectly spelled public API

Posted by sc...@apache.org.
[MNG-6165] Deprecate and replace incorrectly spelled public API

Spelling fixes:

* spelling: collector
* spelling: executions
* spelling: repositories
* spelling: workspace

This closes #101


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/1be7ea89
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/1be7ea89
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/1be7ea89

Branch: refs/heads/MNG-5984
Commit: 1be7ea893e3db1e47a4cf84c0592e0aaea24a6c3
Parents: 23ceca3
Author: Josh Soref <js...@apache.org>
Authored: Mon Jan 23 04:57:23 2017 +0000
Committer: Michael Osipov <mi...@apache.org>
Committed: Mon Feb 6 20:36:38 2017 +0100

----------------------------------------------------------------------
 .../repository/MetadataResolutionRequest.java     | 18 ++++++++++++++++++
 .../repository/legacy/LegacyRepositorySystem.java |  2 +-
 .../DelegatingLocalArtifactRepository.java        |  9 +++++++++
 .../LifecycleExecutionPlanCalculatorStub.java     | 13 ++++++++++++-
 .../AbstractModelInterpolatorTest.java            | 18 ++++++++++++++----
 5 files changed, 54 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/1be7ea89/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionRequest.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionRequest.java b/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionRequest.java
index c98dd05..7593351 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionRequest.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionRequest.java
@@ -108,11 +108,24 @@ public class MetadataResolutionRequest
         return this;
     }
 
+    /**
+     * @deprecated instead use {@link #getRemoteRepositories()}
+     */
+    @Deprecated
     public List<ArtifactRepository> getRemoteRepostories()
     {
         return remoteRepositories;
     }
 
+    public List<ArtifactRepository> getRemoteRepositories()
+    {
+        return getRemoteRepostories();
+    }
+
+    /**
+     * @deprecated instead use {@link #setRemoteRepositories()}
+     */
+    @Deprecated
     public MetadataResolutionRequest setRemoteRepostories( List<ArtifactRepository> remoteRepostories )
     {
         this.remoteRepositories = remoteRepostories;
@@ -120,6 +133,11 @@ public class MetadataResolutionRequest
         return this;
     }
 
+    public MetadataResolutionRequest setRemoteRepositories( List<ArtifactRepository> remoteRepositories )
+    {
+        return setRemoteRepostories( remoteRepositories );
+    }
+
     public Map getManagedVersionMap()
     {
         return managedVersionMap;

http://git-wip-us.apache.org/repos/asf/maven/blob/1be7ea89/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java b/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java
index bd5988a..8d4d407 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java
@@ -329,7 +329,7 @@ public class LegacyRepositorySystem
                 DelegatingLocalArtifactRepository delegatingLocalRepository =
                     (DelegatingLocalArtifactRepository) request.getLocalRepository();
 
-                LocalArtifactRepository orig = delegatingLocalRepository.getIdeWorspace();
+                LocalArtifactRepository orig = delegatingLocalRepository.getIdeWorkspace();
 
                 delegatingLocalRepository.setIdeWorkspace( ideWorkspace );
 

http://git-wip-us.apache.org/repos/asf/maven/blob/1be7ea89/maven-core/src/main/java/org/apache/maven/repository/DelegatingLocalArtifactRepository.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/repository/DelegatingLocalArtifactRepository.java b/maven-core/src/main/java/org/apache/maven/repository/DelegatingLocalArtifactRepository.java
index 90c1fa9..eb8f5ea 100644
--- a/maven-core/src/main/java/org/apache/maven/repository/DelegatingLocalArtifactRepository.java
+++ b/maven-core/src/main/java/org/apache/maven/repository/DelegatingLocalArtifactRepository.java
@@ -61,11 +61,20 @@ public class DelegatingLocalArtifactRepository
         this.ideWorkspace = localRepository;
     }
 
+    /**
+     * @deprecated instead use {@link #getIdeWorkspace()}
+     */
+    @Deprecated
     public LocalArtifactRepository getIdeWorspace()
     {
         return ideWorkspace;
     }
 
+    public LocalArtifactRepository getIdeWorkspace()
+    {
+        return getIdeWorspace();
+    }
+
     @Override
     public Artifact find( Artifact artifact )
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/1be7ea89/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifecycleExecutionPlanCalculatorStub.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifecycleExecutionPlanCalculatorStub.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifecycleExecutionPlanCalculatorStub.java
index ad08549..43aa47c 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifecycleExecutionPlanCalculatorStub.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifecycleExecutionPlanCalculatorStub.java
@@ -87,7 +87,10 @@ public class LifecycleExecutionPlanCalculatorStub
 
     public final static MojoDescriptor SITE_DEPLOY = createMojoDescriptor( "site-deploy" );
 
-
+    /**
+     * @deprecated instead use {@link #getNumberOfExecutions()}
+     */
+    @Deprecated
     public int getNumberOfExceutions( ProjectBuildList projectBuildList )
         throws InvalidPluginDescriptorException, PluginVersionResolutionException, PluginDescriptorParsingException,
         NoPluginFoundForPrefixException, MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
@@ -103,6 +106,14 @@ public class LifecycleExecutionPlanCalculatorStub
         return result;
     }
 
+    public int getNumberOfExecutions( ProjectBuildList projectBuildList )
+        throws InvalidPluginDescriptorException, PluginVersionResolutionException, PluginDescriptorParsingException,
+        NoPluginFoundForPrefixException, MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
+        LifecyclePhaseNotFoundException, LifecycleNotFoundException
+    {
+        return getNumberOfExceutions( projectBuildList );
+    }
+
     public void calculateForkedExecutions( MojoExecution mojoExecution, MavenSession session )
         throws MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
         PluginDescriptorParsingException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,

http://git-wip-us.apache.org/repos/asf/maven/blob/1be7ea89/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java
index b56bc15..d8b54b8 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java
@@ -67,6 +67,10 @@ public abstract class AbstractModelInterpolatorTest
         assertEquals( "Expected no fatals", 0, collector.getFatals().size() );
     }
 
+    /**
+     * @deprecated instead use {@link #assertCollectorState()}
+     */
+    @Deprecated
     protected void assertColllectorState( int numFatals, int numErrors, int numWarnings,
                                           SimpleProblemCollector collector )
     {
@@ -75,6 +79,12 @@ public abstract class AbstractModelInterpolatorTest
         assertEquals( "Fatals", numFatals, collector.getFatals().size() );
     }
 
+    protected void assertCollectorState( int numFatals, int numErrors, int numWarnings,
+                                          SimpleProblemCollector collector )
+    {
+        assertColllectorState(numFatals, numErrors, numWarnings, collector);
+    }
+
     private ModelBuildingRequest createModelBuildingRequest( Properties p )
     {
         ModelBuildingRequest config = new DefaultModelBuildingRequest();
@@ -178,7 +188,7 @@ public abstract class AbstractModelInterpolatorTest
 
             final SimpleProblemCollector collector = new SimpleProblemCollector();
             interpolator.interpolateModel( model, null, createModelBuildingRequest( context ), collector );
-            assertColllectorState(  0, 1, 0, collector );
+            assertCollectorState(  0, 1, 0, collector );
         }
         catch ( Exception e )
         {
@@ -247,7 +257,7 @@ public abstract class AbstractModelInterpolatorTest
         final SimpleProblemCollector collector = new SimpleProblemCollector();
         Model out =
             interpolator.interpolateModel( model, new File( "." ), createModelBuildingRequest( context ), collector );
-        assertColllectorState(0, 0, 1, collector );
+        assertCollectorState(0, 0, 1, collector );
 
         assertEquals( "3.8.1", ( out.getDependencies().get( 0 ) ).getVersion() );
     }
@@ -305,7 +315,7 @@ public abstract class AbstractModelInterpolatorTest
         final SimpleProblemCollector collector = new SimpleProblemCollector();
         Model out =
             interpolator.interpolateModel( model, new File( "." ), createModelBuildingRequest( context ), collector );
-        assertColllectorState( 0, 0, 2, collector );
+        assertCollectorState( 0, 0, 2, collector );
 
         assertEquals( "foo-3.8.1", ( out.getDependencies().get( 0 ) ).getVersion() );
     }
@@ -450,7 +460,7 @@ public abstract class AbstractModelInterpolatorTest
 
         final SimpleProblemCollector collector = new SimpleProblemCollector();
         Model out = interpolator.interpolateModel( model, null, createModelBuildingRequest( context ), collector );
-        assertColllectorState( 0, 0, 2, collector );
+        assertCollectorState( 0, 0, 2, collector );
 
 
         List<Resource> outResources = out.getBuild().getResources();


[20/46] maven git commit: [MNG-5934] String handling issues identified by PMD

Posted by sc...@apache.org.
[MNG-5934] String handling issues identified by PMD


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/8d91726f
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/8d91726f
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/8d91726f

Branch: refs/heads/MNG-5984
Commit: 8d91726f7872f4462d9fa085ef5b6f32bfd0a2e1
Parents: 0514c1b
Author: Alex Henrie <al...@gmail.com>
Authored: Tue Jan 19 20:04:59 2016 +0100
Committer: Michael Osipov <mi...@apache.org>
Committed: Sat Feb 11 14:08:24 2017 +0100

----------------------------------------------------------------------
 .../apache/maven/artifact/DefaultArtifact.java  | 12 +++++------
 .../repository/ArtifactRepositoryPolicy.java    |  2 +-
 .../AbstractArtifactResolutionException.java    | 10 ++++-----
 .../MultipleArtifactsNotFoundException.java     |  3 ++-
 .../versioning/DefaultArtifactVersion.java      |  2 +-
 .../maven/artifact/versioning/Restriction.java  |  6 +++---
 .../maven/artifact/versioning/VersionRange.java |  6 +++---
 .../apache/maven/building/DefaultProblem.java   |  2 +-
 .../repository/DefaultArtifactRepository.java   |  8 +++----
 .../artifact/versioning/ManagedVersionMap.java  |  4 ++--
 .../validation/ModelValidationResult.java       |  2 +-
 .../repository/MetadataResolutionResult.java    | 22 +++++++++-----------
 .../repository/metadata/MetadataGraph.java      |  6 +++---
 .../metadata/MetadataGraphVertex.java           |  8 +++----
 .../project/LegacyLocalRepositoryManager.java   |  2 +-
 .../AbstractProjectInheritanceTestCase.java     |  2 +-
 .../repository/MavenArtifactRepository.java     | 14 ++++++-------
 .../metadata/AbstractRepositoryMetadata.java    |  2 +-
 .../resolver/ArtifactResolutionResult.java      |  8 +++----
 .../maven/lifecycle/mapping/LifecyclePhase.java |  2 +-
 .../org/apache/maven/plugin/MojoExecution.java  |  2 +-
 .../maven/plugin/PluginParameterException.java  |  6 +++---
 .../PluginParameterExpressionEvaluator.java     | 16 +++++++-------
 .../DefaultProjectDependenciesResolver.java     |  4 ++--
 .../org/apache/maven/project/MavenProject.java  |  4 ++--
 .../maven/repository/ArtifactTransferEvent.java | 10 ++++-----
 .../metadata/AbstractArtifactMetadata.java      |  2 +-
 .../project/LegacyLocalRepositoryManager.java   |  2 +-
 .../org/apache/maven/cli/CLIReportingUtils.java |  2 +-
 .../java/org/apache/maven/cli/MavenCli.java     |  2 +-
 .../maven/cli/event/ExecutionEventLogger.java   |  4 ++--
 .../UnsupportedSlf4jBindingConfiguration.java   |  2 +-
 .../maven/cli/CLIManagerDocumentationTest.java  |  2 +-
 .../model/building/DefaultModelBuilder.java     |  8 +++----
 .../model/building/DefaultModelProblem.java     |  2 +-
 .../maven/model/building/ModelProblemUtils.java |  2 +-
 .../maven/plugin/MojoNotFoundException.java     |  2 +-
 .../building/DefaultSettingsProblem.java        |  2 +-
 38 files changed, 98 insertions(+), 99 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java
----------------------------------------------------------------------
diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java b/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java
index 147e88e..bd2e8ed 100644
--- a/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java
+++ b/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java
@@ -230,7 +230,7 @@ public class DefaultArtifact
     {
         StringBuilder sb = new StringBuilder( 128 );
         sb.append( getGroupId() );
-        sb.append( ":" );
+        sb.append( ':' );
         appendArtifactTypeClassifierString( sb );
         return sb.toString();
     }
@@ -238,11 +238,11 @@ public class DefaultArtifact
     private void appendArtifactTypeClassifierString( StringBuilder sb )
     {
         sb.append( getArtifactId() );
-        sb.append( ":" );
+        sb.append( ':' );
         sb.append( getType() );
         if ( hasClassifier() )
         {
-            sb.append( ":" );
+            sb.append( ':' );
             sb.append( getClassifier() );
         }
     }
@@ -285,10 +285,10 @@ public class DefaultArtifact
         if ( getGroupId() != null )
         {
             sb.append( getGroupId() );
-            sb.append( ":" );
+            sb.append( ':' );
         }
         appendArtifactTypeClassifierString( sb );
-        sb.append( ":" );
+        sb.append( ':' );
         if ( getBaseVersionInternal() != null )
         {
             sb.append( getBaseVersionInternal() );
@@ -299,7 +299,7 @@ public class DefaultArtifact
         }
         if ( scope != null )
         {
-            sb.append( ":" );
+            sb.append( ':' );
             sb.append( scope );
         }
         return sb.toString();

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java
----------------------------------------------------------------------
diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java b/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java
index b6cd8f3..c5d2473 100644
--- a/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java
+++ b/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java
@@ -160,7 +160,7 @@ public class ArtifactRepositoryPolicy
         buffer.append( checksumPolicy );
         buffer.append( ", updates=" );
         buffer.append( updatePolicy );
-        buffer.append( "}" );
+        buffer.append( '}' );
         return buffer.toString();
     }
 

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java
----------------------------------------------------------------------
diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java b/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java
index 66e147c..b63428e 100644
--- a/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java
+++ b/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java
@@ -175,7 +175,7 @@ public class AbstractArtifactResolutionException
             for ( Iterator<String> i = path.iterator(); i.hasNext(); num++ )
             {
                 sb.append( indentation );
-                sb.append( "\t" );
+                sb.append( '\t' );
                 sb.append( num );
                 sb.append( ") " );
                 sb.append( i.next() );
@@ -201,8 +201,8 @@ public class AbstractArtifactResolutionException
         if ( message == null || !message.contains( "from the specified remote repositories:" ) )
         {
             sb.append( LS );
-            sb.append( "  " ).append( groupId ).append( ":" ).append( artifactId ).append( ":" ).append( type ).append(
-                ":" ).append( version );
+            sb.append( "  " ).append( groupId ).append( ':' ).append( artifactId ).append( ':' ).append( type ).append(
+                ':' ).append( version );
             sb.append( LS );
             if ( remoteRepositories != null )
             {
@@ -235,10 +235,10 @@ public class AbstractArtifactResolutionException
                         sb.append( ", snapshots=" ).append( snapshots.isEnabled() );
                     }
 
-                    sb.append( ")" );
+                    sb.append( ')' );
                     if ( i.hasNext() )
                     {
-                        sb.append( "," ).append( LS ).append( "  " );
+                        sb.append( ',' ).append( LS ).append( "  " );
                     }
                 }
             }

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/MultipleArtifactsNotFoundException.java
----------------------------------------------------------------------
diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/MultipleArtifactsNotFoundException.java b/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/MultipleArtifactsNotFoundException.java
index 0f13db1..896710f 100644
--- a/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/MultipleArtifactsNotFoundException.java
+++ b/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/MultipleArtifactsNotFoundException.java
@@ -84,8 +84,9 @@ public class MultipleArtifactsNotFoundException
 
     private static String constructMessage( List<Artifact> artifacts )
     {
-        StringBuilder buffer = new StringBuilder( "Missing:\n" );
+        StringBuilder buffer = new StringBuilder( 256 );
 
+        buffer.append( "Missing:\n" );
         buffer.append( "----------\n" );
 
         int counter = 0;

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
----------------------------------------------------------------------
diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java b/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
index b5e43d4..81a52b8 100644
--- a/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
+++ b/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
@@ -111,7 +111,7 @@ public class DefaultArtifactVersion
     {
         comparable = new ComparableVersion( version );
 
-        int index = version.indexOf( "-" );
+        int index = version.indexOf( '-' );
 
         String part1;
         String part2 = null;

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/Restriction.java
----------------------------------------------------------------------
diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/Restriction.java b/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/Restriction.java
index d73d7ea..c728e9f 100644
--- a/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/Restriction.java
+++ b/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/Restriction.java
@@ -178,17 +178,17 @@ public class Restriction
     {
         StringBuilder buf = new StringBuilder();
 
-        buf.append( isLowerBoundInclusive() ? "[" : "(" );
+        buf.append( isLowerBoundInclusive() ? '[' : '(' );
         if ( getLowerBound() != null )
         {
             buf.append( getLowerBound().toString() );
         }
-        buf.append( "," );
+        buf.append( ',' );
         if ( getUpperBound() != null )
         {
             buf.append( getUpperBound().toString() );
         }
-        buf.append( isUpperBoundInclusive() ? "]" : ")" );
+        buf.append( isUpperBoundInclusive() ? ']' : ')' );
 
         return buf.toString();
     }

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java
----------------------------------------------------------------------
diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java b/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java
index 0d094ef..7181db0 100644
--- a/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java
+++ b/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java
@@ -104,8 +104,8 @@ public class VersionRange
 
         while ( process.startsWith( "[" ) || process.startsWith( "(" ) )
         {
-            int index1 = process.indexOf( ")" );
-            int index2 = process.indexOf( "]" );
+            int index1 = process.indexOf( ')' );
+            int index2 = process.indexOf( ']' );
 
             int index = index2;
             if ( index2 < 0 || index1 < index2 )
@@ -171,7 +171,7 @@ public class VersionRange
 
         Restriction restriction;
 
-        int index = process.indexOf( "," );
+        int index = process.indexOf( ',' );
 
         if ( index < 0 )
         {

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-builder-support/src/main/java/org/apache/maven/building/DefaultProblem.java
----------------------------------------------------------------------
diff --git a/maven-builder-support/src/main/java/org/apache/maven/building/DefaultProblem.java b/maven-builder-support/src/main/java/org/apache/maven/building/DefaultProblem.java
index ad1fc40..427eb2c 100644
--- a/maven-builder-support/src/main/java/org/apache/maven/building/DefaultProblem.java
+++ b/maven-builder-support/src/main/java/org/apache/maven/building/DefaultProblem.java
@@ -151,7 +151,7 @@ class DefaultProblem
     {
         StringBuilder buffer = new StringBuilder( 128 );
 
-        buffer.append( "[" ).append( getSeverity() ).append( "] " );
+        buffer.append( '[' ).append( getSeverity() ).append( "] " );
         buffer.append( getMessage() );
         buffer.append( " @ " ).append( getLocation() );
 

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java b/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
index e0a5587..f5db5ef 100644
--- a/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
+++ b/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
@@ -175,11 +175,11 @@ public class DefaultArtifactRepository
 
     public String toString()
     {
-        StringBuilder sb = new StringBuilder();
+        StringBuilder sb = new StringBuilder( 256 );
 
-        sb.append( "       id: " ).append( getId() ).append( "\n" );
-        sb.append( "      url: " ).append( getUrl() ).append( "\n" );
-        sb.append( "   layout: " ).append( layout != null ? layout : "none" ).append( "\n" );
+        sb.append( "       id: " ).append( getId() ).append( '\n' );
+        sb.append( "      url: " ).append( getUrl() ).append( '\n' );
+        sb.append( "   layout: " ).append( layout != null ? layout : "none" ).append( '\n' );
 
         if ( snapshots != null )
         {

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-compat/src/main/java/org/apache/maven/artifact/versioning/ManagedVersionMap.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/artifact/versioning/ManagedVersionMap.java b/maven-compat/src/main/java/org/apache/maven/artifact/versioning/ManagedVersionMap.java
index 86b4949..02ac24c 100644
--- a/maven-compat/src/main/java/org/apache/maven/artifact/versioning/ManagedVersionMap.java
+++ b/maven-compat/src/main/java/org/apache/maven/artifact/versioning/ManagedVersionMap.java
@@ -45,10 +45,10 @@ public class ManagedVersionMap
         while ( iter.hasNext() )
         {
             String key = iter.next();
-            buffer.append( key ).append( "=" ).append( get( key ) );
+            buffer.append( key ).append( '=' ).append( get( key ) );
             if ( iter.hasNext() )
             {
-                buffer.append( "\n" );
+                buffer.append( '\n' );
             }
         }
         return buffer.toString();

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-compat/src/main/java/org/apache/maven/project/validation/ModelValidationResult.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/project/validation/ModelValidationResult.java b/maven-compat/src/main/java/org/apache/maven/project/validation/ModelValidationResult.java
index ad94fe0..5033b99 100644
--- a/maven-compat/src/main/java/org/apache/maven/project/validation/ModelValidationResult.java
+++ b/maven-compat/src/main/java/org/apache/maven/project/validation/ModelValidationResult.java
@@ -85,7 +85,7 @@ public class ModelValidationResult
 //
         for ( int i = 0; i < messages.size(); i++ )
         {
-            message.append( indentation ).append( "[" ).append( i ).append( "]  " ).append( messages.get( i ) ).append(
+            message.append( indentation ).append( '[' ).append( i ).append( "]  " ).append( messages.get( i ) ).append(
                 NEWLINE );
         }
 

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java b/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java
index bd5436c..906d0f6 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java
@@ -322,21 +322,19 @@ public class MetadataResolutionResult
 
     public String toString()
     {
-        StringBuilder sb = new StringBuilder();
+        if ( artifacts == null )
+            return "";
 
-        if ( artifacts != null )
+        StringBuilder sb = new StringBuilder( 256 );
+        int i = 1;
+        sb.append( "---------\n" );
+        sb.append( artifacts.size() ).append( '\n' );
+        for ( Artifact a : artifacts )
         {
-            int i = 1;
-            sb.append( "---------" ).append( "\n" );
-            sb.append( artifacts.size() ).append( "\n" );
-            for ( Artifact a : artifacts )
-            {
-                sb.append( i ).append( " " ).append( a ).append( "\n" );
-                i++;
-            }
-            sb.append( "---------" ).append( "\n" );
+            sb.append( i ).append( ' ' ).append( a ).append( '\n' );
+            i++;
         }
-
+        sb.append( "---------\n" );
         return sb.toString();
     }
 

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraph.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraph.java b/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraph.java
index 4bcca4c..532cd3c 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraph.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraph.java
@@ -486,13 +486,13 @@ public class MetadataGraph
         }
         for ( MetadataGraphVertex v : vertices )
         {
-            sb.append( "Vertex:  " ).append( v.getMd().toString() ).append( "\n" );
+            sb.append( "Vertex:  " ).append( v.getMd().toString() ).append( '\n' );
             List<MetadataGraphEdge> ins = getIncidentEdges( v );
             if ( ins != null )
             {
                 for ( MetadataGraphEdge e : ins )
                 {
-                    sb.append( "       from :  " ).append( e.toString() ).append( "\n" );
+                    sb.append( "       from :  " ).append( e.toString() ).append( '\n' );
                 }
             }
             else
@@ -505,7 +505,7 @@ public class MetadataGraph
             {
                 for ( MetadataGraphEdge e : outs )
                 {
-                    sb.append( "        to :  " ).append( e.toString() ).append( "\n" );
+                    sb.append( "        to :  " ).append( e.toString() ).append( '\n' );
                 }
             }
             else

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraphVertex.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraphVertex.java b/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraphVertex.java
index eb87121..495d061 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraphVertex.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraphVertex.java
@@ -192,17 +192,17 @@ public class MetadataGraphVertex
             return super.hashCode();
         }
         StringBuilder hashString = new StringBuilder( 128 );
-        hashString.append( md.groupId ).append( "|" );
-        hashString.append( md.artifactId ).append( "|" );
+        hashString.append( md.groupId ).append( '|' );
+        hashString.append( md.artifactId ).append( '|' );
 
         if ( compareVersion )
         {
-            hashString.append( md.version ).append( "|" );
+            hashString.append( md.version ).append( '|' );
         }
 
         if ( compareScope )
         {
-            hashString.append( md.getArtifactScope() ).append( "|" );
+            hashString.append( md.getArtifactScope() ).append( '|' );
         }
 
         return hashString.toString().hashCode();

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-compat/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java b/maven-compat/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java
index 52fdd80..c919cdf 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java
@@ -59,7 +59,7 @@ public class LegacyLocalRepositoryManager
 
         path.append( artifact.getGroupId() ).append( '/' );
 
-        path.append( artifact.getExtension() ).append( 's' ).append( '/' );
+        path.append( artifact.getExtension() ).append( "s/" );
 
         path.append( artifact.getArtifactId() ).append( '-' ).append( artifact.getVersion() );
 

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-compat/src/test/java/org/apache/maven/project/inheritance/AbstractProjectInheritanceTestCase.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/AbstractProjectInheritanceTestCase.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/AbstractProjectInheritanceTestCase.java
index 413d6fe..93358ec 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/AbstractProjectInheritanceTestCase.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/AbstractProjectInheritanceTestCase.java
@@ -33,7 +33,7 @@ public abstract class AbstractProjectInheritanceTestCase
     {
         String className = getClass().getPackage().getName();
 
-        return className.substring( className.lastIndexOf( "." ) + 1 );
+        return className.substring( className.lastIndexOf( '.' ) + 1 );
     }
 
     protected File projectFile( String name )

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java b/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java
index 450d139..38ae6bb 100644
--- a/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java
+++ b/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java
@@ -132,15 +132,15 @@ public class MavenArtifactRepository
 
     public String toString()
     {
-        StringBuilder sb = new StringBuilder();
+        StringBuilder sb = new StringBuilder( 256 );
 
-        sb.append( "      id: " ).append( getId() ).append( "\n" );
-        sb.append( "      url: " ).append( getUrl() ).append( "\n" );
-        sb.append( "   layout: " ).append( layout != null ? layout : "none" ).append( "\n" );
+        sb.append( "      id: " ).append( getId() ).append( '\n' );
+        sb.append( "      url: " ).append( getUrl() ).append( '\n' );
+        sb.append( "   layout: " ).append( layout != null ? layout : "none" ).append( '\n' );
 
         if ( proxy != null )
         {
-            sb.append( "    proxy: " ).append( proxy.getHost() ).append( ":" ).append( proxy.getPort() ).append( "\n" );
+            sb.append( "    proxy: " ).append( proxy.getHost() ).append( ':' ).append( proxy.getPort() ).append( '\n' );
         }
 
         if ( snapshots != null )
@@ -220,7 +220,7 @@ public class MavenArtifactRepository
      */
     private static String protocol( final String url )
     {
-        final int pos = url.indexOf( ":" );
+        final int pos = url.indexOf( ':' );
 
         if ( pos == -1 )
         {
@@ -257,7 +257,7 @@ public class MavenArtifactRepository
                 else
                 {
                     // Now we expect the host
-                    int index = retValue.indexOf( "/" );
+                    int index = retValue.indexOf( '/' );
                     if ( index >= 0 )
                     {
                         retValue = retValue.substring( index + 1 );

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java b/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java
index 0528417..37e69e5 100644
--- a/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java
+++ b/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java
@@ -197,7 +197,7 @@ public abstract class AbstractRepositoryMetadata
 
     public String extendedToString()
     {
-        StringBuilder buffer = new StringBuilder();
+        StringBuilder buffer = new StringBuilder( 256 );
 
         buffer.append( "\nRepository Metadata\n--------------------------" );
         buffer.append( "\nGroupId: " ).append( getGroupId() );

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java b/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
index 07331f2..2bad1a7 100644
--- a/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
+++ b/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
@@ -343,14 +343,14 @@ public class ArtifactResolutionResult
         if ( artifacts != null )
         {
             int i = 1;
-            sb.append( "---------" ).append( "\n" );
-            sb.append( artifacts.size() ).append( "\n" );
+            sb.append( "---------\n" );
+            sb.append( artifacts.size() ).append( '\n' );
             for ( Artifact a : artifacts )
             {
-                sb.append( i ).append( " " ).append( a ).append( "\n" );
+                sb.append( i ).append( ' ' ).append( a ).append( '\n' );
                 i++;
             }
-            sb.append( "---------" ).append( "\n" );
+            sb.append( "---------\n" );
         }
 
         return sb.toString();

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecyclePhase.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecyclePhase.java b/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecyclePhase.java
index 059f234..295e642 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecyclePhase.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecyclePhase.java
@@ -84,7 +84,7 @@ public class LifecyclePhase
                 }
                 else
                 {
-                    sb.append( "," );
+                    sb.append( ',' );
                 }
                 sb.append( mojo.getGoal() );
             }

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java b/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java
index bf053cc..71ece87 100644
--- a/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java
+++ b/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java
@@ -175,7 +175,7 @@ public class MojoExecution
         {
             buffer.append( mojoDescriptor.getId() );
         }
-        buffer.append( " {execution: " ).append( executionId ).append( "}" );
+        buffer.append( " {execution: " ).append( executionId ).append( '}' );
         return buffer.toString();
     }
 

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterException.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterException.java b/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterException.java
index dcf459e..5f431e0 100644
--- a/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterException.java
+++ b/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterException.java
@@ -151,7 +151,7 @@ public class PluginParameterException
 
         if ( StringUtils.isEmpty( expression ) )
         {
-            messageBuffer.append( "." );
+            messageBuffer.append( '.' );
         }
         else
         {
@@ -172,7 +172,7 @@ public class PluginParameterException
         MojoDescriptor mojo = getMojoDescriptor();
 
         messageBuffer.append( "One or more required plugin parameters are invalid/missing for \'" )
-            .append( mojo.getPluginDescriptor().getGoalPrefix() ).append( ":" ).append( mojo.getGoal() )
+            .append( mojo.getPluginDescriptor().getGoalPrefix() ).append( ':' ).append( mojo.getGoal() )
             .append( "\'\n" );
 
         int idx = 0;
@@ -184,7 +184,7 @@ public class PluginParameterException
 
             decomposeParameterIntoUserInstructions( mojo, param, messageBuffer );
 
-            messageBuffer.append( "\n" );
+            messageBuffer.append( '\n' );
         }
 
         return messageBuffer.toString();

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java b/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
index 9199ba5..a7eeb4e 100644
--- a/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
+++ b/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
@@ -160,7 +160,7 @@ public class PluginParameterExpressionEvaluator
             int index = expr.indexOf( "${" );
             if ( index >= 0 )
             {
-                int lastIndex = expr.indexOf( "}", index );
+                int lastIndex = expr.indexOf( '}', index );
                 if ( lastIndex >= 0 )
                 {
                     String retVal = expr.substring( 0, index );
@@ -213,7 +213,7 @@ public class PluginParameterExpressionEvaluator
         {
             try
             {
-                int pathSeparator = expression.indexOf( "/" );
+                int pathSeparator = expression.indexOf( '/' );
 
                 if ( pathSeparator > 0 )
                 {
@@ -253,7 +253,7 @@ public class PluginParameterExpressionEvaluator
         {
             try
             {
-                int pathSeparator = expression.indexOf( "/" );
+                int pathSeparator = expression.indexOf( '/' );
 
                 if ( pathSeparator > 0 )
                 {
@@ -285,7 +285,7 @@ public class PluginParameterExpressionEvaluator
         {
             try
             {
-                int pathSeparator = expression.indexOf( "/" );
+                int pathSeparator = expression.indexOf( '/' );
 
                 if ( pathSeparator > 0 )
                 {
@@ -313,7 +313,7 @@ public class PluginParameterExpressionEvaluator
         {
             try
             {
-                int pathSeparator = expression.indexOf( "/" );
+                int pathSeparator = expression.indexOf( '/' );
 
                 PluginDescriptor pluginDescriptor = mojoDescriptor.getPluginDescriptor();
 
@@ -342,7 +342,7 @@ public class PluginParameterExpressionEvaluator
         {
             try
             {
-                int pathSeparator = expression.indexOf( "/" );
+                int pathSeparator = expression.indexOf( '/' );
 
                 if ( pathSeparator > 0 )
                 {
@@ -368,7 +368,7 @@ public class PluginParameterExpressionEvaluator
         }
         else if ( expression.startsWith( "basedir" ) )
         {
-            int pathSeparator = expression.indexOf( "/" );
+            int pathSeparator = expression.indexOf( '/' );
 
             if ( pathSeparator > 0 )
             {
@@ -447,7 +447,7 @@ public class PluginParameterExpressionEvaluator
 
     private String stripTokens( String expr )
     {
-        if ( expr.startsWith( "${" ) && ( expr.indexOf( "}" ) == expr.length() - 1 ) )
+        if ( expr.startsWith( "${" ) && ( expr.indexOf( '}' ) == expr.length() - 1 ) )
         {
             expr = expr.substring( 2, expr.length() - 1 );
         }

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java
index 2486057..16b60c2 100644
--- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java
+++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java
@@ -263,7 +263,7 @@ public class DefaultProjectDependenciesResolver
                 {
                     buffer.append( " (scope managed from " ).append( premanagedScope );
                     appendManagementSource( buffer, art, "scope" );
-                    buffer.append( ")" );
+                    buffer.append( ')' );
                 }
 
                 String premanagedVersion = DependencyManagerUtils.getPremanagedVersion( node );
@@ -271,7 +271,7 @@ public class DefaultProjectDependenciesResolver
                 {
                     buffer.append( " (version managed from " ).append( premanagedVersion );
                     appendManagementSource( buffer, art, "version" );
-                    buffer.append( ")" );
+                    buffer.append( ')' );
                 }
             }
             else

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
index 952622f..77206bd 100644
--- a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
+++ b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
@@ -1133,9 +1133,9 @@ public class MavenProject
         StringBuilder sb = new StringBuilder( 128 );
         sb.append( "MavenProject: " );
         sb.append( getGroupId() );
-        sb.append( ":" );
+        sb.append( ':' );
         sb.append( getArtifactId() );
-        sb.append( ":" );
+        sb.append( ':' );
         sb.append( getVersion() );
         sb.append( " @ " );
 

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferEvent.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferEvent.java b/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferEvent.java
index 09729dd..0d31eb2 100644
--- a/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferEvent.java
+++ b/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferEvent.java
@@ -242,7 +242,7 @@ public class ArtifactTransferEvent
 
     public String toString()
     {
-        StringBuilder sb = new StringBuilder();
+        StringBuilder sb = new StringBuilder( 64 );
 
         sb.append( "TransferEvent[" );
 
@@ -259,7 +259,7 @@ public class ArtifactTransferEvent
                 break;
         }
 
-        sb.append( "|" );
+        sb.append( '|' );
         switch ( this.getEventType() )
         {
             case TRANSFER_COMPLETED:
@@ -282,9 +282,9 @@ public class ArtifactTransferEvent
                 break;
         }
 
-        sb.append( "|" );
-        sb.append( this.getLocalFile() ).append( "|" );
-        sb.append( "]" );
+        sb.append( '|' );
+        sb.append( this.getLocalFile() ).append( '|' );
+        sb.append( ']' );
 
         return sb.toString();
     }

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/AbstractArtifactMetadata.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/AbstractArtifactMetadata.java b/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/AbstractArtifactMetadata.java
index 352e5bb..def20e4 100644
--- a/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/AbstractArtifactMetadata.java
+++ b/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/AbstractArtifactMetadata.java
@@ -53,7 +53,7 @@ public abstract class AbstractArtifactMetadata
 
     public String extendedToString()
     {
-        StringBuilder buffer = new StringBuilder();
+        StringBuilder buffer = new StringBuilder( 256 );
 
         buffer.append( "\nArtifact Metadata\n--------------------------" );
         buffer.append( "\nGroupId: " ).append( getGroupId() );

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-core/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java b/maven-core/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java
index 52fdd80..c919cdf 100644
--- a/maven-core/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java
+++ b/maven-core/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java
@@ -59,7 +59,7 @@ public class LegacyLocalRepositoryManager
 
         path.append( artifact.getGroupId() ).append( '/' );
 
-        path.append( artifact.getExtension() ).append( 's' ).append( '/' );
+        path.append( artifact.getExtension() ).append( "s/" );
 
         path.append( artifact.getArtifactId() ).append( '-' ).append( artifact.getVersion() );
 

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java b/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java
index f164852..c5faef5 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java
@@ -71,7 +71,7 @@ public final class CLIReportingUtils
         version.append( "Default locale: " ).append( Locale.getDefault() ).append( ", platform encoding: " ).append(
             System.getProperty( "file.encoding", "<unknown encoding>" ) ).append( ls );
         version.append( "OS name: \"" ).append( Os.OS_NAME ).append( "\", version: \"" ).append( Os.OS_VERSION ).append(
-            "\", arch: \"" ).append( Os.OS_ARCH ).append( "\", family: \"" ).append( Os.OS_FAMILY ).append( "\"" );
+            "\", arch: \"" ).append( Os.OS_ARCH ).append( "\", family: \"" ).append( Os.OS_FAMILY ).append( '\"' );
         return version.toString();
     }
 

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
index d239884..1cdbd23 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
@@ -1621,7 +1621,7 @@ public class MavenCli
 
         String value;
 
-        int i = property.indexOf( "=" );
+        int i = property.indexOf( '=' );
 
         if ( i <= 0 )
         {

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java b/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java
index 25ec38d..76327ea 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java
@@ -174,7 +174,7 @@ public class ExecutionEventLogger
                     buffer.append( chars( ' ', padSize ) );
                 }
                 buffer.append( buildTimeDuration );
-                buffer.append( "]" );
+                buffer.append( ']' );
             }
             else if ( buildSummary instanceof BuildFailure )
             {
@@ -187,7 +187,7 @@ public class ExecutionEventLogger
                     buffer.append( chars( ' ', padSize ) );
                 }
                 buffer.append( buildTimeDuration );
-                buffer.append( "]" );
+                buffer.append( ']' );
             }
 
             logger.info( buffer.toString() );

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/UnsupportedSlf4jBindingConfiguration.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/UnsupportedSlf4jBindingConfiguration.java b/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/UnsupportedSlf4jBindingConfiguration.java
index 2e91b25..d269770 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/UnsupportedSlf4jBindingConfiguration.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/UnsupportedSlf4jBindingConfiguration.java
@@ -59,7 +59,7 @@ public class UnsupportedSlf4jBindingConfiguration
         for ( Map.Entry<URL, Set<Object>> entry : supported.entrySet() )
         {
             StringBuilder sb = new StringBuilder();
-            sb.append( "(from " ).append( entry.getKey().toExternalForm() ).append( ")" );
+            sb.append( "(from " ).append( entry.getKey().toExternalForm() ).append( ')' );
 
             for ( Object binding : entry.getValue() )
             {

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java b/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java
index a06f0a1..f58d75b 100644
--- a/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java
+++ b/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java
@@ -62,7 +62,7 @@ public class CLIManagerDocumentationTest
 
     public String getOptionsAsHtml()
     {
-        StringBuilder sb = new StringBuilder();
+        StringBuilder sb = new StringBuilder( 512 );
         boolean a = true;
         sb.append( "<table border='1' class='zebra-striped'><tr class='a'><th><b>Options</b></th><th><b>Description</b></th></tr>" );
         for ( Option option : new CLIManagerExtension().getOptions() )

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
index ac54737..189651b 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
@@ -914,8 +914,8 @@ public class DefaultModelBuilder
             {
                 buffer.append( " of POM " ).append( ModelProblemUtils.toSourceHint( childModel ) );
             }
-            buffer.append( " points at " ).append( groupId ).append( ":" ).append( artifactId );
-            buffer.append( " instead of " ).append( parent.getGroupId() ).append( ":" );
+            buffer.append( " points at " ).append( groupId ).append( ':' ).append( artifactId );
+            buffer.append( " instead of " ).append( parent.getGroupId() ).append( ':' );
             buffer.append( parent.getArtifactId() ).append( ", please verify your project structure" );
 
             problems.setSource( childModel );
@@ -1028,7 +1028,7 @@ public class DefaultModelBuilder
             buffer.append( "Non-resolvable parent POM" );
             if ( !containsCoordinates( e.getMessage(), groupId, artifactId, version ) )
             {
-                buffer.append( " " ).append( ModelProblemUtils.toId( groupId, artifactId, version ) );
+                buffer.append( ' ' ).append( ModelProblemUtils.toId( groupId, artifactId, version ) );
             }
             if ( childModel != problems.getRootModel() )
             {
@@ -1221,7 +1221,7 @@ public class DefaultModelBuilder
                         buffer.append( "Non-resolvable import POM" );
                         if ( !containsCoordinates( e.getMessage(), groupId, artifactId, version ) )
                         {
-                            buffer.append( " " ).append( ModelProblemUtils.toId( groupId, artifactId, version ) );
+                            buffer.append( ' ' ).append( ModelProblemUtils.toId( groupId, artifactId, version ) );
                         }
                         buffer.append( ": " ).append( e.getMessage() );
 

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelProblem.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelProblem.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelProblem.java
index 0892f0a..78e81e3 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelProblem.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelProblem.java
@@ -165,7 +165,7 @@ public class DefaultModelProblem
     {
         StringBuilder buffer = new StringBuilder( 128 );
 
-        buffer.append( "[" ).append( getSeverity() ).append( "] " );
+        buffer.append( '[' ).append( getSeverity() ).append( "] " );
         buffer.append( getMessage() );
         buffer.append( " @ " ).append( ModelProblemUtils.formatLocation( this, null ) );
 

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemUtils.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemUtils.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemUtils.java
index 806c28d..76c23e1 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemUtils.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemUtils.java
@@ -51,7 +51,7 @@ public class ModelProblemUtils
         File pomFile = model.getPomFile();
         if ( pomFile != null )
         {
-            buffer.append( " (" ).append( pomFile ).append( ")" );
+            buffer.append( " (" ).append( pomFile ).append( ')' );
         }
 
         return buffer.toString();

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-plugin-api/src/main/java/org/apache/maven/plugin/MojoNotFoundException.java
----------------------------------------------------------------------
diff --git a/maven-plugin-api/src/main/java/org/apache/maven/plugin/MojoNotFoundException.java b/maven-plugin-api/src/main/java/org/apache/maven/plugin/MojoNotFoundException.java
index 4d99546..cdb9a23 100644
--- a/maven-plugin-api/src/main/java/org/apache/maven/plugin/MojoNotFoundException.java
+++ b/maven-plugin-api/src/main/java/org/apache/maven/plugin/MojoNotFoundException.java
@@ -54,7 +54,7 @@ public class MojoNotFoundException
     {
         StringBuilder buffer = new StringBuilder( 256 );
 
-        buffer.append( "Could not find goal '" ).append( goal ).append( "'" );
+        buffer.append( "Could not find goal '" ).append( goal ).append( '\'' );
 
         if ( pluginDescriptor != null )
         {

http://git-wip-us.apache.org/repos/asf/maven/blob/8d91726f/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsProblem.java
----------------------------------------------------------------------
diff --git a/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsProblem.java b/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsProblem.java
index b261fa1..a8eb909 100644
--- a/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsProblem.java
+++ b/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsProblem.java
@@ -156,7 +156,7 @@ public class DefaultSettingsProblem
     {
         StringBuilder buffer = new StringBuilder( 128 );
 
-        buffer.append( "[" ).append( getSeverity() ).append( "] " );
+        buffer.append( '[' ).append( getSeverity() ).append( "] " );
         buffer.append( getMessage() );
         buffer.append( " @ " ).append( getLocation() );
 


[29/46] maven git commit: Fixed links in pom which pointed to shut down codehaus jira.

Posted by sc...@apache.org.
Fixed links in pom which pointed to shut down codehaus jira.


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/60a7f5da
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/60a7f5da
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/60a7f5da

Branch: refs/heads/MNG-5984
Commit: 60a7f5da494216168e4cc2c88c357b1cbdd43ad2
Parents: 3982c19
Author: Karl Heinz Marbaise <kh...@apache.org>
Authored: Fri Dec 4 20:59:04 2015 +0100
Committer: Herv� Boutemy <hb...@apache.org>
Committed: Sat Feb 18 18:08:45 2017 +0100

----------------------------------------------------------------------
 pom.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/60a7f5da/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 9f3204b..a085ffa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -150,8 +150,8 @@ under the License.
   </contributors>
 
   <!-- This marked as deprecated for Maven 3.X. This is checked by maven-enforcer-plugin -->
-  <!--  http://jira.codehaus.org/browse/MNG-4840 -->
-  <!--  http://jira.codehaus.org/browse/MNG-5297 -->
+  <!--  https://issues.apache.org/jira/browse/MNG-4840 -->
+  <!--  https://issues.apache.org/jira/browse/MNG-5297 -->
   <prerequisites>
     <maven>${maven.version}</maven>
   </prerequisites>


[33/46] maven git commit: Switch to resolveScm so that we get auto linking of matching integration test branches

Posted by sc...@apache.org.
Switch to resolveScm so that we get auto linking of matching integration test branches

- Also use short paths when integration testing on windows and clean up
afterwards to ensure disk space does not overflow


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/5cce371c
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/5cce371c
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/5cce371c

Branch: refs/heads/MNG-5984
Commit: 5cce371c8aee5d957d9b24e46cddc939a15aff40
Parents: e6217a4
Author: Stephen Connolly <st...@gmail.com>
Authored: Tue Feb 21 17:33:54 2017 +0000
Committer: Stephen Connolly <st...@gmail.com>
Committed: Thu Feb 23 12:41:52 2017 +0000

----------------------------------------------------------------------
 Jenkinsfile | 25 ++++++++++++++++++-------
 1 file changed, 18 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/5cce371c/Jenkinsfile
----------------------------------------------------------------------
diff --git a/Jenkinsfile b/Jenkinsfile
index 5b82d78..2ac2644 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -19,7 +19,7 @@
 
 properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr: env.BRANCH_NAME=='master'?'10':'5'))])
 
-def itBranch='master'
+def tests
 
 try {
 node('ubuntu') {
@@ -40,6 +40,7 @@ node('ubuntu') {
             stash includes: 'apache-maven-dist.zip', name: 'dist'
         }
         junit allowEmptyResults: true, testResults:'**/target/*-reports/*.xml'
+        tests = resolveScm source: [$class: 'GitSCMSource', credentialsId: '', excludes: '', gitTool: 'Default', id: '_', ignoreOnPushNotifications: false, includes: '*', remote: 'https://git-wip-us.apache.org/repos/asf/maven-integration-testing.git'], targets: [BRANCH_NAME, 'master']
     }
 }
 
@@ -52,13 +53,14 @@ parallel linuxJava7:{
             echo "Running integration tests with Java $JAVA_NIX_J7"
             dir('test') {
                 def WORK_DIR=pwd()
-                git(url:'https://git-wip-us.apache.org/repos/asf/maven-integration-testing.git', branch: itBranch)
+                checkout tests
                 sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo"
                 unstash 'dist'
                 withEnv(["PATH+MAVEN=$MAVEN_NIX_J7/bin","PATH+JDK=$JAVA_NIX_J7/bin"]) {
                     sh "mvn clean install -Prun-its -B -U -V -Dmaven.test.failure.ignore=true -Dmaven.repo.local=$WORK_DIR/it-local-repo -DmavenDistro=$WORK_DIR/apache-maven-dist.zip"
                 }
                 junit allowEmptyResults: true, testResults:'core-it-support/**/target/*-reports/*.xml,core-it-suite/target/*-reports/*.xml'
+                deleteDir() // clean up after ourselves to reduce disk space
             }
         }
     },linuxJava8: {
@@ -69,13 +71,14 @@ parallel linuxJava7:{
             echo "Running integration tests with Java $JAVA_NIX_J8"
             dir('test') {
                 def WORK_DIR=pwd()
-                git(url:'https://git-wip-us.apache.org/repos/asf/maven-integration-testing.git', branch: itBranch)
+                checkout tests
                 sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo"
                 unstash 'dist'
                 withEnv(["PATH+MAVEN=$MAVEN_NIX_J8/bin","PATH+JDK=$JAVA_NIX_J8/bin"]) {
                     sh "mvn clean install -Prun-its -B -U -V -Dmaven.test.failure.ignore=true -Dmaven.repo.local=$WORK_DIR/it-local-repo -DmavenDistro=$WORK_DIR/apache-maven-dist.zip"
                 }
                 junit allowEmptyResults: true, testResults:'core-it-support/**/target/*-reports/*.xml,core-it-suite/target/*-reports/*.xml'
+                deleteDir() // clean up after ourselves to reduce disk space
             }
         }
     }, winJava7: {
@@ -90,9 +93,12 @@ parallel linuxJava7:{
                 JAVA_WIN_J7=pwd()
             }
             echo "Running integration tests with Java $JAVA_WIN_J7"
-            dir('test') {
+            // need a short path or we hit 256 character limit for paths
+            // using EXECUTOR_NUMBER guarantees that concurrent builds on same agent
+            // will not trample each other
+            dir("/mvn-it-${EXECUTOR_NUMBER}.tmp") {
                 def WORK_DIR=pwd()
-                git(url:'https://git-wip-us.apache.org/repos/asf/maven-integration-testing.git', branch: itBranch)
+                checkout tests
                 bat "if exist it-local-repo rmdir /s /q it-local-repo"
                 bat "if exist apache-maven-dist.zip del /q apache-maven-dist.zip"
                 withEnv(["Path+MAVEN=$MAVEN_WIN_J7\\bin","Path+JDK=$JAVA_WIN_J7\\bin","JAVA_HOME=$JAVA_WIN_J7"]) {
@@ -101,6 +107,7 @@ parallel linuxJava7:{
                     bat "mvn clean install -Prun-its -B -U -V -Dmaven.test.failure.ignore=true -Dmaven.repo.local=$WORK_DIR/it-local-repo -DmavenDistro=$WORK_DIR/apache-maven-dist.zip"
                 }
                 junit allowEmptyResults: true, testResults:'core-it-support/**/target/*-reports/*.xml,core-it-suite/target/*-reports/*.xml'
+                deleteDir() // clean up after ourselves to reduce disk space
             }
         }
     }, winJava8: {
@@ -115,9 +122,12 @@ parallel linuxJava7:{
                 JAVA_WIN_J8=pwd()
             }
             echo "Running integration tests with Java $JAVA_WIN_J8"
-            dir('test') {
+            // need a short path or we hit 256 character limit for paths
+            // using EXECUTOR_NUMBER guarantees that concurrent builds on same agent
+            // will not trample each other
+            dir("/mvn-it-${EXECUTOR_NUMBER}.tmp") {
                 def WORK_DIR=pwd()
-                git(url:'https://git-wip-us.apache.org/repos/asf/maven-integration-testing.git', branch: itBranch)
+                checkout tests
                 bat "if exist it-local-repo rmdir /s /q it-local-repo"
                 bat "if exist apache-maven-dist.zip del /q apache-maven-dist.zip"
                 withEnv(["Path+MAVEN=$MAVEN_WIN_J8\\bin","Path+JDK=$JAVA_WIN_J8\\bin","JAVA_HOME=$JAVA_WIN_J8"]) {
@@ -126,6 +136,7 @@ parallel linuxJava7:{
                     bat "mvn clean install -Prun-its -B -U -V -Dmaven.test.failure.ignore=true -Dmaven.repo.local=$WORK_DIR/it-local-repo -DmavenDistro=$WORK_DIR/apache-maven-dist.zip"
                 }
                 junit allowEmptyResults: true, testResults:'core-it-support/**/target/*-reports/*.xml,core-it-suite/target/*-reports/*.xml'
+                deleteDir() // clean up after ourselves to reduce disk space
             }
         }
     }


[39/46] maven git commit: [MNG-6177] The --file command line option of the Windows and Unix launchers does not work for directory names like "Spaces & Special Char"

Posted by sc...@apache.org.
[MNG-6177] The --file command line option of the Windows and Unix launchers does not work for directory names like "Spaces & Special Char"


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/0b9a30f3
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/0b9a30f3
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/0b9a30f3

Branch: refs/heads/MNG-5984
Commit: 0b9a30f350f159a190e87c78e520ba7a7ae0642b
Parents: 0db5e32
Author: Christian Schulte <sc...@apache.org>
Authored: Thu Feb 23 03:14:21 2017 +0100
Committer: Christian Schulte <sc...@apache.org>
Committed: Fri Feb 24 00:55:29 2017 +0100

----------------------------------------------------------------------
 apache-maven/src/bin/mvn     | 6 +++---
 apache-maven/src/bin/mvn.cmd | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/0b9a30f3/apache-maven/src/bin/mvn
----------------------------------------------------------------------
diff --git a/apache-maven/src/bin/mvn b/apache-maven/src/bin/mvn
index 95a407d..cfb39b0 100755
--- a/apache-maven/src/bin/mvn
+++ b/apache-maven/src/bin/mvn
@@ -141,9 +141,9 @@ find_file_argument_basedir() {
   found_file_switch=0
   for arg in "$@"; do
     if [ ${found_file_switch} -eq 1 ]; then
-      if [ -f ${arg} ]; then
-        basedir=$(dirname $(readlink -f "${arg}"))
-        if [ ! -d ${basedir} ]; then
+      if [ -f "${arg}" ]; then
+        basedir=$(dirname "$(readlink -f "${arg}")")
+        if [ ! -d "${basedir}" ]; then
           echo "Directory ${basedir} extracted from the -f/--file command-line argument ${arg} does not exist" >&2
           exit 1
         fi

http://git-wip-us.apache.org/repos/asf/maven/blob/0b9a30f3/apache-maven/src/bin/mvn.cmd
----------------------------------------------------------------------
diff --git a/apache-maven/src/bin/mvn.cmd b/apache-maven/src/bin/mvn.cmd
index e527188..c86662b 100644
--- a/apache-maven/src/bin/mvn.cmd
+++ b/apache-maven/src/bin/mvn.cmd
@@ -120,7 +120,7 @@ if not exist "%FILE_ARG%" (
   echo POM file %FILE_ARG% specified the -f/--file command-line argument does not exist >&2
   goto error
 )
-call :get_directory_from_file %FILE_ARG%
+call :get_directory_from_file "%FILE_ARG%"
 if not exist "%POM_DIR%" (
   echo Directory %POM_DIR% extracted from the -f/--file command-line argument %FILE_ARG% does not exist >&2
   goto error


[11/46] maven git commit: [MNG-6146] Several small stylistic and spelling improvements to code and documentation

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/w-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/w-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/w-plugin-mngt/pom.xml
deleted file mode 100644
index fbae181..0000000
--- a/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/w-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng4000</groupId>
-  <artifactId>test2</artifactId>
-  <version>0.1</version>
-
-  <name>Maven Integration Test :: MNG-4000</name>
-  <description>
-    Test that plugin executions without id are not lost among other plugin executions.
-  </description>
-
-  <build>
-    <!-- NOTE: This test uses plugin management for the IT plugin. -->
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.its.plugins</groupId>
-          <artifactId>maven-it-plugin-log-file</artifactId>
-          <version>2.1-SNAPSHOT</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-log-file</artifactId>
-        <configuration>
-          <logFile>target/exec.log</logFile>
-          <string>exec</string>
-        </configuration>
-        <executions>
-          <execution>
-            <id>exec-1</id>
-            <phase>validate</phase>
-            <goals>
-              <goal>log-string</goal>
-            </goals>
-          </execution>
-          <execution>
-            <!-- NOTE: <id> deliberately omitted here! -->
-            <phase>validate</phase>
-            <goals>
-              <goal>log-string</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/wo-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/wo-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/wo-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..7910084
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/wo-plugin-mgmt/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng4000</groupId>
+  <artifactId>test1</artifactId>
+  <version>0.1</version>
+
+  <name>Maven Integration Test :: MNG-4000</name>
+  <description>
+    Test that plugin executions without id are not lost among other plugin executions.
+  </description>
+
+  <build>
+    <!-- NOTE: This test does not use plugin management for the IT plugin. -->
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-log-file</artifactId>
+        <version>2.1-SNAPSHOT</version>
+        <configuration>
+          <logFile>target/exec.log</logFile>
+          <string>exec</string>
+        </configuration>
+        <executions>
+          <execution>
+            <id>exec-1</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>log-string</goal>
+            </goals>
+          </execution>
+          <execution>
+            <!-- NOTE: <id> deliberately omitted here! -->
+            <phase>validate</phase>
+            <goals>
+              <goal>log-string</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/wo-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/wo-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/wo-plugin-mngt/pom.xml
deleted file mode 100644
index 7910084..0000000
--- a/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/wo-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng4000</groupId>
-  <artifactId>test1</artifactId>
-  <version>0.1</version>
-
-  <name>Maven Integration Test :: MNG-4000</name>
-  <description>
-    Test that plugin executions without id are not lost among other plugin executions.
-  </description>
-
-  <build>
-    <!-- NOTE: This test does not use plugin management for the IT plugin. -->
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-log-file</artifactId>
-        <version>2.1-SNAPSHOT</version>
-        <configuration>
-          <logFile>target/exec.log</logFile>
-          <string>exec</string>
-        </configuration>
-        <executions>
-          <execution>
-            <id>exec-1</id>
-            <phase>validate</phase>
-            <goals>
-              <goal>log-string</goal>
-            </goals>
-          </execution>
-          <execution>
-            <!-- NOTE: <id> deliberately omitted here! -->
-            <phase>validate</phase>
-            <goals>
-              <goal>log-string</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-inheritance-order/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-inheritance-order/pom.xml b/maven-core/src/test/resources-project-builder/plugin-inheritance-order/pom.xml
index f66ae25..477a759 100644
--- a/maven-core/src/test/resources-project-builder/plugin-inheritance-order/pom.xml
+++ b/maven-core/src/test/resources-project-builder/plugin-inheritance-order/pom.xml
@@ -29,7 +29,7 @@ under the License.
 
   <name>Maven Integration Test :: MNG-3808</name>
   <description>
-    Test the reports are executeed in the order given in the POM.
+    Test the reports are executed in the order given in the POM.
   </description>
 
   <build>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/pom-inheritance/sub/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/pom-inheritance/sub/pom.xml b/maven-core/src/test/resources-project-builder/pom-inheritance/sub/pom.xml
index ae74902..2dbddd6 100644
--- a/maven-core/src/test/resources-project-builder/pom-inheritance/sub/pom.xml
+++ b/maven-core/src/test/resources-project-builder/pom-inheritance/sub/pom.xml
@@ -23,7 +23,7 @@ under the License.
   <modelVersion>4.0.0</modelVersion>
 
   <!--
-  This minimalistic POM tests mere inheritance from its parent.
+  This minimalist POM tests mere inheritance from its parent.
   -->
 
   <parent>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/prerequisites-inheritance/child/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/prerequisites-inheritance/child/pom.xml b/maven-core/src/test/resources-project-builder/prerequisites-inheritance/child/pom.xml
index 349a0c3..910018a 100644
--- a/maven-core/src/test/resources-project-builder/prerequisites-inheritance/child/pom.xml
+++ b/maven-core/src/test/resources-project-builder/prerequisites-inheritance/child/pom.xml
@@ -23,7 +23,7 @@ under the License.
   <modelVersion>4.0.0</modelVersion>
 
   <!--
-  This minimalistic POM tests mere inheritance from its parent. The <prerequisites> should not be inherited.
+  This minimalist POM tests mere inheritance from its parent. The <prerequisites> should not be inherited.
   -->
 
   <parent>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/repo-inheritance/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/repo-inheritance/pom.xml b/maven-core/src/test/resources-project-builder/repo-inheritance/pom.xml
index 5c1daca..5905657 100644
--- a/maven-core/src/test/resources-project-builder/repo-inheritance/pom.xml
+++ b/maven-core/src/test/resources-project-builder/repo-inheritance/pom.xml
@@ -27,7 +27,7 @@ under the License.
   <version>1.0-SNAPSHOT</version>
 
   <name>Maven Integration Test :: it0043</name>
-  <description>Test for repository inheritence - ensure using the same id overrides the defaults</description>
+  <description>Test for repository inheritance - ensure using the same id overrides the defaults</description>
 
   <repositories>
     <repository>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/system-property-interpolation/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/system-property-interpolation/pom.xml b/maven-core/src/test/resources-project-builder/system-property-interpolation/pom.xml
new file mode 100644
index 0000000..7d48d90
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/system-property-interpolation/pom.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>gid</groupId>
+  <artifactId>aid</artifactId>
+  <version>1.0</version>
+
+  <name>${system.property}</name>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/sytem-property-interpolation/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/sytem-property-interpolation/pom.xml b/maven-core/src/test/resources-project-builder/sytem-property-interpolation/pom.xml
deleted file mode 100644
index 7d48d90..0000000
--- a/maven-core/src/test/resources-project-builder/sytem-property-interpolation/pom.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>gid</groupId>
-  <artifactId>aid</artifactId>
-  <version>1.0</version>
-
-  <name>${system.property}</name>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mgmt-in-profile/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mgmt-in-profile/pom.xml b/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mgmt-in-profile/pom.xml
new file mode 100644
index 0000000..38ad7f7
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mgmt-in-profile/pom.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng4005</groupId>
+  <artifactId>b</artifactId>
+  <version>0.1</version>
+  <packaging>jar</packaging>
+
+  <profiles>
+    <profile>
+      <id>test</id>
+      <dependencyManagement>
+        <dependencies>
+          <dependency>
+            <groupId>org.apache.maven.its.mng4005</groupId>
+            <artifactId>a</artifactId>
+            <version>0.1</version>
+          </dependency>
+          <dependency>
+            <groupId>org.apache.maven.its.mng4005</groupId>
+            <artifactId>a</artifactId>
+            <version>0.2</version>
+          </dependency>
+        </dependencies>
+      </dependencyManagement>
+    </profile>
+  </profiles>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mgmt/pom.xml
new file mode 100644
index 0000000..de69bb4
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mgmt/pom.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng4005</groupId>
+  <artifactId>b</artifactId>
+  <version>0.1</version>
+  <packaging>jar</packaging>
+
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.apache.maven.its.mng4005</groupId>
+        <artifactId>a</artifactId>
+        <version>0.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.its.mng4005</groupId>
+        <artifactId>a</artifactId>
+        <version>0.2</version>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mngt-in-profile/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mngt-in-profile/pom.xml b/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mngt-in-profile/pom.xml
deleted file mode 100644
index 38ad7f7..0000000
--- a/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mngt-in-profile/pom.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng4005</groupId>
-  <artifactId>b</artifactId>
-  <version>0.1</version>
-  <packaging>jar</packaging>
-
-  <profiles>
-    <profile>
-      <id>test</id>
-      <dependencyManagement>
-        <dependencies>
-          <dependency>
-            <groupId>org.apache.maven.its.mng4005</groupId>
-            <artifactId>a</artifactId>
-            <version>0.1</version>
-          </dependency>
-          <dependency>
-            <groupId>org.apache.maven.its.mng4005</groupId>
-            <artifactId>a</artifactId>
-            <version>0.2</version>
-          </dependency>
-        </dependencies>
-      </dependencyManagement>
-    </profile>
-  </profiles>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mngt/pom.xml b/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mngt/pom.xml
deleted file mode 100644
index de69bb4..0000000
--- a/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mngt/pom.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng4005</groupId>
-  <artifactId>b</artifactId>
-  <version>0.1</version>
-  <packaging>jar</packaging>
-
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>org.apache.maven.its.mng4005</groupId>
-        <artifactId>a</artifactId>
-        <version>0.1</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.maven.its.mng4005</groupId>
-        <artifactId>a</artifactId>
-        <version>0.2</version>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/xml-coalesce-text/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/xml-coalesce-text/pom.xml b/maven-core/src/test/resources-project-builder/xml-coalesce-text/pom.xml
index 5822d8d..c5df7aa 100644
--- a/maven-core/src/test/resources-project-builder/xml-coalesce-text/pom.xml
+++ b/maven-core/src/test/resources-project-builder/xml-coalesce-text/pom.xml
@@ -47,7 +47,7 @@ under the License.
     <!--
     This checks the coalescing of CHARACTERS events which would otherwise be reported in chunks of the internal parser
     buffer size (usually 4 or 8 KB). The text block is designed such that its length is exactly 32 KB after leading
-    and traling whitespace has been removed and all line terminators have been removed.
+    and trailing whitespace has been removed and all line terminators have been removed.
     -->
     <prop2>
 00 KB     1         2         3         4         5         6  X

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/5/maven-parent-5.pom
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/5/maven-parent-5.pom b/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/5/maven-parent-5.pom
index b335040..e6100b4 100644
--- a/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/5/maven-parent-5.pom
+++ b/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/5/maven-parent-5.pom
@@ -295,7 +295,7 @@ under the License.
           <artifactId>maven-release-plugin</artifactId>
           <version>2.0-beta-4</version>          
           <configuration>
-            <!-- This element will be overriden by children -->
+            <!-- This element will be overridden by children -->
             <tagBase>https://svn.apache.org/repos/asf/maven/pom/tags</tagBase>
             <useReleaseProfile>false</useReleaseProfile>
             <goals>deploy</goals>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-embedder/src/examples/simple-project/src/test/java/org/apache/maven/embedder/AppTest.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/examples/simple-project/src/test/java/org/apache/maven/embedder/AppTest.java b/maven-embedder/src/examples/simple-project/src/test/java/org/apache/maven/embedder/AppTest.java
index ee90c20..ab1b1a0 100644
--- a/maven-embedder/src/examples/simple-project/src/test/java/org/apache/maven/embedder/AppTest.java
+++ b/maven-embedder/src/examples/simple-project/src/test/java/org/apache/maven/embedder/AppTest.java
@@ -44,7 +44,7 @@ public class AppTest
     }
 
     /**
-     * Rigourous Test :-)
+     * Rigorous Test :-)
      */
     public void testApp()
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
index a27517b..d239884 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
@@ -1530,7 +1530,7 @@ public class MavenCli
         }
 
         //
-        // Allow the builder to be overriden by the user if requested. The builders are now pluggable.
+        // Allow the builder to be overridden by the user if requested. The builders are now pluggable.
         //
         if ( commandLine.hasOption( CLIManager.BUILDER ) )
         {

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-embedder/src/test/embedder-test-project/src/test/java/org/apache/maven/AppTest.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/test/embedder-test-project/src/test/java/org/apache/maven/AppTest.java b/maven-embedder/src/test/embedder-test-project/src/test/java/org/apache/maven/AppTest.java
index 7a879ce..0c9e7ad 100644
--- a/maven-embedder/src/test/embedder-test-project/src/test/java/org/apache/maven/AppTest.java
+++ b/maven-embedder/src/test/embedder-test-project/src/test/java/org/apache/maven/AppTest.java
@@ -29,7 +29,7 @@ public class AppTest
     }
 
     /**
-     * Rigourous Test :-)
+     * Rigorous Test :-)
      */
     public void testApp()
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-embedder/src/test/error-reporting-projects/err-resolving-project-dep/project/src/test/java/org/apache/maven/test/error/mojoFailure/AppTest.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/test/error-reporting-projects/err-resolving-project-dep/project/src/test/java/org/apache/maven/test/error/mojoFailure/AppTest.java b/maven-embedder/src/test/error-reporting-projects/err-resolving-project-dep/project/src/test/java/org/apache/maven/test/error/mojoFailure/AppTest.java
index 7e0144a..94e6877 100644
--- a/maven-embedder/src/test/error-reporting-projects/err-resolving-project-dep/project/src/test/java/org/apache/maven/test/error/mojoFailure/AppTest.java
+++ b/maven-embedder/src/test/error-reporting-projects/err-resolving-project-dep/project/src/test/java/org/apache/maven/test/error/mojoFailure/AppTest.java
@@ -29,7 +29,7 @@ public class AppTest
     }
 
     /**
-     * Rigourous Test :-)
+     * Rigorous Test :-)
      */
     public void testApp()
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-embedder/src/test/error-reporting-projects/missing-module-pom/child1/src/test/java/org/test/AppTest.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/test/error-reporting-projects/missing-module-pom/child1/src/test/java/org/test/AppTest.java b/maven-embedder/src/test/error-reporting-projects/missing-module-pom/child1/src/test/java/org/test/AppTest.java
index e4e81e2..027000b 100644
--- a/maven-embedder/src/test/error-reporting-projects/missing-module-pom/child1/src/test/java/org/test/AppTest.java
+++ b/maven-embedder/src/test/error-reporting-projects/missing-module-pom/child1/src/test/java/org/test/AppTest.java
@@ -29,7 +29,7 @@ public class AppTest
     }
 
     /**
-     * Rigourous Test :-)
+     * Rigorous Test :-)
      */
     public void testApp()
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-embedder/src/test/error-reporting-projects/mojo-lookup-err/plugin/src/main/java/org/plugin/TestPlugin.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/test/error-reporting-projects/mojo-lookup-err/plugin/src/main/java/org/plugin/TestPlugin.java b/maven-embedder/src/test/error-reporting-projects/mojo-lookup-err/plugin/src/main/java/org/plugin/TestPlugin.java
index bc2e712..71301e6 100644
--- a/maven-embedder/src/test/error-reporting-projects/mojo-lookup-err/plugin/src/main/java/org/plugin/TestPlugin.java
+++ b/maven-embedder/src/test/error-reporting-projects/mojo-lookup-err/plugin/src/main/java/org/plugin/TestPlugin.java
@@ -19,7 +19,7 @@ public class TestPlugin
     private Log log;
 
     /**
-     * @component role-hint="nonexistant"
+     * @component role-hint="nonexistent"
      */
     private MavenProject project;
 

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-embedder/src/test/error-reporting-projects/project-dep-missing/src/test/java/org/apache/maven/test/error/mojoFailure/AppTest.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/test/error-reporting-projects/project-dep-missing/src/test/java/org/apache/maven/test/error/mojoFailure/AppTest.java b/maven-embedder/src/test/error-reporting-projects/project-dep-missing/src/test/java/org/apache/maven/test/error/mojoFailure/AppTest.java
index 7e0144a..94e6877 100644
--- a/maven-embedder/src/test/error-reporting-projects/project-dep-missing/src/test/java/org/apache/maven/test/error/mojoFailure/AppTest.java
+++ b/maven-embedder/src/test/error-reporting-projects/project-dep-missing/src/test/java/org/apache/maven/test/error/mojoFailure/AppTest.java
@@ -29,7 +29,7 @@ public class AppTest
     }
 
     /**
-     * Rigourous Test :-)
+     * Rigorous Test :-)
      */
     public void testApp()
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-embedder/src/test/error-reporting-projects/project-mojo-failure/src/test/java/org/apache/maven/test/error/mojoFailure/AppTest.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/test/error-reporting-projects/project-mojo-failure/src/test/java/org/apache/maven/test/error/mojoFailure/AppTest.java b/maven-embedder/src/test/error-reporting-projects/project-mojo-failure/src/test/java/org/apache/maven/test/error/mojoFailure/AppTest.java
index 7e0144a..94e6877 100644
--- a/maven-embedder/src/test/error-reporting-projects/project-mojo-failure/src/test/java/org/apache/maven/test/error/mojoFailure/AppTest.java
+++ b/maven-embedder/src/test/error-reporting-projects/project-mojo-failure/src/test/java/org/apache/maven/test/error/mojoFailure/AppTest.java
@@ -29,7 +29,7 @@ public class AppTest
     }
 
     /**
-     * Rigourous Test :-)
+     * Rigorous Test :-)
      */
     public void testApp()
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-embedder/src/test/projects/isolated-project-getting-parent-pom/project/src/test/java/org/codehaus/m2eclipse/AppTest.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/test/projects/isolated-project-getting-parent-pom/project/src/test/java/org/codehaus/m2eclipse/AppTest.java b/maven-embedder/src/test/projects/isolated-project-getting-parent-pom/project/src/test/java/org/codehaus/m2eclipse/AppTest.java
index 69af061..7275a8d 100644
--- a/maven-embedder/src/test/projects/isolated-project-getting-parent-pom/project/src/test/java/org/codehaus/m2eclipse/AppTest.java
+++ b/maven-embedder/src/test/projects/isolated-project-getting-parent-pom/project/src/test/java/org/codehaus/m2eclipse/AppTest.java
@@ -29,7 +29,7 @@ public class AppTest
     }
 
     /**
-     * Rigourous Test :-)
+     * Rigorous Test :-)
      */
     public void testApp()
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
index a6a8725..6b38926 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
@@ -195,15 +195,15 @@ public class DefaultModelBuilder
         return this;
     }
 
-    public DefaultModelBuilder setDependencyManagementImporter( DependencyManagementImporter depMngmntImporter )
+    public DefaultModelBuilder setDependencyManagementImporter( DependencyManagementImporter depMgmtImporter )
     {
-        this.dependencyManagementImporter = depMngmntImporter;
+        this.dependencyManagementImporter = depMgmtImporter;
         return this;
     }
 
-    public DefaultModelBuilder setDependencyManagementInjector( DependencyManagementInjector depMngmntInjector )
+    public DefaultModelBuilder setDependencyManagementInjector( DependencyManagementInjector depMgmtInjector )
     {
-        this.dependencyManagementInjector = depMngmntInjector;
+        this.dependencyManagementInjector = depMgmtInjector;
         return this;
     }
 
@@ -683,10 +683,10 @@ public class DefaultModelBuilder
                         plugins.put( key, plugin );
                     }
                 }
-                PluginManagement mngt = build.getPluginManagement();
-                if ( mngt != null )
+                PluginManagement mgmt = build.getPluginManagement();
+                if ( mgmt != null )
                 {
-                    for ( Plugin plugin : mngt.getPlugins() )
+                    for ( Plugin plugin : mgmt.getPlugins() )
                     {
                         String key = plugin.getKey();
                         if ( managedVersions.get( key ) == null )
@@ -1081,9 +1081,9 @@ public class DefaultModelBuilder
     private void importDependencyManagement( Model model, ModelBuildingRequest request,
                                              DefaultModelProblemCollector problems, Collection<String> importIds )
     {
-        DependencyManagement depMngt = model.getDependencyManagement();
+        DependencyManagement depMgmt = model.getDependencyManagement();
 
-        if ( depMngt == null )
+        if ( depMgmt == null )
         {
             return;
         }
@@ -1097,9 +1097,9 @@ public class DefaultModelBuilder
 
         ModelBuildingRequest importRequest = null;
 
-        List<DependencyManagement> importMngts = null;
+        List<DependencyManagement> importMgmts = null;
 
-        for ( Iterator<Dependency> it = depMngt.getDependencies().iterator(); it.hasNext(); )
+        for ( Iterator<Dependency> it = depMgmt.getDependencies().iterator(); it.hasNext(); )
         {
             Dependency dependency = it.next();
 
@@ -1154,10 +1154,10 @@ public class DefaultModelBuilder
                 continue;
             }
 
-            DependencyManagement importMngt = getCache( request.getModelCache(), groupId, artifactId, version,
+            DependencyManagement importMgmt = getCache( request.getModelCache(), groupId, artifactId, version,
                                                         ModelCacheTag.IMPORT );
 
-            if ( importMngt == null )
+            if ( importMgmt == null )
             {
                 if ( workspaceResolver == null && modelResolver == null )
                 {
@@ -1236,27 +1236,27 @@ public class DefaultModelBuilder
                     importModel = importResult.getEffectiveModel();
                 }
 
-                importMngt = importModel.getDependencyManagement();
+                importMgmt = importModel.getDependencyManagement();
 
-                if ( importMngt == null )
+                if ( importMgmt == null )
                 {
-                    importMngt = new DependencyManagement();
+                    importMgmt = new DependencyManagement();
                 }
 
-                putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMngt );
+                putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMgmt );
             }
 
-            if ( importMngts == null )
+            if ( importMgmts == null )
             {
-                importMngts = new ArrayList<>();
+                importMgmts = new ArrayList<>();
             }
 
-            importMngts.add( importMngt );
+            importMgmts.add( importMgmt );
         }
 
         importIds.remove( importing );
 
-        dependencyManagementImporter.importManagement( model, importMngts, request, problems );
+        dependencyManagementImporter.importManagement( model, importMgmts, request, problems );
     }
 
     private <T> void putCache( ModelCache modelCache, String groupId, String artifactId, String version,

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingListener.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingListener.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingListener.java
index 21029cc..186507c 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingListener.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingListener.java
@@ -20,7 +20,7 @@ package org.apache.maven.model.building;
  */
 
 /**
- * Defines events that the model builder fires during construction of the effective model. When a listener encounteres
+ * Defines events that the model builder fires during construction of the effective model. When a listener encounters
  * errors while processing the event, it can report these problems via {@link ModelBuildingEvent#getProblems()}.
  * <em>Note:</em> To cope with future extensions to this interface, it is strongly recommended to extend
  * {@link AbstractModelBuildingListener} rather than to directly implement this interface.

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
index c10274d..d20f244 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
@@ -124,7 +124,7 @@ public interface ModelBuildingRequest
 
     /**
      * Sets the level of validation to perform on processed models. For building of projects,
-     * {@link #VALIDATION_LEVEL_STRICT} should be used to ensure proper building. For the mere retrievel of dependencies
+     * {@link #VALIDATION_LEVEL_STRICT} should be used to ensure proper building. For the mere retrieval of dependencies
      * during artifact resolution, {@link #VALIDATION_LEVEL_MINIMAL} should be used to account for models of poor
      * quality. By default, models are validated in strict mode.
      *

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependencyManagementImporter.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependencyManagementImporter.java b/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependencyManagementImporter.java
index d895913..cce7d7f 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependencyManagementImporter.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependencyManagementImporter.java
@@ -49,19 +49,19 @@ public class DefaultDependencyManagementImporter
         {
             Map<String, Dependency> dependencies = new LinkedHashMap<>();
 
-            DependencyManagement depMngt = target.getDependencyManagement();
+            DependencyManagement depMgmt = target.getDependencyManagement();
 
-            if ( depMngt != null )
+            if ( depMgmt != null )
             {
-                for ( Dependency dependency : depMngt.getDependencies() )
+                for ( Dependency dependency : depMgmt.getDependencies() )
                 {
                     dependencies.put( dependency.getManagementKey(), dependency );
                 }
             }
             else
             {
-                depMngt = new DependencyManagement();
-                target.setDependencyManagement( depMngt );
+                depMgmt = new DependencyManagement();
+                target.setDependencyManagement( depMgmt );
             }
 
             for ( DependencyManagement source : sources )
@@ -76,7 +76,7 @@ public class DefaultDependencyManagementImporter
                 }
             }
 
-            depMngt.setDependencies( new ArrayList<>( dependencies.values() ) );
+            depMgmt.setDependencies( new ArrayList<>( dependencies.values() ) );
         }
     }
 

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java b/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java
index 8206da9..51150db 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java
@@ -94,7 +94,7 @@ public class DefaultInheritanceAssembler
             String childName = child.getArtifactId();
 
             /*
-             * This logic (using filesystem, against wanted independance from the user environment) exists only for the
+             * This logic (using filesystem, against wanted independence from the user environment) exists only for the
              * sake of backward-compat with 2.x (MNG-5000). In general, it is wrong to
              * base URL inheritance on the module directory names as this information is unavailable for POMs in the
              * repository. In other words, modules where artifactId != moduleDirName will see different effective URLs

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java b/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
index cea2a74..9af30c1 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
@@ -146,10 +146,10 @@ public class DefaultModelValidator
             {
                 validate20RawPlugins( problems, build.getPlugins(), "build.plugins.plugin", request );
 
-                PluginManagement mngt = build.getPluginManagement();
-                if ( mngt != null )
+                PluginManagement mgmt = build.getPluginManagement();
+                if ( mgmt != null )
                 {
-                    validate20RawPlugins( problems, mngt.getPlugins(), "build.pluginManagement.plugins.plugin",
+                    validate20RawPlugins( problems, mgmt.getPlugins(), "build.pluginManagement.plugins.plugin",
                                           request );
                 }
             }
@@ -189,10 +189,10 @@ public class DefaultModelValidator
                 {
                     validate20RawPlugins( problems, buildBase.getPlugins(), prefix + ".plugins.plugin", request );
 
-                    PluginManagement mngt = buildBase.getPluginManagement();
-                    if ( mngt != null )
+                    PluginManagement mgmt = buildBase.getPluginManagement();
+                    if ( mgmt != null )
                     {
-                        validate20RawPlugins( problems, mngt.getPlugins(), prefix + ".pluginManagement.plugins.plugin",
+                        validate20RawPlugins( problems, mgmt.getPlugins(), prefix + ".pluginManagement.plugins.plugin",
                                               request );
                     }
                 }

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-model-builder/src/main/mdo/profiles.mdo
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/mdo/profiles.mdo b/maven-model-builder/src/main/mdo/profiles.mdo
index 892544d..a55677c 100644
--- a/maven-model-builder/src/main/mdo/profiles.mdo
+++ b/maven-model-builder/src/main/mdo/profiles.mdo
@@ -188,7 +188,7 @@ under the License.
       <version>1.0.0</version>
       <description><![CDATA[
          Repository contains the information needed
-         for establishing connections with remote repoistory
+         for establishing connections with remote repository
       ]]></description>
       <fields>
         <field>
@@ -250,7 +250,7 @@ under the License.
       <superClass>RepositoryBase</superClass>
       <version>1.0.0</version>
       <description>
-        Repository contains the information needed for establishing connections with remote repoistory
+        Repository contains the information needed for establishing connections with remote repository
       </description>
       <fields>
         <field>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
index 96eed6f..1b47ec1 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
@@ -79,7 +79,7 @@ public class DefaultInheritanceAssemblerTest
 
     /**
      * Check most classical urls inheritance: directory structure where parent POM in parent directory
-     * and child directory == artifatId
+     * and child directory == artifactId
      * @throws Exception
      */
     public void testUrls()

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-model/src/main/mdo/maven.mdo
----------------------------------------------------------------------
diff --git a/maven-model/src/main/mdo/maven.mdo b/maven-model/src/main/mdo/maven.mdo
index 5322c35..1187b11 100644
--- a/maven-model/src/main/mdo/maven.mdo
+++ b/maven-model/src/main/mdo/maven.mdo
@@ -1359,7 +1359,7 @@
             The classifier of the dependency. It is appended to
             the filename after the version. This allows:
             <ul>
-            <li>refering to attached artifact, for example <code>sources</code> and <code>javadoc</code>:
+            <li>referring to attached artifact, for example <code>sources</code> and <code>javadoc</code>:
             see <a href="../maven-core/artifact-handlers.html">default artifact handlers</a> for a list,</li>
             <li>distinguishing two artifacts
             that belong to the same POM but were built differently.
@@ -1532,8 +1532,8 @@
      */
     public String getArtifact()
     {
-        // If the jar name has been explicty set then use that. This
-        // is when the <jar/> element is explicity used in the POM.
+        // If the jar name has been explicitly set then use that. This
+        // is when the <jar/> element is explicitly used in the POM.
         if ( getJar() != null)
         {
             return getJar();

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/MojoDescriptor.java
----------------------------------------------------------------------
diff --git a/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/MojoDescriptor.java b/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/MojoDescriptor.java
index 515b110..3f7eccc 100644
--- a/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/MojoDescriptor.java
+++ b/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/MojoDescriptor.java
@@ -513,7 +513,7 @@ public class MojoDescriptor
     }
 
     /**
-     * @return <code>true</code> if the Mojo is herited, <code>false</code> otherwise.
+     * @return <code>true</code> if the Mojo is inherited, <code>false</code> otherwise.
      */
     public boolean isInheritedByDefault()
     {
@@ -521,7 +521,7 @@ public class MojoDescriptor
     }
 
     /**
-     * @param inheritedByDefault <code>true</code> if the Mojo is herited, <code>false</code> otherwise.
+     * @param inheritedByDefault <code>true</code> if the Mojo is inherited, <code>false</code> otherwise.
      */
     public void setInheritedByDefault( boolean inheritedByDefault )
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-plugin-api/src/main/mdo/lifecycle.mdo
----------------------------------------------------------------------
diff --git a/maven-plugin-api/src/main/mdo/lifecycle.mdo b/maven-plugin-api/src/main/mdo/lifecycle.mdo
index 2a46647..7dfce74 100644
--- a/maven-plugin-api/src/main/mdo/lifecycle.mdo
+++ b/maven-plugin-api/src/main/mdo/lifecycle.mdo
@@ -84,7 +84,7 @@ under the License.
           <required>true</required>
           <version>1.0.0</version>
           <type>String</type>
-          <description>The ID of this phase, eg &lt;code&gt;generate-sources&lt;/code&gt;.</description>
+          <description>The ID of this phase, e.g., &lt;code&gt;generate-sources&lt;/code&gt;.</description>
         </field>
         <field>
           <name>executions</name>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-repository-metadata/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/maven-repository-metadata/src/site/apt/index.apt b/maven-repository-metadata/src/site/apt/index.apt
index 194fc0d..ed2bff9 100644
--- a/maven-repository-metadata/src/site/apt/index.apt
+++ b/maven-repository-metadata/src/site/apt/index.apt
@@ -41,7 +41,7 @@ Maven Repository Metadata Model
 
  * <<<maven-metadata.xml>>> in a remote repository,
 
- * <<<maven-metadata-\<repo-id>.xml>>> in a local repository, for metatada from a repository with <<<repo-id>>> identifier.
+ * <<<maven-metadata-\<repo-id>.xml>>> in a local repository, for metadata from a repository with <<<repo-id>>> identifier.
 
  []
 

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java
index 2395b36..53c0475 100644
--- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java
@@ -65,10 +65,10 @@ public class ArtifactDescriptorReaderDelegate
             result.addDependency( convert( dependency, stereotypes ) );
         }
 
-        DependencyManagement mngt = model.getDependencyManagement();
-        if ( mngt != null )
+        DependencyManagement mgmt = model.getDependencyManagement();
+        if ( mgmt != null )
         {
-            for ( org.apache.maven.model.Dependency dependency : mngt.getDependencies() )
+            for ( org.apache.maven.model.Dependency dependency : mgmt.getDependencies() )
             {
                 result.addManagedDependency( convert( dependency, stereotypes ) );
             }
@@ -137,10 +137,10 @@ public class ArtifactDescriptorReaderDelegate
     private void setArtifactProperties( ArtifactDescriptorResult result, Model model )
     {
         String downloadUrl = null;
-        DistributionManagement distMngt = model.getDistributionManagement();
-        if ( distMngt != null )
+        DistributionManagement distMgmt = model.getDistributionManagement();
+        if ( distMgmt != null )
         {
-            downloadUrl = distMngt.getDownloadUrl();
+            downloadUrl = distMgmt.getDownloadUrl();
         }
         if ( downloadUrl != null && downloadUrl.length() > 0 )
         {

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
index 0f31330..1df1c12 100644
--- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
@@ -372,10 +372,10 @@ public class DefaultArtifactDescriptorReader
     private Relocation getRelocation( Model model )
     {
         Relocation relocation = null;
-        DistributionManagement distMngt = model.getDistributionManagement();
-        if ( distMngt != null )
+        DistributionManagement distMgmt = model.getDistributionManagement();
+        if ( distMgmt != null )
         {
-            relocation = distMngt.getRelocation();
+            relocation = distMgmt.getRelocation();
         }
         return relocation;
     }

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java
index db77a44..7943dc8 100644
--- a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java
@@ -195,7 +195,7 @@ public class RepositorySystemTest
     {
         //InstallResult install( RepositorySystemSession session, InstallRequest request )
         //                throws InstallationException;
-        // release, snapshot unique ou non unique, attachement
+        // release, snapshot unique ou non unique, attachment
     }
 
     public void testDeploy()

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-settings/src/main/mdo/settings.mdo
----------------------------------------------------------------------
diff --git a/maven-settings/src/main/mdo/settings.mdo b/maven-settings/src/main/mdo/settings.mdo
index 7fa00de..0d32e40 100644
--- a/maven-settings/src/main/mdo/settings.mdo
+++ b/maven-settings/src/main/mdo/settings.mdo
@@ -600,7 +600,7 @@
           <version>1.0.0+</version>
           <type>String</type>
           <description>
-            The server ID of the repository being mirrored, eg
+            The server ID of the repository being mirrored, e.g.,
             "central". This MUST NOT match the mirror id.
           </description>
         </field>
@@ -809,7 +809,7 @@
       <description>
         <![CDATA[
         Repository contains the information needed
-        for establishing connections with remote repoistory
+        for establishing connections with remote repository
         ]]>
       </description>
       <fields>


[46/46] maven git commit: o Updated to 3.5.1-SNAPSHOT.

Posted by sc...@apache.org.
o Updated to 3.5.1-SNAPSHOT.


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/5b7246a8
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/5b7246a8
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/5b7246a8

Branch: refs/heads/MNG-5984
Commit: 5b7246a8976a84122d3768489e4b5c24b39d1048
Parents: d6d6c8d
Author: Christian Schulte <sc...@apache.org>
Authored: Tue Jan 31 19:49:13 2017 +0100
Committer: Christian Schulte <sc...@apache.org>
Committed: Wed Mar 8 18:02:35 2017 +0100

----------------------------------------------------------------------
 apache-maven/pom.xml              | 2 +-
 maven-artifact/pom.xml            | 2 +-
 maven-builder-support/pom.xml     | 2 +-
 maven-compat/pom.xml              | 2 +-
 maven-core/pom.xml                | 2 +-
 maven-embedder/pom.xml            | 2 +-
 maven-model-builder/pom.xml       | 2 +-
 maven-model/pom.xml               | 2 +-
 maven-plugin-api/pom.xml          | 2 +-
 maven-repository-metadata/pom.xml | 2 +-
 maven-resolver-provider/pom.xml   | 2 +-
 maven-settings-builder/pom.xml    | 2 +-
 maven-settings/pom.xml            | 2 +-
 maven-slf4j-provider/pom.xml      | 2 +-
 pom.xml                           | 2 +-
 15 files changed, 15 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/5b7246a8/apache-maven/pom.xml
----------------------------------------------------------------------
diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml
index 6fc5a73..d313f80 100644
--- a/apache-maven/pom.xml
+++ b/apache-maven/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>apache-maven</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/5b7246a8/maven-artifact/pom.xml
----------------------------------------------------------------------
diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml
index e3943c9..b13482b 100644
--- a/maven-artifact/pom.xml
+++ b/maven-artifact/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-artifact</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/5b7246a8/maven-builder-support/pom.xml
----------------------------------------------------------------------
diff --git a/maven-builder-support/pom.xml b/maven-builder-support/pom.xml
index 39eb161..5eb7903 100644
--- a/maven-builder-support/pom.xml
+++ b/maven-builder-support/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-builder-support</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/5b7246a8/maven-compat/pom.xml
----------------------------------------------------------------------
diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml
index 2b205f7..b06d3f3 100644
--- a/maven-compat/pom.xml
+++ b/maven-compat/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-compat</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/5b7246a8/maven-core/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/pom.xml b/maven-core/pom.xml
index 0e20235..71f09c0 100644
--- a/maven-core/pom.xml
+++ b/maven-core/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-core</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/5b7246a8/maven-embedder/pom.xml
----------------------------------------------------------------------
diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml
index 30ad2ce..66e09a3 100644
--- a/maven-embedder/pom.xml
+++ b/maven-embedder/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-embedder</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/5b7246a8/maven-model-builder/pom.xml
----------------------------------------------------------------------
diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml
index 0dd08ac..859f0b3 100644
--- a/maven-model-builder/pom.xml
+++ b/maven-model-builder/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-model-builder</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/5b7246a8/maven-model/pom.xml
----------------------------------------------------------------------
diff --git a/maven-model/pom.xml b/maven-model/pom.xml
index 41cf168..aabb25d 100644
--- a/maven-model/pom.xml
+++ b/maven-model/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-model</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/5b7246a8/maven-plugin-api/pom.xml
----------------------------------------------------------------------
diff --git a/maven-plugin-api/pom.xml b/maven-plugin-api/pom.xml
index d8f802d..1596a41 100644
--- a/maven-plugin-api/pom.xml
+++ b/maven-plugin-api/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-plugin-api</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/5b7246a8/maven-repository-metadata/pom.xml
----------------------------------------------------------------------
diff --git a/maven-repository-metadata/pom.xml b/maven-repository-metadata/pom.xml
index 7480de7..dcc6a22 100644
--- a/maven-repository-metadata/pom.xml
+++ b/maven-repository-metadata/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-repository-metadata</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/5b7246a8/maven-resolver-provider/pom.xml
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/pom.xml b/maven-resolver-provider/pom.xml
index e95cc41..a724d3b 100644
--- a/maven-resolver-provider/pom.xml
+++ b/maven-resolver-provider/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-resolver-provider</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/5b7246a8/maven-settings-builder/pom.xml
----------------------------------------------------------------------
diff --git a/maven-settings-builder/pom.xml b/maven-settings-builder/pom.xml
index 2d415c9..904b085 100644
--- a/maven-settings-builder/pom.xml
+++ b/maven-settings-builder/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-settings-builder</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/5b7246a8/maven-settings/pom.xml
----------------------------------------------------------------------
diff --git a/maven-settings/pom.xml b/maven-settings/pom.xml
index 133ee32..eb4ad22 100644
--- a/maven-settings/pom.xml
+++ b/maven-settings/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-settings</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/5b7246a8/maven-slf4j-provider/pom.xml
----------------------------------------------------------------------
diff --git a/maven-slf4j-provider/pom.xml b/maven-slf4j-provider/pom.xml
index 81af382..315b9a7 100644
--- a/maven-slf4j-provider/pom.xml
+++ b/maven-slf4j-provider/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-slf4j-provider</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/5b7246a8/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index ba06feb..4423e19 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,7 +30,7 @@ under the License.
   </parent>
 
   <artifactId>maven</artifactId>
-  <version>3.5.0-SNAPSHOT</version>
+  <version>3.5.1-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <name>Apache Maven</name>


[26/46] maven git commit: [MNG-6150] Javadoc improvements for 3.5.0

Posted by sc...@apache.org.
[MNG-6150] Javadoc improvements for 3.5.0

* Remove duplicate plugin configuration
* Add workaround for Javadoc locale
* Clean up errors reported by Javadoc 7

Note: Javadoc 8 fails immediately because Modello generates invalid
Javadoc


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/b66bdb9c
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/b66bdb9c
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/b66bdb9c

Branch: refs/heads/MNG-5984
Commit: b66bdb9cbc383fd4cc875006afe9fe6d4de26397
Parents: f8ab2a6
Author: Michael Osipov <mi...@apache.org>
Authored: Sun Feb 12 01:10:50 2017 +0100
Committer: Michael Osipov <mi...@apache.org>
Committed: Wed Feb 15 17:30:46 2017 +0100

----------------------------------------------------------------------
 .../org/apache/maven/artifact/Artifact.java     |  2 +-
 .../artifact/repository/ArtifactRepository.java |  1 -
 .../maven/artifact/versioning/VersionRange.java |  4 +--
 .../java/org/apache/maven/repository/Proxy.java |  6 ++--
 .../legacy/metadata/ArtifactMetadata.java       |  8 ++---
 .../artifact/versioning/VersionRangeTest.java   |  4 +--
 .../maven/artifact/ArtifactScopeEnum.java       |  2 --
 .../artifact/manager/DefaultWagonManager.java   |  2 +-
 .../DefaultRepositoryMetadataManager.java       | 10 +++---
 .../SnapshotArtifactRepositoryMetadata.java     |  2 +-
 .../resolver/DebugResolutionListener.java       |  2 +-
 .../resolver/DefaultArtifactResolver.java       |  2 +-
 .../maven/project/MavenProjectBuilder.java      |  2 +-
 .../DefaultModelInheritanceAssembler.java       | 10 +++---
 .../AbstractStringBasedModelInterpolator.java   |  6 ++--
 .../RegexBasedModelInterpolator.java            |  2 +-
 .../apache/maven/repository/MetadataGraph.java  |  5 ---
 .../repository/MetadataResolutionRequest.java   |  2 +-
 .../repository/MetadataResolutionResult.java    |  2 +-
 .../repository/legacy/DefaultWagonManager.java  | 12 ++++----
 .../DefaultArtifactRepositoryFactory.java       |  2 +-
 .../DefaultLegacyArtifactCollector.java         | 14 ++++-----
 .../DefaultConflictResolverFactory.java         |  2 +-
 .../conflict/NewestConflictResolver.java        |  2 +-
 .../conflict/OldestConflictResolver.java        |  2 +-
 .../AbstractVersionTransformation.java          |  6 ++--
 .../resolver/DefaultArtifactCollectorTest.java  |  4 +--
 .../AbstractMavenLifecycleParticipant.java      |  2 +-
 .../maven/DefaultArtifactFilterManager.java     |  2 +-
 .../DependencyResolutionRequiredException.java  |  2 +-
 .../repository/MavenArtifactRepository.java     |  4 +--
 .../metadata/AbstractRepositoryMetadata.java    |  4 +--
 .../repository/metadata/RepositoryMetadata.java |  2 +-
 .../resolver/ArtifactResolutionResult.java      |  4 +--
 .../maven/artifact/resolver/ResolutionNode.java |  2 +-
 .../resolver/filter/ExcludesArtifactFilter.java |  2 +-
 .../resolver/filter/IncludesArtifactFilter.java |  2 +-
 .../execution/DefaultMavenExecutionRequest.java |  2 +-
 .../maven/execution/MavenExecutionRequest.java  | 26 ++++++++--------
 .../scope/WeakMojoExecutionListener.java        |  5 +--
 .../lifecycle/DefaultLifecycleExecutor.java     |  4 +--
 .../maven/lifecycle/DefaultLifecycles.java      |  2 +-
 .../maven/lifecycle/MavenExecutionPlan.java     | 12 ++++----
 ...DefaultLifecycleExecutionPlanCalculator.java |  4 +--
 .../lifecycle/internal/DependencyContext.java   |  2 +-
 .../maven/lifecycle/internal/GoalTask.java      |  2 +-
 .../internal/MojoDescriptorCreator.java         |  4 +--
 .../lifecycle/internal/ProjectBuildList.java    |  2 +-
 .../maven/lifecycle/internal/ProjectIndex.java  |  2 +-
 .../maven/lifecycle/internal/TaskSegment.java   |  2 +-
 .../internal/builder/BuilderCommon.java         |  2 +-
 .../maven/lifecycle/mapping/Lifecycle.java      |  8 ++---
 .../maven/plugin/DefaultBuildPluginManager.java |  4 +--
 .../PluginParameterExpressionEvaluator.java     | 14 ++++-----
 .../internal/DefaultMavenPluginManager.java     |  4 +--
 .../DuplicateArtifactAttachmentException.java   |  2 +-
 .../org/apache/maven/project/MavenProject.java  | 32 ++++++++++----------
 .../org/apache/maven/project/ProjectSorter.java |  2 +-
 .../project/artifact/ActiveProjectArtifact.java |  2 +-
 .../project/artifact/MavenMetadataSource.java   |  6 ++--
 .../properties/internal/SystemProperties.java   |  6 ++--
 .../settings/DefaultMavenSettingsBuilder.java   |  2 +-
 .../toolchain/DefaultToolchainManager.java      |  2 +-
 .../maven/toolchain/ToolchainManager.java       |  6 ++--
 .../internal/ProjectBuildListTest.java          |  2 +-
 .../apache/maven/plugin/PluginManagerTest.java  |  6 ++--
 .../artifact/MavenMetadataSourceTest.java       |  2 +-
 .../org/apache/maven/cli/CleanArgument.java     |  2 +-
 .../java/org/apache/maven/cli/MavenCli.java     |  8 ++---
 .../model/building/DefaultModelBuilder.java     |  2 +-
 .../maven/model/building/ModelBuilder.java      |  4 ---
 .../model/building/ModelBuildingRequest.java    |  4 +--
 .../org/apache/maven/model/building/Result.java | 23 +++++---------
 .../StringSearchModelInterpolator.java          |  2 +-
 .../maven/model/merge/MavenModelMerger.java     |  6 ++--
 .../model/validation/DefaultModelValidator.java |  2 +-
 .../main/java/org/apache/maven/plugin/Mojo.java |  2 +-
 .../maven/plugin/descriptor/MojoDescriptor.java |  4 +--
 .../plugin/descriptor/PluginDescriptor.java     |  4 +--
 .../descriptor/PluginDescriptorBuilder.java     |  2 +-
 .../maven/plugin/logging/SystemStreamLog.java   |  2 +-
 pom.xml                                         | 17 ++++++-----
 82 files changed, 189 insertions(+), 210 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java
----------------------------------------------------------------------
diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java b/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java
index 6cc0022..9546433 100644
--- a/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java
+++ b/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java
@@ -48,7 +48,7 @@ public interface Artifact
 
     Pattern VERSION_FILE_PATTERN = Pattern.compile( "^(.*)-([0-9]{8}.[0-9]{6})-([0-9]+)$" );
 
-    // TODO: into artifactScope handler
+    // TODO into artifactScope handler
 
     String SCOPE_COMPILE = "compile";
 

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java
----------------------------------------------------------------------
diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java b/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java
index 9ef3038..0b33345 100644
--- a/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java
+++ b/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java
@@ -79,7 +79,6 @@ public interface ArtifactRepository
     /**
      *
      * @param artifact
-     * @return
      * @since 3.0-alpha-3
      */
     Artifact find( Artifact artifact );

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java
----------------------------------------------------------------------
diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java b/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java
index 7181db0..502b0e7 100644
--- a/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java
+++ b/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java
@@ -295,7 +295,7 @@ public class VersionRange
             // original recommended version
             version = restriction.recommendedVersion;
         }
-/* TODO: should throw this immediately, but need artifact
+/* TODO should throw this immediately, but need artifact
         else
         {
             throw new OverConstrainedVersionException( "Restricting incompatible version ranges" );
@@ -518,7 +518,7 @@ public class VersionRange
 
     public ArtifactVersion matchVersion( List<ArtifactVersion> versions )
     {
-        // TODO: could be more efficient by sorting the list and then moving along the restrictions in order?
+        // TODO could be more efficient by sorting the list and then moving along the restrictions in order?
 
         ArtifactVersion matched = null;
         for ( ArtifactVersion version : versions )

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-artifact/src/main/java/org/apache/maven/repository/Proxy.java
----------------------------------------------------------------------
diff --git a/maven-artifact/src/main/java/org/apache/maven/repository/Proxy.java b/maven-artifact/src/main/java/org/apache/maven/repository/Proxy.java
index ea2c023..e42f1ed 100644
--- a/maven-artifact/src/main/java/org/apache/maven/repository/Proxy.java
+++ b/maven-artifact/src/main/java/org/apache/maven/repository/Proxy.java
@@ -148,9 +148,9 @@ public class Proxy
     }
 
     /**
-     * Get the type of the proxy server.
+     * Get the protocol of the proxy server.
      *
-     * @return the type of the proxy server
+     * @return the protocol of the proxy server
      */
     public String getProtocol()
     {
@@ -158,7 +158,7 @@ public class Proxy
     }
 
     /**
-     * @param type the type of the proxy server like <i>SOCKSv4</i>
+     * @param protocol the protocol of the proxy server like <i>SOCKSv4</i>
      */
     public void setProtocol( String protocol )
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-artifact/src/main/java/org/apache/maven/repository/legacy/metadata/ArtifactMetadata.java
----------------------------------------------------------------------
diff --git a/maven-artifact/src/main/java/org/apache/maven/repository/legacy/metadata/ArtifactMetadata.java b/maven-artifact/src/main/java/org/apache/maven/repository/legacy/metadata/ArtifactMetadata.java
index e66a84a..7abdfbb 100644
--- a/maven-artifact/src/main/java/org/apache/maven/repository/legacy/metadata/ArtifactMetadata.java
+++ b/maven-artifact/src/main/java/org/apache/maven/repository/legacy/metadata/ArtifactMetadata.java
@@ -26,8 +26,8 @@ import org.apache.maven.artifact.repository.metadata.RepositoryMetadataStoreExce
  * Contains metadata about an artifact, and methods to retrieve/store it from an artifact repository.
  *
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @todo merge with artifactmetadatasource
- * @todo retrieval exception not appropriate for store
+ * TODO merge with artifactmetadatasource
+ * TODO retrieval exception not appropriate for store
  */
 public interface ArtifactMetadata
 {
@@ -64,7 +64,7 @@ public interface ArtifactMetadata
      * Merge a new metadata set into this piece of metadata.
      *
      * @param metadata the new metadata
-     * @todo this should only be needed on the repository metadata
+     * TODO this should only be needed on the repository metadata
      */
     void merge( ArtifactMetadata metadata );
 
@@ -73,7 +73,7 @@ public interface ArtifactMetadata
      *
      * @param localRepository  the local repository
      * @param remoteRepository the remote repository it came from
-     * @todo this should only be needed on the repository metadata
+     * TODO this should only be needed on the repository metadata
      */
     void storeInLocalRepository( ArtifactRepository localRepository,
                                  ArtifactRepository remoteRepository )

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java
----------------------------------------------------------------------
diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java
index 14b16cb..dc8d3d5 100644
--- a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java
+++ b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java
@@ -178,7 +178,7 @@ public class VersionRangeTest
         VersionRange range1 = VersionRange.createFromVersionSpec( "1.0" );
         VersionRange range2 = VersionRange.createFromVersionSpec( "1.1" );
         VersionRange mergedRange = range1.restrict( range2 );
-        // TODO: current policy is to retain the original version - is this correct, do we need strategies or is that handled elsewhere?
+        // TODO current policy is to retain the original version - is this correct, do we need strategies or is that handled elsewhere?
 //        assertEquals( CHECK_VERSION_RECOMMENDATION, "1.1", mergedRange.getRecommendedVersion().toString() );
         assertEquals( CHECK_VERSION_RECOMMENDATION, "1.0", mergedRange.getRecommendedVersion().toString() );
         List<Restriction> restrictions = mergedRange.getRestrictions();
@@ -199,7 +199,7 @@ public class VersionRangeTest
         assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() );
         assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
 
-        // TODO: test reversed restrictions on all below
+        // TODO test reversed restrictions on all below
         range1 = VersionRange.createFromVersionSpec( "[1.0,)" );
         range2 = VersionRange.createFromVersionSpec( "1.1" );
         mergedRange = range1.restrict( range2 );

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/artifact/ArtifactScopeEnum.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/artifact/ArtifactScopeEnum.java b/maven-compat/src/main/java/org/apache/maven/artifact/ArtifactScopeEnum.java
index 7051e3b..4460a07 100644
--- a/maven-compat/src/main/java/org/apache/maven/artifact/ArtifactScopeEnum.java
+++ b/maven-compat/src/main/java/org/apache/maven/artifact/ArtifactScopeEnum.java
@@ -49,8 +49,6 @@ public enum ArtifactScopeEnum
 
     /**
      * Helper method to simplify null processing
-     *
-     * @return
      */
     public static final ArtifactScopeEnum checkScope( ArtifactScopeEnum scope )
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java b/maven-compat/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
index 29876e2..fe89d1e 100644
--- a/maven-compat/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
+++ b/maven-compat/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
@@ -166,7 +166,7 @@ public class DefaultWagonManager
             String id = mirror.getId();
             if ( id == null )
             {
-                // TODO: this should be illegal in settings.xml
+                // TODO this should be illegal in settings.xml
                 id = repository.getId();
             }
 

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java b/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
index d01a290..28ba94d 100644
--- a/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
+++ b/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
@@ -165,7 +165,7 @@ public class DefaultRepositoryMetadataManager
                     }
                 }
 
-                // TODO: should this be inside the above check?
+                // TODO should this be inside the above check?
                 // touch file so that this is not checked again until interval has passed
                 if ( file.exists() )
                 {
@@ -196,9 +196,9 @@ public class DefaultRepositoryMetadataManager
                                 ArtifactRepository localRepository )
         throws RepositoryMetadataStoreException
     {
-        // TODO: currently this is first wins, but really we should take the latest by comparing either the
+        // TODO currently this is first wins, but really we should take the latest by comparing either the
         // snapshot timestamp, or some other timestamp later encoded into the metadata.
-        // TODO: this needs to be repeated here so the merging doesn't interfere with the written metadata
+        // TODO this needs to be repeated here so the merging doesn't interfere with the written metadata
         //  - we'd be much better having a pristine input, and an ongoing metadata for merging instead
 
         Map<ArtifactRepository, Metadata> previousMetadata = new HashMap<>();
@@ -227,7 +227,7 @@ public class DefaultRepositoryMetadataManager
                                          ArtifactRepository selected, ArtifactRepository localRepository )
         throws RepositoryMetadataStoreException
     {
-        // TODO: this could be a lot nicer... should really be in the snapshot transformation?
+        // TODO this could be a lot nicer... should really be in the snapshot transformation?
         if ( metadata.isSnapshot() )
         {
             Metadata prevMetadata = metadata.getMetadata();
@@ -312,7 +312,7 @@ public class DefaultRepositoryMetadataManager
     }
 
     /**
-     * @todo share with DefaultPluginMappingManager.
+     * TODO share with DefaultPluginMappingManager.
      */
     protected Metadata readMetadata( File mappingFile )
         throws RepositoryMetadataReadException

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/SnapshotArtifactRepositoryMetadata.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/SnapshotArtifactRepositoryMetadata.java b/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/SnapshotArtifactRepositoryMetadata.java
index 359ab2c..5120199 100644
--- a/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/SnapshotArtifactRepositoryMetadata.java
+++ b/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/SnapshotArtifactRepositoryMetadata.java
@@ -26,7 +26,7 @@ import org.apache.maven.artifact.repository.ArtifactRepository;
  * Metadata for the artifact version directory of the repository.
  *
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @todo split instantiation (versioning, plugin mappings) from definition
+ * TODO split instantiation (versioning, plugin mappings) from definition
  */
 public class SnapshotArtifactRepositoryMetadata
     extends AbstractRepositoryMetadata

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DebugResolutionListener.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DebugResolutionListener.java b/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DebugResolutionListener.java
index bd1ed9a..01aa80f 100644
--- a/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DebugResolutionListener.java
+++ b/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DebugResolutionListener.java
@@ -85,7 +85,7 @@ public class DebugResolutionListener
         logger.debug( indent + artifact + " (not setting artifactScope to: " + ignoredScope + "; local artifactScope "
             + artifact.getScope() + " wins)" );
 
-        // TODO: better way than static? this might hide messages in a reactor
+        // TODO better way than static? this might hide messages in a reactor
         if ( !ignoredArtifacts.contains( artifact ) )
         {
             logger.warn( "\n\tArtifact " + artifact + " retains local artifactScope '" + artifact.getScope()

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java b/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
index 6a5f330..b78846b 100644
--- a/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
+++ b/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
@@ -376,7 +376,7 @@ public class DefaultArtifactResolver
         ArtifactFilter resolutionFilter = request.getResolutionFilter();
         RepositorySystemSession session = getSession( request.getLocalRepository() );
 
-        // TODO: hack because metadata isn't generated in m2e correctly and i want to run the maven i have in the
+        // TODO hack because metadata isn't generated in m2e correctly and i want to run the maven i have in the
         // workspace
         if ( source == null )
         {

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/project/MavenProjectBuilder.java b/maven-compat/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
index 816b4a9..df97948 100644
--- a/maven-compat/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
+++ b/maven-compat/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
@@ -54,7 +54,7 @@ public interface MavenProjectBuilder
                                       ArtifactRepository localRepository, boolean allowStubModel )
         throws ProjectBuildingException;
 
-    // TODO: this is only to provide a project for plugins that don't need a project to execute but need some
+    // TODO this is only to provide a project for plugins that don't need a project to execute but need some
     // of the values from a MavenProject. Ideally this should be something internal and nothing outside Maven
     // would ever need this so it should not be exposed in a public API
     MavenProject buildStandaloneSuperProject( ProjectBuilderConfiguration configuration )

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java b/maven-compat/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
index eab3660..07e9473 100644
--- a/maven-compat/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
+++ b/maven-compat/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
@@ -51,7 +51,7 @@ import org.codehaus.plexus.util.xml.Xpp3Dom;
 public class DefaultModelInheritanceAssembler
     implements ModelInheritanceAssembler
 {
-    // TODO: Remove this!
+    // TODO Remove this!
     @SuppressWarnings( "unchecked" )
     public void assembleBuildInheritance( Build childBuild, Build parentBuild, boolean handleAsInheritance )
     {
@@ -303,7 +303,7 @@ public class DefaultModelInheritanceAssembler
         child.setProperties( props );
     }
 
-    // TODO: Remove this!
+    // TODO Remove this!
     @SuppressWarnings( "unchecked" )
     private void assembleDependencyManagementInheritance( Model child, Model parent )
     {
@@ -523,7 +523,7 @@ public class DefaultModelInheritanceAssembler
 
     }
 
-    // TODO: Remove this!
+    // TODO Remove this!
     @SuppressWarnings( "unchecked" )
     private void assembleDependencyInheritance( Model child, Model parent )
     {
@@ -653,7 +653,7 @@ public class DefaultModelInheritanceAssembler
         return repository;
     }
 
-    // TODO: This should eventually be migrated to DefaultPathTranslator.
+    // TODO This should eventually be migrated to DefaultPathTranslator.
     protected String appendPath( String parentPath, String childPath, String pathAdjustment, boolean appendPaths )
     {
         String uncleanPath = parentPath;
@@ -689,7 +689,7 @@ public class DefaultModelInheritanceAssembler
         return cleanedPath + resolvePath( uncleanPath );
     }
 
-    // TODO: Move this to plexus-utils' PathTool.
+    // TODO Move this to plexus-utils' PathTool.
     private static String resolvePath( String uncleanPath )
     {
         LinkedList<String> pathElements = new LinkedList<>();

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/project/interpolation/AbstractStringBasedModelInterpolator.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/project/interpolation/AbstractStringBasedModelInterpolator.java b/maven-compat/src/main/java/org/apache/maven/project/interpolation/AbstractStringBasedModelInterpolator.java
index c40b164..b3e94fc 100644
--- a/maven-compat/src/main/java/org/apache/maven/project/interpolation/AbstractStringBasedModelInterpolator.java
+++ b/maven-compat/src/main/java/org/apache/maven/project/interpolation/AbstractStringBasedModelInterpolator.java
@@ -58,7 +58,7 @@ import java.util.Properties;
  * Use a regular expression search to find and resolve expressions within the POM.
  *
  * @author jdcasey Created on Feb 3, 2005
- * @todo Consolidate this logic with the PluginParameterExpressionEvaluator, minus deprecations/bans.
+ * TODO Consolidate this logic with the PluginParameterExpressionEvaluator, minus deprecations/bans.
  */
 @Deprecated
 public abstract class AbstractStringBasedModelInterpolator
@@ -104,7 +104,7 @@ public abstract class AbstractStringBasedModelInterpolator
     }
 
     /**
-     * @todo: Remove the throws clause.
+     * TODO Remove the throws clause.
      * @throws IOException This exception is not thrown any more, and needs to be removed.
      */
     protected AbstractStringBasedModelInterpolator()
@@ -190,8 +190,6 @@ public abstract class AbstractStringBasedModelInterpolator
      *       with the value, and continue to find other expressions.</li>
      *   <li>If the value is null, get it from the model properties.</li>
      *   <li>
-     * @param overrideContext
-     * @param outputDebugMessages
      */
     public String interpolate( String src,
                                Model model,

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/project/interpolation/RegexBasedModelInterpolator.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/project/interpolation/RegexBasedModelInterpolator.java b/maven-compat/src/main/java/org/apache/maven/project/interpolation/RegexBasedModelInterpolator.java
index 4e251ae..78990ea 100644
--- a/maven-compat/src/main/java/org/apache/maven/project/interpolation/RegexBasedModelInterpolator.java
+++ b/maven-compat/src/main/java/org/apache/maven/project/interpolation/RegexBasedModelInterpolator.java
@@ -30,7 +30,7 @@ import org.codehaus.plexus.interpolation.RegexBasedInterpolator;
  * Use a regular expression search to find and resolve expressions within the POM.
  *
  * @author jdcasey Created on Feb 3, 2005
- * @todo Consolidate this logic with the PluginParameterExpressionEvaluator, minus deprecations/bans.
+ * TODO Consolidate this logic with the PluginParameterExpressionEvaluator, minus deprecations/bans.
  */
 @Deprecated
 public class RegexBasedModelInterpolator

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/repository/MetadataGraph.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/MetadataGraph.java b/maven-compat/src/main/java/org/apache/maven/repository/MetadataGraph.java
index e994856..3568ff0 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/MetadataGraph.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/MetadataGraph.java
@@ -57,7 +57,6 @@ public class MetadataGraph
      * find a node by the GAV (metadata)
      *
      * @param md
-     * @return
      */
     public MetadataGraphNode findNode( MavenArtifactMetadata md )
     {
@@ -76,8 +75,6 @@ public class MetadataGraph
 
     /**
      * getter
-     *
-     * @return
      */
     public MetadataGraphNode getEntry()
     {
@@ -86,8 +83,6 @@ public class MetadataGraph
 
     /**
      * getter
-     *
-     * @return
      */
     public Collection<MetadataGraphNode> getNodes()
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionRequest.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionRequest.java b/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionRequest.java
index 7593351..75d9ddc 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionRequest.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionRequest.java
@@ -123,7 +123,7 @@ public class MetadataResolutionRequest
     }
 
     /**
-     * @deprecated instead use {@link #setRemoteRepositories()}
+     * @deprecated instead use {@link #setRemoteRepositories(List)}
      */
     @Deprecated
     public MetadataResolutionRequest setRemoteRepostories( List<ArtifactRepository> remoteRepostories )

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java b/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java
index 906d0f6..0071ea4 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java
@@ -161,7 +161,7 @@ public class MetadataResolutionResult
     }
 
     /**
-     * @TODO this needs to accept a {@link OverConstrainedVersionException} as returned by
+     * TODO this needs to accept a {@link OverConstrainedVersionException} as returned by
      *       {@link #getVersionRangeViolation(int)} but it's not used like that in
      *       {@link DefaultLegacyArtifactCollector}
      */

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java b/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java
index b8835b5..8dd6b36 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java
@@ -56,9 +56,9 @@ import org.codehaus.plexus.util.FileUtils;
 import org.eclipse.aether.ConfigurationProperties;
 import org.eclipse.aether.util.ConfigUtils;
 
-//TODO: remove the update check manager
-//TODO: separate into retriever and publisher
-//TODO: remove hardcoding of checksum logic
+//TODO remove the update check manager
+//TODO separate into retriever and publisher
+//TODO remove hardcoding of checksum logic
 @Component( role = WagonManager.class )
 public class DefaultWagonManager
     implements WagonManager
@@ -378,7 +378,7 @@ public class DefaultWagonManager
                 ChecksumObserver sha1ChecksumObserver = null;
                 try
                 {
-                    // TODO: configure on repository
+                    // TODO configure on repository
                     int i = 0;
 
                     md5ChecksumObserver = addChecksumObserver( wagon, CHECKSUM_ALGORITHMS[i++] );
@@ -594,7 +594,7 @@ public class DefaultWagonManager
 
         Map<String, String> sums = new HashMap<>( 2 );
 
-        // TODO: configure these on the repository
+        // TODO configure these on the repository
         for ( int i = 0; i < CHECKSUM_IDS.length; i++ )
         {
             checksums.put( CHECKSUM_IDS[i], addChecksumObserver( wagon, CHECKSUM_ALGORITHMS[i] ) );
@@ -628,7 +628,7 @@ public class DefaultWagonManager
             // We do this in here so we can checksum the artifact metadata too, otherwise it could be metadata itself
             for ( String extension : checksums.keySet() )
             {
-                // TODO: shouldn't need a file intermediatary - improve wagon to take a stream
+                // TODO shouldn't need a file intermediatary - improve wagon to take a stream
                 File temp = File.createTempFile( "maven-artifact", null );
                 temp.deleteOnExit();
                 FileUtils.fileWrite( temp.getAbsolutePath(), "UTF-8", sums.get( extension ) );

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/repository/legacy/repository/DefaultArtifactRepositoryFactory.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/legacy/repository/DefaultArtifactRepositoryFactory.java b/maven-compat/src/main/java/org/apache/maven/repository/legacy/repository/DefaultArtifactRepositoryFactory.java
index 4bc9116..fc6b441 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/legacy/repository/DefaultArtifactRepositoryFactory.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/legacy/repository/DefaultArtifactRepositoryFactory.java
@@ -37,7 +37,7 @@ import org.codehaus.plexus.component.annotations.Requirement;
 public class DefaultArtifactRepositoryFactory
     implements ArtifactRepositoryFactory
 {
-    // TODO: use settings?
+    // TODO use settings?
     private String globalUpdatePolicy;
 
     private String globalChecksumPolicy;

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java b/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java
index 88168f1..c3603a6 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java
@@ -249,7 +249,7 @@ public class DefaultLegacyArtifactCollector
 
         Object key = node.getKey();
 
-        // TODO: Does this check need to happen here? Had to add the same call
+        // TODO Does this check need to happen here? Had to add the same call
         // below when we iterate on child nodes -- will that suffice?
         if ( managedVersions.containsKey( key ) )
         {
@@ -272,11 +272,11 @@ public class DefaultLegacyArtifactCollector
 
                         if ( ( previousRange != null ) && ( currentRange != null ) )
                         {
-                            // TODO: shouldn't need to double up on this work, only done for simplicity of handling
+                            // TODO shouldn't need to double up on this work, only done for simplicity of handling
                             // recommended
                             // version but the restriction is identical
                             VersionRange newRange = previousRange.restrict( currentRange );
-                            // TODO: ick. this forces the OCE that should have come from the previous call. It is still
+                            // TODO ick. this forces the OCE that should have come from the previous call. It is still
                             // correct
                             if ( newRange.isSelectedVersionKnown( previous.getArtifact() ) )
                             {
@@ -363,7 +363,7 @@ public class DefaultLegacyArtifactCollector
 
                         if ( resolved == null )
                         {
-                            // TODO: add better exception that can detail the two conflicting artifacts
+                            // TODO add better exception that can detail the two conflicting artifacts
                             ArtifactResolutionException are =
                                 new ArtifactResolutionException( "Cannot resolve artifact version conflict between "
                                                                      + previous.getArtifact().getVersion() + " and "
@@ -375,14 +375,14 @@ public class DefaultLegacyArtifactCollector
 
                         if ( ( resolved != previous ) && ( resolved != node ) )
                         {
-                            // TODO: add better exception
+                            // TODO add better exception
                             result.addVersionRangeViolation( new ArtifactResolutionException(
                                 "Conflict resolver returned unknown resolution node: ",
                                 resolved.getArtifact() ) );
 
                         }
 
-                        // TODO: should this be part of mediation?
+                        // TODO should this be part of mediation?
                         // previous one is more dominant
                         ResolutionNode nearest;
                         ResolutionNode farthest;
@@ -501,7 +501,7 @@ public class DefaultLegacyArtifactCollector
                                 if ( artifact.getVersion() == null )
                                 {
                                     // set the recommended version
-                                    // TODO: maybe its better to just pass the range through to retrieval and use a
+                                    // TODO maybe its better to just pass the range through to retrieval and use a
                                     // transformation?
                                     ArtifactVersion version;
                                     if ( !artifact.isSelectedVersionKnown() )

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/conflict/DefaultConflictResolverFactory.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/conflict/DefaultConflictResolverFactory.java b/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/conflict/DefaultConflictResolverFactory.java
index 66716d1..9192b18 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/conflict/DefaultConflictResolverFactory.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/conflict/DefaultConflictResolverFactory.java
@@ -32,7 +32,7 @@ import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
  * A conflict resolver factory that obtains instances from a plexus container.
  *
  * @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
- * @todo you don't need the container in here with the active maps (jvz).
+ * TODO you don't need the container in here with the active maps (jvz).
  * @since 3.0
  */
 @Component( role = ConflictResolverFactory.class )

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/conflict/NewestConflictResolver.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/conflict/NewestConflictResolver.java b/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/conflict/NewestConflictResolver.java
index 1879a81..e5bf558 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/conflict/NewestConflictResolver.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/conflict/NewestConflictResolver.java
@@ -54,7 +54,7 @@ public class NewestConflictResolver
         }
         catch ( OverConstrainedVersionException exception )
         {
-            // TODO: log message or throw exception?
+            // TODO log message or throw exception?
 
             return null;
         }

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/conflict/OldestConflictResolver.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/conflict/OldestConflictResolver.java b/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/conflict/OldestConflictResolver.java
index 5c5c12d..d5e880c 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/conflict/OldestConflictResolver.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/conflict/OldestConflictResolver.java
@@ -54,7 +54,7 @@ public class OldestConflictResolver
         }
         catch ( OverConstrainedVersionException exception )
         {
-            // TODO: log message or throw exception?
+            // TODO log message or throw exception?
 
             return null;
         }

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/transform/AbstractVersionTransformation.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/transform/AbstractVersionTransformation.java b/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/transform/AbstractVersionTransformation.java
index 3a5c7c6..1ce5458 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/transform/AbstractVersionTransformation.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/transform/AbstractVersionTransformation.java
@@ -42,7 +42,7 @@ import org.codehaus.plexus.logging.AbstractLogEnabled;
  * Describes a version transformation during artifact resolution.
  *
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @todo try and refactor to remove abstract methods - not particular happy about current design
+ * TODO try and refactor to remove abstract methods - not particular happy about current design
  */
 public abstract class AbstractVersionTransformation
     extends AbstractLogEnabled
@@ -105,8 +105,8 @@ public abstract class AbstractVersionTransformation
             version = artifact.getBaseVersion();
         }
 
-        // TODO: also do this logging for other metadata?
-        // TODO: figure out way to avoid duplicated message
+        // TODO also do this logging for other metadata?
+        // TODO figure out way to avoid duplicated message
         if ( getLogger().isDebugEnabled() )
         {
             if ( !version.equals( artifact.getBaseVersion() ) )

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
index 39084fe..391ec0f 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
@@ -166,7 +166,7 @@ public class DefaultArtifactCollectorTest
     public void disabledtestResolveCorrectDependenciesWhenDifferentDependenciesOnNewest()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
-        // TODO: use newest conflict resolver
+        // TODO use newest conflict resolver
         ArtifactSpec a = createArtifactSpec( "a", "1.0" );
         ArtifactSpec b = a.addDependency( "b", "1.0" );
         ArtifactSpec c2 = b.addDependency( "c", "2.0" );
@@ -185,7 +185,7 @@ public class DefaultArtifactCollectorTest
     public void disabledtestResolveCorrectDependenciesWhenDifferentDependenciesOnNewestVersionReplaced()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
-        // TODO: use newest conflict resolver
+        // TODO use newest conflict resolver
         ArtifactSpec a = createArtifactSpec( "a", "1.0" );
         ArtifactSpec b1 = a.addDependency( "b", "1.0" );
         ArtifactSpec c = a.addDependency( "c", "1.0" );

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/AbstractMavenLifecycleParticipant.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/AbstractMavenLifecycleParticipant.java b/maven-core/src/main/java/org/apache/maven/AbstractMavenLifecycleParticipant.java
index 01247ae..faddef4 100644
--- a/maven-core/src/main/java/org/apache/maven/AbstractMavenLifecycleParticipant.java
+++ b/maven-core/src/main/java/org/apache/maven/AbstractMavenLifecycleParticipant.java
@@ -53,7 +53,7 @@ public abstract class AbstractMavenLifecycleParticipant
      * activate profiles and perform similar tasks that affect MavenProject
      * instance construction.
      */
-    // TODO: This is too early for build extensions, so maybe just remove it?
+    // TODO This is too early for build extensions, so maybe just remove it?
     public void afterSessionStart( MavenSession session )
         throws MavenExecutionException
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/DefaultArtifactFilterManager.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/DefaultArtifactFilterManager.java b/maven-core/src/main/java/org/apache/maven/DefaultArtifactFilterManager.java
index 503dcdb..a746846 100644
--- a/maven-core/src/main/java/org/apache/maven/DefaultArtifactFilterManager.java
+++ b/maven-core/src/main/java/org/apache/maven/DefaultArtifactFilterManager.java
@@ -85,7 +85,7 @@ public class DefaultArtifactFilterManager
     /**
      * Returns the artifact filter for the standard core artifacts.
      *
-     * @see org.apache.maven.ArtifactFilterManager#getExtensionDependencyFilter()
+     * @see org.apache.maven.ArtifactFilterManager#getCoreArtifactFilter()
      */
     public ArtifactFilter getCoreArtifactFilter()
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/artifact/DependencyResolutionRequiredException.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/artifact/DependencyResolutionRequiredException.java b/maven-core/src/main/java/org/apache/maven/artifact/DependencyResolutionRequiredException.java
index b54ba07..9979423 100644
--- a/maven-core/src/main/java/org/apache/maven/artifact/DependencyResolutionRequiredException.java
+++ b/maven-core/src/main/java/org/apache/maven/artifact/DependencyResolutionRequiredException.java
@@ -23,7 +23,7 @@ package org.apache.maven.artifact;
  * Exception that occurs when an artifact file is used, but has not been resolved.
  *
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @todo it may be better for artifact.getFile() to throw it - perhaps it is a runtime exception?
+ * TODO it may be better for artifact.getFile() to throw it - perhaps it is a runtime exception?
  */
 public class DependencyResolutionRequiredException
     extends Exception

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java b/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java
index 38ae6bb..9765c73 100644
--- a/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java
+++ b/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java
@@ -28,7 +28,7 @@ import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
 import org.apache.maven.repository.Proxy;
 
-//TODO: completely separate local and remote artifact repositories
+//TODO completely separate local and remote artifact repositories
 public class MavenArtifactRepository
     implements ArtifactRepository
 {
@@ -234,7 +234,7 @@ public class MavenArtifactRepository
      *
      * @param url the repository URL
      * @return the basedir of the repository
-     * @todo need to URL decode for spaces?
+     * TODO need to URL decode for spaces?
      */
     private String basedir( String url )
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java b/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java
index 37e69e5..46c41b9 100644
--- a/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java
+++ b/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java
@@ -181,7 +181,7 @@ public abstract class AbstractRepositoryMetadata
 
     public void merge( org.apache.maven.repository.legacy.metadata.ArtifactMetadata metadata )
     {
-        // TODO: not sure that it should assume this, maybe the calls to addMetadata should pre-merge, then artifact
+        // TODO not sure that it should assume this, maybe the calls to addMetadata should pre-merge, then artifact
         // replaces?
         AbstractRepositoryMetadata repoMetadata = (AbstractRepositoryMetadata) metadata;
         this.metadata.merge( repoMetadata.getMetadata() );
@@ -189,7 +189,7 @@ public abstract class AbstractRepositoryMetadata
 
     public void merge( ArtifactMetadata metadata )
     {
-        // TODO: not sure that it should assume this, maybe the calls to addMetadata should pre-merge, then artifact
+        // TODO not sure that it should assume this, maybe the calls to addMetadata should pre-merge, then artifact
         // replaces?
         AbstractRepositoryMetadata repoMetadata = (AbstractRepositoryMetadata) metadata;
         this.metadata.merge( repoMetadata.getMetadata() );

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadata.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadata.java b/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadata.java
index 22e3ade..d7fe50b 100644
--- a/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadata.java
+++ b/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadata.java
@@ -26,7 +26,7 @@ import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
  * Describes repository directory metadata.
  *
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @todo not happy about the store method - they use "this"
+ * TODO not happy about the store method - they use "this"
  */
 public interface RepositoryMetadata
     extends org.apache.maven.artifact.metadata.ArtifactMetadata

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java b/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
index 2bad1a7..b780f50 100644
--- a/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
+++ b/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
@@ -36,7 +36,7 @@ import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
  * - network/transfer errors - file system errors: permissions
  *
  * @author Jason van Zyl
- * @TODO carlos: all these possible has*Exceptions and get*Exceptions methods make the clients too
+ * TODO carlos: all these possible has*Exceptions and get*Exceptions methods make the clients too
  *       complex requiring a long list of checks, need to create a parent/interface/encapsulation
  *       for the types of exceptions
  */
@@ -173,7 +173,7 @@ public class ArtifactResolutionResult
     }
 
     /**
-     * @TODO this needs to accept a {@link OverConstrainedVersionException} as returned by
+     * TODO this needs to accept a {@link OverConstrainedVersionException} as returned by
      *       {@link #getVersionRangeViolation(int)} but it's not used like that in
      *       {@link DefaultLegacyArtifactCollector}
      */

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java b/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java
index 5651641..3b64eaf 100644
--- a/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java
+++ b/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java
@@ -198,7 +198,7 @@ public class ResolutionNode
     {
         active = true;
 
-        // TODO: if it was null, we really need to go find them now... or is this taken care of by the ordering?
+        // TODO if it was null, we really need to go find them now... or is this taken care of by the ordering?
         if ( children != null )
         {
             for ( ResolutionNode node : children )

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ExcludesArtifactFilter.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ExcludesArtifactFilter.java b/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ExcludesArtifactFilter.java
index b6ef02e..e448af4 100644
--- a/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ExcludesArtifactFilter.java
+++ b/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ExcludesArtifactFilter.java
@@ -27,7 +27,7 @@ import org.apache.maven.artifact.Artifact;
  * Filter to exclude from a list of artifact patterns.
  *
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @todo I think this is equiv. to exclusion set filter in maven-core
+ * TODO I think this is equiv. to exclusion set filter in maven-core
  */
 public class ExcludesArtifactFilter
     extends IncludesArtifactFilter

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/IncludesArtifactFilter.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/IncludesArtifactFilter.java b/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/IncludesArtifactFilter.java
index 6ac8884..7a3b6c7 100644
--- a/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/IncludesArtifactFilter.java
+++ b/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/IncludesArtifactFilter.java
@@ -49,7 +49,7 @@ public class IncludesArtifactFilter
         boolean matched = false;
         for ( Iterator<String> i = patterns.iterator(); i.hasNext() & !matched; )
         {
-            // TODO: what about wildcards? Just specifying groups? versions?
+            // TODO what about wildcards? Just specifying groups? versions?
             if ( id.equals( i.next() ) )
             {
                 matched = true;

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java b/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
index d67061f..089a7db 100644
--- a/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
+++ b/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
@@ -1088,7 +1088,7 @@ public class DefaultMavenExecutionRequest
         return pluginArtifactRepositories;
     }
 
-    // TODO: this does not belong here.
+    // TODO this does not belong here.
     @Override
     public ProjectBuildingRequest getProjectBuildingRequest()
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java b/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
index 53f84c5..d006a43 100644
--- a/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
+++ b/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
@@ -356,15 +356,15 @@ public interface MavenExecutionRequest
     MavenExecutionRequest setUserToolchainsFile( File userToolchainsFile );
 
     /**
-     * 
-     * 
+     *
+     *
      * @return the global toolchains file
      * @since 3.3.0
      */
     File getGlobalToolchainsFile();
 
     /**
-     * 
+     *
      * @param globalToolchainsFile the global toolchains file
      * @return this request
      * @since 3.3.0
@@ -388,29 +388,31 @@ public interface MavenExecutionRequest
     MavenExecutionRequest setUseLegacyLocalRepository( boolean useLegacyLocalRepository );
 
     /**
-     * Controls the {@link Builder} used by Maven by specification of the builder's id.
+     * Controls the {@link org.apache.maven.lifecycle.internal.builder.Builder} used by Maven by specification
+     * of the builder's id.
      *
      * @since 3.2.0
      */
     MavenExecutionRequest setBuilderId( String builderId );
 
     /**
-     * Controls the {@link Builder} used by Maven by specification of the builders id.
+     * Controls the {@link org.apache.maven.lifecycle.internal.builder.Builder} used by Maven by specification
+     * of the builders id.
      *
      * @since 3.2.0
      */
     String getBuilderId();
 
     /**
-     * 
-     * @param toolchains all toolchains grouped by type 
-     * @return this request 
+     *
+     * @param toolchains all toolchains grouped by type
+     * @return this request
      * @since 3.3.0
      */
     MavenExecutionRequest setToolchains( Map<String, List<ToolchainModel>> toolchains );
-    
+
     /**
-     * 
+     *
      * @return all toolchains grouped by type, never {@code null}
      * @since 3.3.0
      */
@@ -428,9 +430,9 @@ public interface MavenExecutionRequest
 
     /**
      * @since 3.3.0
-     */    
+     */
     MavenExecutionRequest setEventSpyDispatcher( EventSpyDispatcher eventSpyDispatcher );
-    
+
     /**
      * @since 3.3.0
      */

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/execution/scope/WeakMojoExecutionListener.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/execution/scope/WeakMojoExecutionListener.java b/maven-core/src/main/java/org/apache/maven/execution/scope/WeakMojoExecutionListener.java
index 94e7c10..102bc1d 100644
--- a/maven-core/src/main/java/org/apache/maven/execution/scope/WeakMojoExecutionListener.java
+++ b/maven-core/src/main/java/org/apache/maven/execution/scope/WeakMojoExecutionListener.java
@@ -25,8 +25,9 @@ import org.apache.maven.plugin.MojoExecutionException;
 /**
  * Extension point that allows build extensions observe and possibly veto mojo executions.
  * <p>
- * Unlike {@link MojoExecutionListener}, this extension point does not trigger instantiation of the component, hence
- * "weak" class name prefix. Only applies to mojo execution scoped components.
+ * Unlike {@link org.apache.maven.execution.MojoExecutionListener}, this extension point does not
+ * trigger instantiation of the component, hence "weak" class name prefix. Only applies to mojo execution
+ * scoped components.
  *
  * @see org.apache.maven.execution.MojoExecutionListener
  * @since 3.1.2

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java b/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
index 6f994b3..dae1894 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
@@ -97,8 +97,8 @@ public class DefaultLifecycleExecutor
     // fully populated Plugin objects, including executions with goals and default configuration taken
     // from the plugin.xml inside a plugin.
     //
-    // TODO: This whole method could probably removed by injecting lifeCyclePluginAnalyzer straight into client site.
-    // TODO: But for some reason the whole plexus appcontext refuses to start when I try this.
+    // TODO This whole method could probably removed by injecting lifeCyclePluginAnalyzer straight into client site.
+    // TODO But for some reason the whole plexus appcontext refuses to start when I try this.
 
     public Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String packaging )
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycles.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycles.java b/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycles.java
index 48cd0c5..8186a39 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycles.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycles.java
@@ -40,7 +40,7 @@ import java.util.Set;
  * @author Jason van Zyl
  * @author Kristian Rosenvold
  */
-// TODO: The configuration for the lifecycle needs to be externalized so that I can use the annotations properly for the
+// TODO The configuration for the lifecycle needs to be externalized so that I can use the annotations properly for the
 // wiring and reference and external source for the lifecycle configuration.
 @Component( role = DefaultLifecycles.class )
 public class DefaultLifecycles

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/lifecycle/MavenExecutionPlan.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/MavenExecutionPlan.java b/maven-core/src/main/java/org/apache/maven/lifecycle/MavenExecutionPlan.java
index 7dacb8e..e7b1a7f 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/MavenExecutionPlan.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/MavenExecutionPlan.java
@@ -34,13 +34,13 @@ import org.apache.maven.model.Plugin;
 import org.apache.maven.plugin.MojoExecution;
 import org.apache.maven.plugin.descriptor.MojoDescriptor;
 
-//TODO: lifecycles being executed
-//TODO: what runs in each phase
-//TODO: plugins that need downloading
-//TODO: project dependencies that need downloading
-//TODO: unfortunately the plugins need to be downloaded in order to get the plugin.xml file. need to externalize this
+//TODO lifecycles being executed
+//TODO what runs in each phase
+//TODO plugins that need downloading
+//TODO project dependencies that need downloading
+//TODO unfortunately the plugins need to be downloaded in order to get the plugin.xml file. need to externalize this
 //      from the plugin archive.
-//TODO: this will be the class that people get in IDEs to modify
+//TODO this will be the class that people get in IDEs to modify
 
 public class MavenExecutionPlan
     implements Iterable<ExecutionPlanItem>

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleExecutionPlanCalculator.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleExecutionPlanCalculator.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleExecutionPlanCalculator.java
index 2600881..46aff9e 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleExecutionPlanCalculator.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleExecutionPlanCalculator.java
@@ -525,8 +525,8 @@ public class DefaultLifecycleExecutionPlanCalculator
     }
 
     // org.apache.maven.plugins:maven-remote-resources-plugin:1.0:process
-    // TODO: take repo mans into account as one may be aggregating prefixes of many
-    // TODO: collect at the root of the repository, read the one at the root, and fetch remote if something is missing
+    // TODO take repo mans into account as one may be aggregating prefixes of many
+    // TODO collect at the root of the repository, read the one at the root, and fetch remote if something is missing
     // or the user forces the issue
 
     private List<MojoExecution> calculateForkedGoal( MojoExecution mojoExecution, MavenSession session,

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DependencyContext.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DependencyContext.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DependencyContext.java
index 18fae7a..0e4a708 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DependencyContext.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DependencyContext.java
@@ -35,7 +35,7 @@ import java.util.TreeSet;
  *         <p/>
  *         NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
  */
-// TODO: From a concurrency perspective, this class is not good. The combination of mutable/immutable state is not nice
+// TODO From a concurrency perspective, this class is not good. The combination of mutable/immutable state is not nice
 public class DependencyContext
 {
 

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/lifecycle/internal/GoalTask.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/GoalTask.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/GoalTask.java
index 89e456b..f166403 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/GoalTask.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/GoalTask.java
@@ -22,7 +22,7 @@ package org.apache.maven.lifecycle.internal;
 /**
  * A task that is a goal
  * <p/>
- * TODO: From a concurrency perspective, this class is not good. The combination of mutable/immutable state is not nice
+ * TODO From a concurrency perspective, this class is not good. The combination of mutable/immutable state is not nice
  *
  * @since 3.0
  * @author Benjamin Bentmann

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java
index e6b09ce..a19467f 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java
@@ -239,8 +239,8 @@ public class MojoDescriptorCreator
                                                 session.getRepositorySession() );
     }
 
-    // TODO: take repo mans into account as one may be aggregating prefixes of many
-    // TODO: collect at the root of the repository, read the one at the root, and fetch remote if something is missing
+    // TODO take repo mans into account as one may be aggregating prefixes of many
+    // TODO collect at the root of the repository, read the one at the root, and fetch remote if something is missing
     // or the user forces the issue
 
     public Plugin findPluginForPrefix( String prefix, MavenSession session )

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectBuildList.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectBuildList.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectBuildList.java
index 427f449..2d7371b 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectBuildList.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectBuildList.java
@@ -51,7 +51,7 @@ public class ProjectBuildList
         this.items = Collections.unmodifiableList( items );
     }
 
-    // TODO: Optimize; or maybe just rewrite the whole way aggregating mojos are being run.
+    // TODO Optimize; or maybe just rewrite the whole way aggregating mojos are being run.
     /**
      * Returns aProjectBuildList that contains only items for the specified taskSegment
      * @param taskSegment the requested tasksegment

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectIndex.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectIndex.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectIndex.java
index 13539b4..aa56d57 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectIndex.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectIndex.java
@@ -35,7 +35,7 @@ import java.util.Map;
  *         <p/>
  *         NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
  */
-// Todo: Kristian wonders if this class really is necessary and if it overlaps other concepts.
+// TODO Kristian wonders if this class really is necessary and if it overlaps other concepts.
 public final class ProjectIndex
 {
 

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/lifecycle/internal/TaskSegment.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/TaskSegment.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/TaskSegment.java
index 492bcda..16eb76a 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/TaskSegment.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/TaskSegment.java
@@ -69,5 +69,5 @@ public final class TaskSegment
         return aggregating;
     }
 
-    // TODO: Consider throwing UnsupportedSomething on hashCode/equals
+    // TODO Consider throwing UnsupportedSomething on hashCode/equals
 }

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java
index 34fb323..f770670 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java
@@ -188,7 +188,7 @@ public class BuilderCommon
         }
     }
 
-    // Todo: I'm really wondering where this method belongs; smells like it should be on MavenProject, but for some
+    // TODO I'm really wondering where this method belongs; smells like it should be on MavenProject, but for some
     // reason it isn't ? This localization is kind-of a code smell.
 
     public static String getKey( MavenProject project )

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/Lifecycle.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/Lifecycle.java b/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/Lifecycle.java
index c14cf94..27f612f 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/Lifecycle.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/Lifecycle.java
@@ -62,7 +62,7 @@ public class Lifecycle
     {
         return this.lifecyclePhases;
     }
-    
+
     /**
      * Method setId
      *
@@ -76,7 +76,7 @@ public class Lifecycle
     /**
      * Method setLifecyclePhases
      *
-     * @param phases
+     * @param lifecyclePhases
      */
     public void setLifecyclePhases( Map<String, LifecyclePhase> lifecyclePhases )
     {
@@ -91,12 +91,12 @@ public class Lifecycle
         {
             return null;
         }
-        
+
         if ( lphases.isEmpty() )
         {
             return Collections.emptyMap();
         }
-        
+
         Map<String, String> phases = new LinkedHashMap<>();
         for ( Map.Entry<String, LifecyclePhase> e: lphases.entrySet() )
         {

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java b/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java
index 5d7a56c..b4f7a4d 100644
--- a/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java
+++ b/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java
@@ -37,8 +37,8 @@ import org.codehaus.plexus.component.annotations.Requirement;
 import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.repository.RemoteRepository;
 
-// TODO: the antrun plugin has its own configurator, the only plugin that does. might need to think about how that works
-// TODO: remove the coreArtifactFilterManager
+// TODO the antrun plugin has its own configurator, the only plugin that does. might need to think about how that works
+// TODO remove the coreArtifactFilterManager
 
 @Component( role = BuildPluginManager.class )
 public class DefaultBuildPluginManager

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java b/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
index a7eeb4e..984e22a 100644
--- a/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
+++ b/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
@@ -83,7 +83,7 @@ public class PluginParameterExpressionEvaluator
 
     private Properties properties;
 
-    @Deprecated //TODO: used by the Enforcer plugin
+    @Deprecated //TODO used by the Enforcer plugin
     public PluginParameterExpressionEvaluator( MavenSession session, MojoExecution mojoExecution,
                                                PathTranslator pathTranslator, Logger logger, MavenProject project,
                                                Properties properties )
@@ -228,7 +228,7 @@ public class PluginParameterExpressionEvaluator
             }
             catch ( Exception e )
             {
-                // TODO: don't catch exception
+                // TODO don't catch exception
                 throw new ExpressionEvaluationException( "Error evaluating plugin parameter expression: " + expression,
                                                          e );
             }
@@ -268,7 +268,7 @@ public class PluginParameterExpressionEvaluator
             }
             catch ( Exception e )
             {
-                // TODO: don't catch exception
+                // TODO don't catch exception
                 throw new ExpressionEvaluationException( "Error evaluating plugin parameter expression: " + expression,
                                                          e );
             }
@@ -300,7 +300,7 @@ public class PluginParameterExpressionEvaluator
             }
             catch ( Exception e )
             {
-                // TODO: don't catch exception
+                // TODO don't catch exception
                 throw new ExpressionEvaluationException( "Error evaluating plugin parameter expression: " + expression,
                                                          e );
             }
@@ -357,7 +357,7 @@ public class PluginParameterExpressionEvaluator
             }
             catch ( Exception e )
             {
-                // TODO: don't catch exception
+                // TODO don't catch exception
                 throw new ExpressionEvaluationException( "Error evaluating plugin parameter expression: " + expression,
                                                          e );
             }
@@ -412,7 +412,7 @@ public class PluginParameterExpressionEvaluator
 
         if ( value instanceof String )
         {
-            // TODO: without #, this could just be an evaluate call...
+            // TODO without #, this could just be an evaluate call...
 
             String val = (String) value;
 
@@ -457,7 +457,7 @@ public class PluginParameterExpressionEvaluator
     @Override
     public File alignToBaseDirectory( File file )
     {
-        // TODO: Copied from the DefaultInterpolator. We likely want to resurrect the PathTranslator or at least a
+        // TODO Copied from the DefaultInterpolator. We likely want to resurrect the PathTranslator or at least a
         // similar component for re-usage
         if ( file != null )
         {

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java
index b87994e..72075fd 100644
--- a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java
+++ b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java
@@ -124,7 +124,7 @@ public class DefaultMavenPluginManager
      * PluginId=>ExtensionRealmCache.CacheRecord map MavenProject context value key. The map is used to ensure the same
      * class realm is used to load build extensions and load mojos for extensions=true plugins.
      *
-     * @noreference this is part of internal implementation and may be changed or removed without notice
+     * @provisional This is part of internal implementation and may be changed or removed without notice
      * @since 3.3.0
      */
     public static final String KEY_EXTENSIONS_REALMS = DefaultMavenPluginManager.class.getName() + "/extensionsRealms";
@@ -617,7 +617,7 @@ public class DefaultMavenPluginManager
 
         try
         {
-            // TODO: could the configuration be passed to lookup and the configurator known to plexus via the descriptor
+            // TODO could the configuration be passed to lookup and the configurator known to plexus via the descriptor
             // so that this method could entirely be handled by a plexus lookup?
             configurator = container.lookup( ComponentConfigurator.class, configuratorId );
 

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/project/DuplicateArtifactAttachmentException.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/DuplicateArtifactAttachmentException.java b/maven-core/src/main/java/org/apache/maven/project/DuplicateArtifactAttachmentException.java
index 6121473..d263c28 100644
--- a/maven-core/src/main/java/org/apache/maven/project/DuplicateArtifactAttachmentException.java
+++ b/maven-core/src/main/java/org/apache/maven/project/DuplicateArtifactAttachmentException.java
@@ -27,7 +27,7 @@ import org.apache.maven.artifact.Artifact;
  *
  * @author pgier
  * @author jdcasey
- * @todo Make this a checked exception, and modify the API of MavenProjectHelper.
+ * TODO Make this a checked exception, and modify the API of MavenProjectHelper.
  * Currently, this modification would create compatibility problems for existing plugins.
  */
 public class DuplicateArtifactAttachmentException


[23/46] maven git commit: [MNG-5297] improved explanations on prerequisites.maven in Maven 3

Posted by sc...@apache.org.
[MNG-5297] improved explanations on prerequisites.maven in Maven 3

Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/19d5b9df
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/19d5b9df
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/19d5b9df

Branch: refs/heads/MNG-5984
Commit: 19d5b9dfa108a94c0825215a013ac21253cb0a17
Parents: 0284dda
Author: Herv� Boutemy <hb...@apache.org>
Authored: Sun Sep 18 23:57:24 2016 +0200
Committer: Herv� Boutemy <hb...@apache.org>
Committed: Tue Feb 14 01:37:31 2017 +0100

----------------------------------------------------------------------
 maven-model/src/main/mdo/maven.mdo | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/19d5b9df/maven-model/src/main/mdo/maven.mdo
----------------------------------------------------------------------
diff --git a/maven-model/src/main/mdo/maven.mdo b/maven-model/src/main/mdo/maven.mdo
index 1187b11..945ae03 100644
--- a/maven-model/src/main/mdo/maven.mdo
+++ b/maven-model/src/main/mdo/maven.mdo
@@ -3483,12 +3483,12 @@
           <type>String</type>
           <defaultValue>2.0</defaultValue>
           <description><![CDATA[
-            For a plugin project, the minimum version of Maven required to use
-            the resulting plugin.<br />
-            For specifying the minimum version of Maven required to build a
-            project, this element is <b>deprecated</b>. Use the Maven Enforcer
-            Plugin's <a href="https://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html"><code>requireMavenVersion</code></a>
-            rule instead.
+            For a plugin project (packaging is <code>maven-plugin</code>), the minimum version of
+            Maven required to use the resulting plugin.<br />
+            In Maven 2, this was also specifying the minimum version of Maven required to build a
+            project, but this usage is <b>deprecated</b> in Maven 3 and not checked any more: use
+            the <a href="https://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html">Maven Enforcer Plugin's
+            <code>requireMavenVersion</code> rule</a> instead.
             ]]>
           </description>
           <required>false</required>


[42/46] maven git commit: [MNG-6181] HttpClient produces a lot of noise at debug loglevel

Posted by sc...@apache.org.
[MNG-6181] HttpClient produces a lot of noise at debug loglevel

Turn off httpclient logging by default, which restores logging from previous Maven versions


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/e0da20a1
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/e0da20a1
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/e0da20a1

Branch: refs/heads/MNG-5984
Commit: e0da20a1f801aeda0cd74495834c637c3a207478
Parents: 0b9a30f
Author: rfscholte <rf...@apache.org>
Authored: Sun Mar 5 15:30:27 2017 +0100
Committer: rfscholte <rf...@apache.org>
Committed: Sun Mar 5 15:30:27 2017 +0100

----------------------------------------------------------------------
 apache-maven/src/conf/logging/simplelogger.properties | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/e0da20a1/apache-maven/src/conf/logging/simplelogger.properties
----------------------------------------------------------------------
diff --git a/apache-maven/src/conf/logging/simplelogger.properties b/apache-maven/src/conf/logging/simplelogger.properties
index 859ff72..eb3d049 100644
--- a/apache-maven/src/conf/logging/simplelogger.properties
+++ b/apache-maven/src/conf/logging/simplelogger.properties
@@ -22,4 +22,10 @@ org.slf4j.simpleLogger.showLogName=false
 org.slf4j.simpleLogger.logFile=System.out
 org.slf4j.simpleLogger.levelInBrackets=true
 org.slf4j.simpleLogger.log.Sisu=info
-org.slf4j.simpleLogger.warnLevelString=WARNING
\ No newline at end of file
+org.slf4j.simpleLogger.warnLevelString=WARNING
+
+# MNG-6181: mvn -X also prints all debug logging from http-client
+# Be aware that the shaded packages are used
+# org.apache.http -> org.apache.maven.wagon.providers.http.httpclient
+org.slf4j.simpleLogger.log.org.apache.maven.wagon.providers.http.httpclient=off
+org.slf4j.simpleLogger.log.org.apache.maven.wagon.providers.http.httpclient.wire=off
\ No newline at end of file


[05/46] maven git commit: [MNG-6110] renamed 'maven-aether-provider' to 'maven-resolver-provider'

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
new file mode 100644
index 0000000..0f31330
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
@@ -0,0 +1,415 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.LinkedHashSet;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+
+import org.apache.commons.lang3.Validate;
+import org.apache.maven.model.DistributionManagement;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Relocation;
+import org.apache.maven.model.building.DefaultModelBuilderFactory;
+import org.apache.maven.model.building.DefaultModelBuildingRequest;
+import org.apache.maven.model.building.FileModelSource;
+import org.apache.maven.model.building.ModelBuilder;
+import org.apache.maven.model.building.ModelBuildingException;
+import org.apache.maven.model.building.ModelBuildingRequest;
+import org.apache.maven.model.building.ModelProblem;
+import org.apache.maven.model.resolution.UnresolvableModelException;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
+import org.eclipse.aether.RepositoryEvent;
+import org.eclipse.aether.RepositoryEvent.EventType;
+import org.eclipse.aether.RepositoryException;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.RequestTrace;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.impl.ArtifactDescriptorReader;
+import org.eclipse.aether.impl.ArtifactResolver;
+import org.eclipse.aether.impl.RemoteRepositoryManager;
+import org.eclipse.aether.impl.RepositoryEventDispatcher;
+import org.eclipse.aether.impl.VersionRangeResolver;
+import org.eclipse.aether.impl.VersionResolver;
+import org.eclipse.aether.repository.WorkspaceReader;
+import org.eclipse.aether.repository.WorkspaceRepository;
+import org.eclipse.aether.resolution.ArtifactDescriptorException;
+import org.eclipse.aether.resolution.ArtifactDescriptorPolicy;
+import org.eclipse.aether.resolution.ArtifactDescriptorPolicyRequest;
+import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
+import org.eclipse.aether.resolution.ArtifactDescriptorResult;
+import org.eclipse.aether.resolution.ArtifactRequest;
+import org.eclipse.aether.resolution.ArtifactResolutionException;
+import org.eclipse.aether.resolution.ArtifactResult;
+import org.eclipse.aether.resolution.VersionRequest;
+import org.eclipse.aether.resolution.VersionResolutionException;
+import org.eclipse.aether.resolution.VersionResult;
+import org.eclipse.aether.spi.locator.Service;
+import org.eclipse.aether.spi.locator.ServiceLocator;
+import org.eclipse.aether.spi.log.Logger;
+import org.eclipse.aether.spi.log.LoggerFactory;
+import org.eclipse.aether.spi.log.NullLoggerFactory;
+import org.eclipse.aether.transfer.ArtifactNotFoundException;
+
+/**
+ * @author Benjamin Bentmann
+ */
+@Named
+@Component( role = ArtifactDescriptorReader.class )
+public class DefaultArtifactDescriptorReader
+    implements ArtifactDescriptorReader, Service
+{
+
+    @SuppressWarnings( "unused" )
+    @Requirement( role = LoggerFactory.class )
+    private Logger logger = NullLoggerFactory.LOGGER;
+
+    @Requirement
+    private RemoteRepositoryManager remoteRepositoryManager;
+
+    @Requirement
+    private VersionResolver versionResolver;
+
+    @Requirement
+    private VersionRangeResolver versionRangeResolver;
+
+    @Requirement
+    private ArtifactResolver artifactResolver;
+
+    @Requirement
+    private RepositoryEventDispatcher repositoryEventDispatcher;
+
+    @Requirement
+    private ModelBuilder modelBuilder;
+
+    public DefaultArtifactDescriptorReader()
+    {
+        // enable no-arg constructor
+    }
+
+    @Inject
+    DefaultArtifactDescriptorReader( RemoteRepositoryManager remoteRepositoryManager, VersionResolver versionResolver,
+                                     ArtifactResolver artifactResolver, ModelBuilder modelBuilder,
+                                     RepositoryEventDispatcher repositoryEventDispatcher, LoggerFactory loggerFactory )
+    {
+        setRemoteRepositoryManager( remoteRepositoryManager );
+        setVersionResolver( versionResolver );
+        setArtifactResolver( artifactResolver );
+        setModelBuilder( modelBuilder );
+        setLoggerFactory( loggerFactory );
+        setRepositoryEventDispatcher( repositoryEventDispatcher );
+    }
+
+    public void initService( ServiceLocator locator )
+    {
+        setLoggerFactory( locator.getService( LoggerFactory.class ) );
+        setRemoteRepositoryManager( locator.getService( RemoteRepositoryManager.class ) );
+        setVersionResolver( locator.getService( VersionResolver.class ) );
+        setVersionRangeResolver( locator.getService( VersionRangeResolver.class ) );
+        setArtifactResolver( locator.getService( ArtifactResolver.class ) );
+        setRepositoryEventDispatcher( locator.getService( RepositoryEventDispatcher.class ) );
+        modelBuilder = locator.getService( ModelBuilder.class );
+        if ( modelBuilder == null )
+        {
+            setModelBuilder( new DefaultModelBuilderFactory().newInstance() );
+        }
+    }
+
+    public DefaultArtifactDescriptorReader setLoggerFactory( LoggerFactory loggerFactory )
+    {
+        this.logger = NullLoggerFactory.getSafeLogger( loggerFactory, getClass() );
+        return this;
+    }
+
+    void setLogger( LoggerFactory loggerFactory )
+    {
+        // plexus support
+        setLoggerFactory( loggerFactory );
+    }
+
+    public DefaultArtifactDescriptorReader setRemoteRepositoryManager( RemoteRepositoryManager remoteRepositoryManager )
+    {
+        this.remoteRepositoryManager = Validate.notNull( remoteRepositoryManager,
+            "remoteRepositoryManager cannot be null" );
+        return this;
+    }
+
+    public DefaultArtifactDescriptorReader setVersionResolver( VersionResolver versionResolver )
+    {
+        this.versionResolver = Validate.notNull( versionResolver, "versionResolver cannot be null" );
+        return this;
+    }
+
+    /** @since 3.2.2 */
+    public DefaultArtifactDescriptorReader setVersionRangeResolver( VersionRangeResolver versionRangeResolver )
+    {
+        this.versionRangeResolver = Validate.notNull( versionRangeResolver, "versionRangeResolver cannot be null" );
+        return this;
+    }
+
+    public DefaultArtifactDescriptorReader setArtifactResolver( ArtifactResolver artifactResolver )
+    {
+        this.artifactResolver = Validate.notNull( artifactResolver, "artifactResolver cannot be null" );
+        return this;
+    }
+
+    public DefaultArtifactDescriptorReader setRepositoryEventDispatcher(
+        RepositoryEventDispatcher repositoryEventDispatcher )
+    {
+        this.repositoryEventDispatcher = Validate.notNull( repositoryEventDispatcher,
+            "repositoryEventDispatcher cannot be null" );
+        return this;
+    }
+
+    public DefaultArtifactDescriptorReader setModelBuilder( ModelBuilder modelBuilder )
+    {
+        this.modelBuilder = Validate.notNull( modelBuilder, "modelBuilder cannot be null" );
+        return this;
+    }
+
+    public ArtifactDescriptorResult readArtifactDescriptor( RepositorySystemSession session,
+                                                            ArtifactDescriptorRequest request )
+        throws ArtifactDescriptorException
+    {
+        ArtifactDescriptorResult result = new ArtifactDescriptorResult( request );
+
+        Model model = loadPom( session, request, result );
+        if ( model != null )
+        {
+            Map<String, Object> config = session.getConfigProperties();
+            ArtifactDescriptorReaderDelegate delegate =
+                (ArtifactDescriptorReaderDelegate) config.get( ArtifactDescriptorReaderDelegate.class.getName() );
+
+            if ( delegate == null )
+            {
+                delegate = new ArtifactDescriptorReaderDelegate();
+            }
+
+            delegate.populateResult( session, result, model );
+        }
+
+        return result;
+    }
+
+    private Model loadPom( RepositorySystemSession session, ArtifactDescriptorRequest request,
+                           ArtifactDescriptorResult result )
+        throws ArtifactDescriptorException
+    {
+        RequestTrace trace = RequestTrace.newChild( request.getTrace(), request );
+
+        Set<String> visited = new LinkedHashSet<>();
+        for ( Artifact a = request.getArtifact();; )
+        {
+            Artifact pomArtifact = ArtifactDescriptorUtils.toPomArtifact( a );
+            try
+            {
+                VersionRequest versionRequest =
+                    new VersionRequest( a, request.getRepositories(), request.getRequestContext() );
+                versionRequest.setTrace( trace );
+                VersionResult versionResult = versionResolver.resolveVersion( session, versionRequest );
+
+                a = a.setVersion( versionResult.getVersion() );
+
+                versionRequest =
+                    new VersionRequest( pomArtifact, request.getRepositories(), request.getRequestContext() );
+                versionRequest.setTrace( trace );
+                versionResult = versionResolver.resolveVersion( session, versionRequest );
+
+                pomArtifact = pomArtifact.setVersion( versionResult.getVersion() );
+            }
+            catch ( VersionResolutionException e )
+            {
+                result.addException( e );
+                throw new ArtifactDescriptorException( result );
+            }
+
+            if ( !visited.add( a.getGroupId() + ':' + a.getArtifactId() + ':' + a.getBaseVersion() ) )
+            {
+                RepositoryException exception =
+                    new RepositoryException( "Artifact relocations form a cycle: " + visited );
+                invalidDescriptor( session, trace, a, exception );
+                if ( ( getPolicy( session, a, request ) & ArtifactDescriptorPolicy.IGNORE_INVALID ) != 0 )
+                {
+                    return null;
+                }
+                result.addException( exception );
+                throw new ArtifactDescriptorException( result );
+            }
+
+            ArtifactResult resolveResult;
+            try
+            {
+                ArtifactRequest resolveRequest =
+                    new ArtifactRequest( pomArtifact, request.getRepositories(), request.getRequestContext() );
+                resolveRequest.setTrace( trace );
+                resolveResult = artifactResolver.resolveArtifact( session, resolveRequest );
+                pomArtifact = resolveResult.getArtifact();
+                result.setRepository( resolveResult.getRepository() );
+            }
+            catch ( ArtifactResolutionException e )
+            {
+                if ( e.getCause() instanceof ArtifactNotFoundException )
+                {
+                    missingDescriptor( session, trace, a, (Exception) e.getCause() );
+                    if ( ( getPolicy( session, a, request ) & ArtifactDescriptorPolicy.IGNORE_MISSING ) != 0 )
+                    {
+                        return null;
+                    }
+                }
+                result.addException( e );
+                throw new ArtifactDescriptorException( result );
+            }
+
+            Model model;
+
+            // hack: don't rebuild model if it was already loaded during reactor resolution
+            final WorkspaceReader workspace = session.getWorkspaceReader();
+            if ( workspace instanceof MavenWorkspaceReader )
+            {
+                model = ( (MavenWorkspaceReader) workspace ).findModel( pomArtifact );
+                if ( model != null )
+                {
+                    return model;
+                }
+            }
+
+            try
+            {
+                ModelBuildingRequest modelRequest = new DefaultModelBuildingRequest();
+                modelRequest.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL );
+                modelRequest.setProcessPlugins( false );
+                modelRequest.setTwoPhaseBuilding( false );
+                modelRequest.setSystemProperties( toProperties( session.getUserProperties(),
+                                                                session.getSystemProperties() ) );
+                modelRequest.setModelCache( DefaultModelCache.newInstance( session ) );
+                modelRequest.setModelResolver( new DefaultModelResolver( session, trace.newChild( modelRequest ),
+                                                                         request.getRequestContext(), artifactResolver,
+                                                                         versionRangeResolver, remoteRepositoryManager,
+                                                                         request.getRepositories() ) );
+                if ( resolveResult.getRepository() instanceof WorkspaceRepository )
+                {
+                    modelRequest.setPomFile( pomArtifact.getFile() );
+                }
+                else
+                {
+                    modelRequest.setModelSource( new FileModelSource( pomArtifact.getFile() ) );
+                }
+
+                model = modelBuilder.build( modelRequest ).getEffectiveModel();
+            }
+            catch ( ModelBuildingException e )
+            {
+                for ( ModelProblem problem : e.getProblems() )
+                {
+                    if ( problem.getException() instanceof UnresolvableModelException )
+                    {
+                        result.addException( problem.getException() );
+                        throw new ArtifactDescriptorException( result );
+                    }
+                }
+                invalidDescriptor( session, trace, a, e );
+                if ( ( getPolicy( session, a, request ) & ArtifactDescriptorPolicy.IGNORE_INVALID ) != 0 )
+                {
+                    return null;
+                }
+                result.addException( e );
+                throw new ArtifactDescriptorException( result );
+            }
+
+            Relocation relocation = getRelocation( model );
+
+            if ( relocation != null )
+            {
+                result.addRelocation( a );
+                a =
+                    new RelocatedArtifact( a, relocation.getGroupId(), relocation.getArtifactId(),
+                                           relocation.getVersion() );
+                result.setArtifact( a );
+            }
+            else
+            {
+                return model;
+            }
+        }
+    }
+
+    private Properties toProperties( Map<String, String> dominant, Map<String, String> recessive )
+    {
+        Properties props = new Properties();
+        if ( recessive != null )
+        {
+            props.putAll( recessive );
+        }
+        if ( dominant != null )
+        {
+            props.putAll( dominant );
+        }
+        return props;
+    }
+
+    private Relocation getRelocation( Model model )
+    {
+        Relocation relocation = null;
+        DistributionManagement distMngt = model.getDistributionManagement();
+        if ( distMngt != null )
+        {
+            relocation = distMngt.getRelocation();
+        }
+        return relocation;
+    }
+
+    private void missingDescriptor( RepositorySystemSession session, RequestTrace trace, Artifact artifact,
+                                    Exception exception )
+    {
+        RepositoryEvent.Builder event = new RepositoryEvent.Builder( session, EventType.ARTIFACT_DESCRIPTOR_MISSING );
+        event.setTrace( trace );
+        event.setArtifact( artifact );
+        event.setException( exception );
+
+        repositoryEventDispatcher.dispatch( event.build() );
+    }
+
+    private void invalidDescriptor( RepositorySystemSession session, RequestTrace trace, Artifact artifact,
+                                    Exception exception )
+    {
+        RepositoryEvent.Builder event = new RepositoryEvent.Builder( session, EventType.ARTIFACT_DESCRIPTOR_INVALID );
+        event.setTrace( trace );
+        event.setArtifact( artifact );
+        event.setException( exception );
+
+        repositoryEventDispatcher.dispatch( event.build() );
+    }
+
+    private int getPolicy( RepositorySystemSession session, Artifact a, ArtifactDescriptorRequest request )
+    {
+        ArtifactDescriptorPolicy policy = session.getArtifactDescriptorPolicy();
+        if ( policy == null )
+        {
+            return ArtifactDescriptorPolicy.STRICT;
+        }
+        return policy.getPolicy( session, new ArtifactDescriptorPolicyRequest( a, request.getRequestContext() ) );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelCache.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelCache.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelCache.java
new file mode 100644
index 0000000..f13495d
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelCache.java
@@ -0,0 +1,119 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.model.building.ModelCache;
+import org.eclipse.aether.RepositoryCache;
+import org.eclipse.aether.RepositorySystemSession;
+
+/**
+ * A model builder cache backed by the repository system cache.
+ *
+ * @author Benjamin Bentmann
+ */
+class DefaultModelCache
+    implements ModelCache
+{
+
+    private final RepositorySystemSession session;
+
+    private final RepositoryCache cache;
+
+    public static ModelCache newInstance( RepositorySystemSession session )
+    {
+        if ( session.getCache() == null )
+        {
+            return null;
+        }
+        else
+        {
+            return new DefaultModelCache( session );
+        }
+    }
+
+    private DefaultModelCache( RepositorySystemSession session )
+    {
+        this.session = session;
+        this.cache = session.getCache();
+    }
+
+    public Object get( String groupId, String artifactId, String version, String tag )
+    {
+        return cache.get( session, new Key( groupId, artifactId, version, tag ) );
+    }
+
+    public void put( String groupId, String artifactId, String version, String tag, Object data )
+    {
+        cache.put( session, new Key( groupId, artifactId, version, tag ), data );
+    }
+
+    static class Key
+    {
+
+        private final String groupId;
+
+        private final String artifactId;
+
+        private final String version;
+
+        private final String tag;
+
+        private final int hash;
+
+        public Key( String groupId, String artifactId, String version, String tag )
+        {
+            this.groupId = groupId;
+            this.artifactId = artifactId;
+            this.version = version;
+            this.tag = tag;
+
+            int h = 17;
+            h = h * 31 + this.groupId.hashCode();
+            h = h * 31 + this.artifactId.hashCode();
+            h = h * 31 + this.version.hashCode();
+            h = h * 31 + this.tag.hashCode();
+            hash = h;
+        }
+
+        @Override
+        public boolean equals( Object obj )
+        {
+            if ( this == obj )
+            {
+                return true;
+            }
+            if ( null == obj || !getClass().equals( obj.getClass() ) )
+            {
+                return false;
+            }
+
+            Key that = (Key) obj;
+            return artifactId.equals( that.artifactId ) && groupId.equals( that.groupId )
+                && version.equals( that.version ) && tag.equals( that.tag );
+        }
+
+        @Override
+        public int hashCode()
+        {
+            return hash;
+        }
+
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java
new file mode 100644
index 0000000..f344959
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java
@@ -0,0 +1,229 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
+import org.apache.maven.model.Parent;
+import org.apache.maven.model.Repository;
+import org.apache.maven.model.building.FileModelSource;
+import org.apache.maven.model.building.ModelSource;
+import org.apache.maven.model.resolution.InvalidRepositoryException;
+import org.apache.maven.model.resolution.ModelResolver;
+import org.apache.maven.model.resolution.UnresolvableModelException;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.RequestTrace;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.artifact.DefaultArtifact;
+import org.eclipse.aether.impl.ArtifactResolver;
+import org.eclipse.aether.impl.RemoteRepositoryManager;
+import org.eclipse.aether.impl.VersionRangeResolver;
+import org.eclipse.aether.repository.RemoteRepository;
+import org.eclipse.aether.resolution.ArtifactRequest;
+import org.eclipse.aether.resolution.ArtifactResolutionException;
+import org.eclipse.aether.resolution.VersionRangeRequest;
+import org.eclipse.aether.resolution.VersionRangeResolutionException;
+import org.eclipse.aether.resolution.VersionRangeResult;
+
+/**
+ * A model resolver to assist building of dependency POMs. This resolver gives priority to those repositories that have
+ * been initially specified and repositories discovered in dependency POMs are recessively merged into the search chain.
+ *
+ * @author Benjamin Bentmann
+ * @see DefaultArtifactDescriptorReader
+ */
+class DefaultModelResolver
+    implements ModelResolver
+{
+
+    private final RepositorySystemSession session;
+
+    private final RequestTrace trace;
+
+    private final String context;
+
+    private List<RemoteRepository> repositories;
+
+    private final List<RemoteRepository> externalRepositories;
+
+    private final ArtifactResolver resolver;
+
+    private final VersionRangeResolver versionRangeResolver;
+
+    private final RemoteRepositoryManager remoteRepositoryManager;
+
+    private final Set<String> repositoryIds;
+
+    public DefaultModelResolver( RepositorySystemSession session, RequestTrace trace, String context,
+                                 ArtifactResolver resolver, VersionRangeResolver versionRangeResolver,
+                                 RemoteRepositoryManager remoteRepositoryManager, List<RemoteRepository> repositories )
+    {
+        this.session = session;
+        this.trace = trace;
+        this.context = context;
+        this.resolver = resolver;
+        this.versionRangeResolver = versionRangeResolver;
+        this.remoteRepositoryManager = remoteRepositoryManager;
+        this.repositories = repositories;
+        List<RemoteRepository> externalRepositories = new ArrayList<>();
+        externalRepositories.addAll( repositories );
+        this.externalRepositories = Collections.unmodifiableList( externalRepositories );
+
+        this.repositoryIds = new HashSet<>();
+    }
+
+    private DefaultModelResolver( DefaultModelResolver original )
+    {
+        this.session = original.session;
+        this.trace = original.trace;
+        this.context = original.context;
+        this.resolver = original.resolver;
+        this.versionRangeResolver = original.versionRangeResolver;
+        this.remoteRepositoryManager = original.remoteRepositoryManager;
+        this.repositories = new ArrayList<>( original.repositories );
+        this.externalRepositories = original.externalRepositories;
+        this.repositoryIds = new HashSet<>( original.repositoryIds );
+    }
+
+    @Override
+    public void addRepository( Repository repository )
+        throws InvalidRepositoryException
+    {
+        addRepository( repository, false );
+    }
+
+    @Override
+    public void addRepository( final Repository repository, boolean replace )
+        throws InvalidRepositoryException
+    {
+        if ( session.isIgnoreArtifactDescriptorRepositories() )
+        {
+            return;
+        }
+
+        if ( !repositoryIds.add( repository.getId() ) )
+        {
+            if ( !replace )
+            {
+                return;
+            }
+
+            removeMatchingRepository( repositories, repository.getId() );
+        }
+
+        List<RemoteRepository> newRepositories =
+            Collections.singletonList( ArtifactDescriptorUtils.toRemoteRepository( repository ) );
+
+        this.repositories =
+            remoteRepositoryManager.aggregateRepositories( session, repositories, newRepositories, true );
+    }
+
+    private static void removeMatchingRepository( Iterable<RemoteRepository> repositories, final String id )
+    {
+        Iterables.removeIf( repositories, new Predicate<RemoteRepository>()
+        {
+            @Override
+            public boolean apply( RemoteRepository remoteRepository )
+            {
+                return remoteRepository.getId().equals( id );
+            }
+        } );
+    }
+
+    @Override
+    public ModelResolver newCopy()
+    {
+        return new DefaultModelResolver( this );
+    }
+
+    @Override
+    public ModelSource resolveModel( String groupId, String artifactId, String version )
+        throws UnresolvableModelException
+    {
+        Artifact pomArtifact = new DefaultArtifact( groupId, artifactId, "", "pom", version );
+
+        try
+        {
+            ArtifactRequest request = new ArtifactRequest( pomArtifact, repositories, context );
+            request.setTrace( trace );
+            pomArtifact = resolver.resolveArtifact( session, request ).getArtifact();
+        }
+        catch ( ArtifactResolutionException e )
+        {
+            throw new UnresolvableModelException( e.getMessage(), groupId, artifactId, version, e );
+        }
+
+        File pomFile = pomArtifact.getFile();
+
+        return new FileModelSource( pomFile );
+    }
+
+    public ModelSource resolveModel( Parent parent )
+        throws UnresolvableModelException
+    {
+        Artifact artifact = new DefaultArtifact( parent.getGroupId(), parent.getArtifactId(), "", "pom",
+                                                 parent.getVersion() );
+
+        VersionRangeRequest versionRangeRequest = new VersionRangeRequest( artifact, repositories, context );
+        versionRangeRequest.setTrace( trace );
+
+        try
+        {
+            VersionRangeResult versionRangeResult =
+                versionRangeResolver.resolveVersionRange( session, versionRangeRequest );
+
+            if ( versionRangeResult.getHighestVersion() == null )
+            {
+                throw new UnresolvableModelException( "No versions matched the requested range '" + parent.getVersion()
+                                                          + "'", parent.getGroupId(), parent.getArtifactId(),
+                                                      parent.getVersion() );
+
+            }
+
+            if ( versionRangeResult.getVersionConstraint() != null
+                     && versionRangeResult.getVersionConstraint().getRange() != null
+                     && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null )
+            {
+                throw new UnresolvableModelException( "The requested version range '" + parent.getVersion()
+                                                          + "' does not specify an upper bound", parent.getGroupId(),
+                                                      parent.getArtifactId(), parent.getVersion() );
+
+            }
+
+            parent.setVersion( versionRangeResult.getHighestVersion().toString() );
+        }
+        catch ( VersionRangeResolutionException e )
+        {
+            throw new UnresolvableModelException( e.getMessage(), parent.getGroupId(), parent.getArtifactId(),
+                                                  parent.getVersion(), e );
+
+        }
+
+        return resolveModel( parent.getGroupId(), parent.getArtifactId(), parent.getVersion() );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
new file mode 100644
index 0000000..ddd3e97
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
@@ -0,0 +1,307 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.commons.lang3.Validate;
+import org.apache.maven.artifact.repository.metadata.Versioning;
+import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
+import org.codehaus.plexus.util.IOUtil;
+import org.eclipse.aether.RepositoryEvent;
+import org.eclipse.aether.RepositoryEvent.EventType;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.RequestTrace;
+import org.eclipse.aether.SyncContext;
+import org.eclipse.aether.impl.MetadataResolver;
+import org.eclipse.aether.impl.RepositoryEventDispatcher;
+import org.eclipse.aether.impl.SyncContextFactory;
+import org.eclipse.aether.impl.VersionRangeResolver;
+import org.eclipse.aether.metadata.DefaultMetadata;
+import org.eclipse.aether.metadata.Metadata;
+import org.eclipse.aether.repository.ArtifactRepository;
+import org.eclipse.aether.repository.RemoteRepository;
+import org.eclipse.aether.repository.WorkspaceReader;
+import org.eclipse.aether.resolution.MetadataRequest;
+import org.eclipse.aether.resolution.MetadataResult;
+import org.eclipse.aether.resolution.VersionRangeRequest;
+import org.eclipse.aether.resolution.VersionRangeResolutionException;
+import org.eclipse.aether.resolution.VersionRangeResult;
+import org.eclipse.aether.spi.locator.Service;
+import org.eclipse.aether.spi.locator.ServiceLocator;
+import org.eclipse.aether.spi.log.Logger;
+import org.eclipse.aether.spi.log.LoggerFactory;
+import org.eclipse.aether.spi.log.NullLoggerFactory;
+import org.eclipse.aether.util.version.GenericVersionScheme;
+import org.eclipse.aether.version.InvalidVersionSpecificationException;
+import org.eclipse.aether.version.Version;
+import org.eclipse.aether.version.VersionConstraint;
+import org.eclipse.aether.version.VersionScheme;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+import java.io.FileInputStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author Benjamin Bentmann
+ */
+@Named
+@Component( role = VersionRangeResolver.class )
+public class DefaultVersionRangeResolver
+    implements VersionRangeResolver, Service
+{
+
+    private static final String MAVEN_METADATA_XML = "maven-metadata.xml";
+
+    @SuppressWarnings( "unused" )
+    @Requirement( role = LoggerFactory.class )
+    private Logger logger = NullLoggerFactory.LOGGER;
+
+    @Requirement
+    private MetadataResolver metadataResolver;
+
+    @Requirement
+    private SyncContextFactory syncContextFactory;
+
+    @Requirement
+    private RepositoryEventDispatcher repositoryEventDispatcher;
+
+    public DefaultVersionRangeResolver()
+    {
+        // enable default constructor
+    }
+
+    @Inject
+    DefaultVersionRangeResolver( MetadataResolver metadataResolver, SyncContextFactory syncContextFactory,
+                                 RepositoryEventDispatcher repositoryEventDispatcher, LoggerFactory loggerFactory )
+    {
+        setMetadataResolver( metadataResolver );
+        setSyncContextFactory( syncContextFactory );
+        setLoggerFactory( loggerFactory );
+        setRepositoryEventDispatcher( repositoryEventDispatcher );
+    }
+
+    public void initService( ServiceLocator locator )
+    {
+        setLoggerFactory( locator.getService( LoggerFactory.class ) );
+        setMetadataResolver( locator.getService( MetadataResolver.class ) );
+        setSyncContextFactory( locator.getService( SyncContextFactory.class ) );
+        setRepositoryEventDispatcher( locator.getService( RepositoryEventDispatcher.class ) );
+    }
+
+    public DefaultVersionRangeResolver setLoggerFactory( LoggerFactory loggerFactory )
+    {
+        this.logger = NullLoggerFactory.getSafeLogger( loggerFactory, getClass() );
+        return this;
+    }
+
+    void setLogger( LoggerFactory loggerFactory )
+    {
+        // plexus support
+        setLoggerFactory( loggerFactory );
+    }
+
+    public DefaultVersionRangeResolver setMetadataResolver( MetadataResolver metadataResolver )
+    {
+        this.metadataResolver = Validate.notNull( metadataResolver, "metadataResolver cannot be null" );
+        return this;
+    }
+
+    public DefaultVersionRangeResolver setSyncContextFactory( SyncContextFactory syncContextFactory )
+    {
+        this.syncContextFactory = Validate.notNull( syncContextFactory, "syncContextFactory cannot be null" );
+        return this;
+    }
+
+    public DefaultVersionRangeResolver setRepositoryEventDispatcher(
+        RepositoryEventDispatcher repositoryEventDispatcher )
+    {
+        this.repositoryEventDispatcher = Validate.notNull( repositoryEventDispatcher,
+            "repositoryEventDispatcher cannot be null" );
+        return this;
+    }
+
+    public VersionRangeResult resolveVersionRange( RepositorySystemSession session, VersionRangeRequest request )
+        throws VersionRangeResolutionException
+    {
+        VersionRangeResult result = new VersionRangeResult( request );
+
+        VersionScheme versionScheme = new GenericVersionScheme();
+
+        VersionConstraint versionConstraint;
+        try
+        {
+            versionConstraint = versionScheme.parseVersionConstraint( request.getArtifact().getVersion() );
+        }
+        catch ( InvalidVersionSpecificationException e )
+        {
+            result.addException( e );
+            throw new VersionRangeResolutionException( result );
+        }
+
+        result.setVersionConstraint( versionConstraint );
+
+        if ( versionConstraint.getRange() == null )
+        {
+            result.addVersion( versionConstraint.getVersion() );
+        }
+        else
+        {
+            Map<String, ArtifactRepository> versionIndex = getVersions( session, result, request );
+
+            List<Version> versions = new ArrayList<>();
+            for ( Map.Entry<String, ArtifactRepository> v : versionIndex.entrySet() )
+            {
+                try
+                {
+                    Version ver = versionScheme.parseVersion( v.getKey() );
+                    if ( versionConstraint.containsVersion( ver ) )
+                    {
+                        versions.add( ver );
+                        result.setRepository( ver, v.getValue() );
+                    }
+                }
+                catch ( InvalidVersionSpecificationException e )
+                {
+                    result.addException( e );
+                }
+            }
+
+            Collections.sort( versions );
+            result.setVersions( versions );
+        }
+
+        return result;
+    }
+
+    private Map<String, ArtifactRepository> getVersions( RepositorySystemSession session, VersionRangeResult result,
+                                                         VersionRangeRequest request )
+    {
+        RequestTrace trace = RequestTrace.newChild( request.getTrace(), request );
+
+        Map<String, ArtifactRepository> versionIndex = new HashMap<>();
+
+        Metadata metadata =
+            new DefaultMetadata( request.getArtifact().getGroupId(), request.getArtifact().getArtifactId(),
+                                 MAVEN_METADATA_XML, Metadata.Nature.RELEASE_OR_SNAPSHOT );
+
+        List<MetadataRequest> metadataRequests = new ArrayList<>( request.getRepositories().size() );
+
+        metadataRequests.add( new MetadataRequest( metadata, null, request.getRequestContext() ) );
+
+        for ( RemoteRepository repository : request.getRepositories() )
+        {
+            MetadataRequest metadataRequest = new MetadataRequest( metadata, repository, request.getRequestContext() );
+            metadataRequest.setDeleteLocalCopyIfMissing( true );
+            metadataRequest.setTrace( trace );
+            metadataRequests.add( metadataRequest );
+        }
+
+        List<MetadataResult> metadataResults = metadataResolver.resolveMetadata( session, metadataRequests );
+
+        WorkspaceReader workspace = session.getWorkspaceReader();
+        if ( workspace != null )
+        {
+            List<String> versions = workspace.findVersions( request.getArtifact() );
+            for ( String version : versions )
+            {
+                versionIndex.put( version, workspace.getRepository() );
+            }
+        }
+
+        for ( MetadataResult metadataResult : metadataResults )
+        {
+            result.addException( metadataResult.getException() );
+
+            ArtifactRepository repository = metadataResult.getRequest().getRepository();
+            if ( repository == null )
+            {
+                repository = session.getLocalRepository();
+            }
+
+            Versioning versioning = readVersions( session, trace, metadataResult.getMetadata(), repository, result );
+            for ( String version : versioning.getVersions() )
+            {
+                if ( !versionIndex.containsKey( version ) )
+                {
+                    versionIndex.put( version, repository );
+                }
+            }
+        }
+
+        return versionIndex;
+    }
+
+    private Versioning readVersions( RepositorySystemSession session, RequestTrace trace, Metadata metadata,
+                                     ArtifactRepository repository, VersionRangeResult result )
+    {
+        Versioning versioning = null;
+
+        FileInputStream fis = null;
+        try
+        {
+            if ( metadata != null )
+            {
+
+                try ( SyncContext syncContext = syncContextFactory.newInstance( session, true ) )
+                {
+                    syncContext.acquire( null, Collections.singleton( metadata ) );
+
+                    if ( metadata.getFile() != null && metadata.getFile().exists() )
+                    {
+                        fis = new FileInputStream( metadata.getFile() );
+                        org.apache.maven.artifact.repository.metadata.Metadata m =
+                            new MetadataXpp3Reader().read( fis, false );
+                        versioning = m.getVersioning();
+                    }
+                }
+            }
+        }
+        catch ( Exception e )
+        {
+            invalidMetadata( session, trace, metadata, repository, e );
+            result.addException( e );
+        }
+        finally
+        {
+            IOUtil.close( fis );
+        }
+
+        return ( versioning != null ) ? versioning : new Versioning();
+    }
+
+    private void invalidMetadata( RepositorySystemSession session, RequestTrace trace, Metadata metadata,
+                                  ArtifactRepository repository, Exception exception )
+    {
+        RepositoryEvent.Builder event = new RepositoryEvent.Builder( session, EventType.METADATA_INVALID );
+        event.setTrace( trace );
+        event.setMetadata( metadata );
+        event.setException( exception );
+        event.setRepository( repository );
+
+        repositoryEventDispatcher.dispatch( event.build() );
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java
new file mode 100644
index 0000000..2b0890b
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java
@@ -0,0 +1,617 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.commons.lang3.Validate;
+import org.apache.maven.artifact.repository.metadata.Snapshot;
+import org.apache.maven.artifact.repository.metadata.SnapshotVersion;
+import org.apache.maven.artifact.repository.metadata.Versioning;
+import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.StringUtils;
+import org.eclipse.aether.RepositoryCache;
+import org.eclipse.aether.RepositoryEvent;
+import org.eclipse.aether.RepositoryEvent.EventType;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.RequestTrace;
+import org.eclipse.aether.SyncContext;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.impl.MetadataResolver;
+import org.eclipse.aether.impl.RepositoryEventDispatcher;
+import org.eclipse.aether.impl.SyncContextFactory;
+import org.eclipse.aether.impl.VersionResolver;
+import org.eclipse.aether.internal.impl.CacheUtils;
+import org.eclipse.aether.metadata.DefaultMetadata;
+import org.eclipse.aether.metadata.Metadata;
+import org.eclipse.aether.repository.ArtifactRepository;
+import org.eclipse.aether.repository.LocalRepository;
+import org.eclipse.aether.repository.RemoteRepository;
+import org.eclipse.aether.repository.WorkspaceReader;
+import org.eclipse.aether.repository.WorkspaceRepository;
+import org.eclipse.aether.resolution.MetadataRequest;
+import org.eclipse.aether.resolution.MetadataResult;
+import org.eclipse.aether.resolution.VersionRequest;
+import org.eclipse.aether.resolution.VersionResolutionException;
+import org.eclipse.aether.resolution.VersionResult;
+import org.eclipse.aether.spi.locator.Service;
+import org.eclipse.aether.spi.locator.ServiceLocator;
+import org.eclipse.aether.spi.log.Logger;
+import org.eclipse.aether.spi.log.LoggerFactory;
+import org.eclipse.aether.spi.log.NullLoggerFactory;
+import org.eclipse.aether.util.ConfigUtils;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author Benjamin Bentmann
+ */
+@Named
+@Component( role = VersionResolver.class )
+public class DefaultVersionResolver
+    implements VersionResolver, Service
+{
+
+    private static final String MAVEN_METADATA_XML = "maven-metadata.xml";
+
+    private static final String RELEASE = "RELEASE";
+
+    private static final String LATEST = "LATEST";
+
+    private static final String SNAPSHOT = "SNAPSHOT";
+
+    @SuppressWarnings( "unused" )
+    @Requirement( role = LoggerFactory.class )
+    private Logger logger = NullLoggerFactory.LOGGER;
+
+    @Requirement
+    private MetadataResolver metadataResolver;
+
+    @Requirement
+    private SyncContextFactory syncContextFactory;
+
+    @Requirement
+    private RepositoryEventDispatcher repositoryEventDispatcher;
+
+    public DefaultVersionResolver()
+    {
+        // enable no-arg constructor
+    }
+
+    @Inject
+    DefaultVersionResolver( MetadataResolver metadataResolver, SyncContextFactory syncContextFactory,
+                            RepositoryEventDispatcher repositoryEventDispatcher, LoggerFactory loggerFactory )
+    {
+        setMetadataResolver( metadataResolver );
+        setSyncContextFactory( syncContextFactory );
+        setLoggerFactory( loggerFactory );
+        setRepositoryEventDispatcher( repositoryEventDispatcher );
+    }
+
+    public void initService( ServiceLocator locator )
+    {
+        setLoggerFactory( locator.getService( LoggerFactory.class ) );
+        setMetadataResolver( locator.getService( MetadataResolver.class ) );
+        setSyncContextFactory( locator.getService( SyncContextFactory.class ) );
+        setRepositoryEventDispatcher( locator.getService( RepositoryEventDispatcher.class ) );
+    }
+
+    public DefaultVersionResolver setLoggerFactory( LoggerFactory loggerFactory )
+    {
+        this.logger = NullLoggerFactory.getSafeLogger( loggerFactory, getClass() );
+        return this;
+    }
+
+    void setLogger( LoggerFactory loggerFactory )
+    {
+        // plexus support
+        setLoggerFactory( loggerFactory );
+    }
+
+    public DefaultVersionResolver setMetadataResolver( MetadataResolver metadataResolver )
+    {
+        this.metadataResolver = Validate.notNull( metadataResolver, "metadataResolver cannot be null" );
+        return this;
+    }
+
+    public DefaultVersionResolver setSyncContextFactory( SyncContextFactory syncContextFactory )
+    {
+        this.syncContextFactory = Validate.notNull( syncContextFactory, "syncContextFactory cannot be null" );
+        return this;
+    }
+
+    public DefaultVersionResolver setRepositoryEventDispatcher( RepositoryEventDispatcher repositoryEventDispatcher )
+    {
+        this.repositoryEventDispatcher = Validate.notNull( repositoryEventDispatcher,
+            "repositoryEventDispatcher cannot be null" );
+        return this;
+    }
+
+    public VersionResult resolveVersion( RepositorySystemSession session, VersionRequest request )
+        throws VersionResolutionException
+    {
+        RequestTrace trace = RequestTrace.newChild( request.getTrace(), request );
+
+        Artifact artifact = request.getArtifact();
+
+        String version = artifact.getVersion();
+
+        VersionResult result = new VersionResult( request );
+
+        Key cacheKey = null;
+        RepositoryCache cache = session.getCache();
+        if ( cache != null && !ConfigUtils.getBoolean( session, false, "aether.versionResolver.noCache" ) )
+        {
+            cacheKey = new Key( session, request );
+
+            Object obj = cache.get( session, cacheKey );
+            if ( obj instanceof Record )
+            {
+                Record record = (Record) obj;
+                result.setVersion( record.version );
+                result.setRepository(
+                    CacheUtils.getRepository( session, request.getRepositories(), record.repoClass, record.repoId ) );
+                return result;
+            }
+        }
+
+        Metadata metadata;
+
+        if ( RELEASE.equals( version ) )
+        {
+            metadata = new DefaultMetadata( artifact.getGroupId(), artifact.getArtifactId(), MAVEN_METADATA_XML,
+                                            Metadata.Nature.RELEASE );
+        }
+        else if ( LATEST.equals( version ) )
+        {
+            metadata = new DefaultMetadata( artifact.getGroupId(), artifact.getArtifactId(), MAVEN_METADATA_XML,
+                                            Metadata.Nature.RELEASE_OR_SNAPSHOT );
+        }
+        else if ( version.endsWith( SNAPSHOT ) )
+        {
+            WorkspaceReader workspace = session.getWorkspaceReader();
+            if ( workspace != null && workspace.findVersions( artifact ).contains( version ) )
+            {
+                metadata = null;
+                result.setRepository( workspace.getRepository() );
+            }
+            else
+            {
+                metadata =
+                    new DefaultMetadata( artifact.getGroupId(), artifact.getArtifactId(), version, MAVEN_METADATA_XML,
+                                         Metadata.Nature.SNAPSHOT );
+            }
+        }
+        else
+        {
+            metadata = null;
+        }
+
+        if ( metadata == null )
+        {
+            result.setVersion( version );
+        }
+        else
+        {
+            List<MetadataRequest> metadataReqs = new ArrayList<>( request.getRepositories().size() );
+
+            metadataReqs.add( new MetadataRequest( metadata, null, request.getRequestContext() ) );
+
+            for ( RemoteRepository repository : request.getRepositories() )
+            {
+                MetadataRequest metadataRequest =
+                    new MetadataRequest( metadata, repository, request.getRequestContext() );
+                metadataRequest.setDeleteLocalCopyIfMissing( true );
+                metadataRequest.setFavorLocalRepository( true );
+                metadataRequest.setTrace( trace );
+                metadataReqs.add( metadataRequest );
+            }
+
+            List<MetadataResult> metadataResults = metadataResolver.resolveMetadata( session, metadataReqs );
+
+            Map<String, VersionInfo> infos = new HashMap<>();
+
+            for ( MetadataResult metadataResult : metadataResults )
+            {
+                result.addException( metadataResult.getException() );
+
+                ArtifactRepository repository = metadataResult.getRequest().getRepository();
+                if ( repository == null )
+                {
+                    repository = session.getLocalRepository();
+                }
+
+                Versioning v = readVersions( session, trace, metadataResult.getMetadata(), repository, result );
+                merge( artifact, infos, v, repository );
+            }
+
+            if ( RELEASE.equals( version ) )
+            {
+                resolve( result, infos, RELEASE );
+            }
+            else if ( LATEST.equals( version ) )
+            {
+                if ( !resolve( result, infos, LATEST ) )
+                {
+                    resolve( result, infos, RELEASE );
+                }
+
+                if ( result.getVersion() != null && result.getVersion().endsWith( SNAPSHOT ) )
+                {
+                    VersionRequest subRequest = new VersionRequest();
+                    subRequest.setArtifact( artifact.setVersion( result.getVersion() ) );
+                    if ( result.getRepository() instanceof RemoteRepository )
+                    {
+                        RemoteRepository r = (RemoteRepository) result.getRepository();
+                        subRequest.setRepositories( Collections.singletonList( r ) );
+                    }
+                    else
+                    {
+                        subRequest.setRepositories( request.getRepositories() );
+                    }
+                    VersionResult subResult = resolveVersion( session, subRequest );
+                    result.setVersion( subResult.getVersion() );
+                    result.setRepository( subResult.getRepository() );
+                    for ( Exception exception : subResult.getExceptions() )
+                    {
+                        result.addException( exception );
+                    }
+                }
+            }
+            else
+            {
+                String key = SNAPSHOT + getKey( artifact.getClassifier(), artifact.getExtension() );
+                merge( infos, SNAPSHOT, key );
+                if ( !resolve( result, infos, key ) )
+                {
+                    result.setVersion( version );
+                }
+            }
+
+            if ( StringUtils.isEmpty( result.getVersion() ) )
+            {
+                throw new VersionResolutionException( result );
+            }
+        }
+
+        if ( cacheKey != null && metadata != null && isSafelyCacheable( session, artifact ) )
+        {
+            cache.put( session, cacheKey, new Record( result.getVersion(), result.getRepository() ) );
+        }
+
+        return result;
+    }
+
+    private boolean resolve( VersionResult result, Map<String, VersionInfo> infos, String key )
+    {
+        VersionInfo info = infos.get( key );
+        if ( info != null )
+        {
+            result.setVersion( info.version );
+            result.setRepository( info.repository );
+        }
+        return info != null;
+    }
+
+    private Versioning readVersions( RepositorySystemSession session, RequestTrace trace, Metadata metadata,
+                                     ArtifactRepository repository, VersionResult result )
+    {
+        Versioning versioning = null;
+
+        FileInputStream fis = null;
+        try
+        {
+            if ( metadata != null )
+            {
+
+                try ( SyncContext syncContext = syncContextFactory.newInstance( session, true ) )
+                {
+                    syncContext.acquire( null, Collections.singleton( metadata ) );
+
+                    if ( metadata.getFile() != null && metadata.getFile().exists() )
+                    {
+                        fis = new FileInputStream( metadata.getFile() );
+                        org.apache.maven.artifact.repository.metadata.Metadata m =
+                            new MetadataXpp3Reader().read( fis, false );
+                        versioning = m.getVersioning();
+
+                        /*
+                         * NOTE: Users occasionally misuse the id "local" for remote repos which screws up the metadata
+                         * of the local repository. This is especially troublesome during snapshot resolution so we try
+                         * to handle that gracefully.
+                         */
+                        if ( versioning != null && repository instanceof LocalRepository )
+                        {
+                            if ( versioning.getSnapshot() != null && versioning.getSnapshot().getBuildNumber() > 0 )
+                            {
+                                Versioning repaired = new Versioning();
+                                repaired.setLastUpdated( versioning.getLastUpdated() );
+                                Snapshot snapshot = new Snapshot();
+                                snapshot.setLocalCopy( true );
+                                repaired.setSnapshot( snapshot );
+                                versioning = repaired;
+
+                                throw new IOException( "Snapshot information corrupted with remote repository data"
+                                                           + ", please verify that no remote repository uses the id '"
+                                                           + repository.getId() + "'" );
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        catch ( Exception e )
+        {
+            invalidMetadata( session, trace, metadata, repository, e );
+            result.addException( e );
+        }
+        finally
+        {
+            IOUtil.close( fis );
+        }
+
+        return ( versioning != null ) ? versioning : new Versioning();
+    }
+
+    private void invalidMetadata( RepositorySystemSession session, RequestTrace trace, Metadata metadata,
+                                  ArtifactRepository repository, Exception exception )
+    {
+        RepositoryEvent.Builder event = new RepositoryEvent.Builder( session, EventType.METADATA_INVALID );
+        event.setTrace( trace );
+        event.setMetadata( metadata );
+        event.setException( exception );
+        event.setRepository( repository );
+
+        repositoryEventDispatcher.dispatch( event.build() );
+    }
+
+    private void merge( Artifact artifact, Map<String, VersionInfo> infos, Versioning versioning,
+                        ArtifactRepository repository )
+    {
+        if ( StringUtils.isNotEmpty( versioning.getRelease() ) )
+        {
+            merge( RELEASE, infos, versioning.getLastUpdated(), versioning.getRelease(), repository );
+        }
+
+        if ( StringUtils.isNotEmpty( versioning.getLatest() ) )
+        {
+            merge( LATEST, infos, versioning.getLastUpdated(), versioning.getLatest(), repository );
+        }
+
+        for ( SnapshotVersion sv : versioning.getSnapshotVersions() )
+        {
+            if ( StringUtils.isNotEmpty( sv.getVersion() ) )
+            {
+                String key = getKey( sv.getClassifier(), sv.getExtension() );
+                merge( SNAPSHOT + key, infos, sv.getUpdated(), sv.getVersion(), repository );
+            }
+        }
+
+        Snapshot snapshot = versioning.getSnapshot();
+        if ( snapshot != null && versioning.getSnapshotVersions().isEmpty() )
+        {
+            String version = artifact.getVersion();
+            if ( snapshot.getTimestamp() != null && snapshot.getBuildNumber() > 0 )
+            {
+                String qualifier = snapshot.getTimestamp() + '-' + snapshot.getBuildNumber();
+                version = version.substring( 0, version.length() - SNAPSHOT.length() ) + qualifier;
+            }
+            merge( SNAPSHOT, infos, versioning.getLastUpdated(), version, repository );
+        }
+    }
+
+    private void merge( String key, Map<String, VersionInfo> infos, String timestamp, String version,
+                        ArtifactRepository repository )
+    {
+        VersionInfo info = infos.get( key );
+        if ( info == null )
+        {
+            info = new VersionInfo( timestamp, version, repository );
+            infos.put( key, info );
+        }
+        else if ( info.isOutdated( timestamp ) )
+        {
+            info.version = version;
+            info.repository = repository;
+            info.timestamp = timestamp;
+        }
+    }
+
+    private void merge( Map<String, VersionInfo> infos, String srcKey, String dstKey )
+    {
+        VersionInfo srcInfo = infos.get( srcKey );
+        VersionInfo dstInfo = infos.get( dstKey );
+
+        if ( dstInfo == null || ( srcInfo != null && dstInfo.isOutdated( srcInfo.timestamp )
+            && srcInfo.repository != dstInfo.repository ) )
+        {
+            infos.put( dstKey, srcInfo );
+        }
+    }
+
+    private String getKey( String classifier, String extension )
+    {
+        return StringUtils.clean( classifier ) + ':' + StringUtils.clean( extension );
+    }
+
+    private boolean isSafelyCacheable( RepositorySystemSession session, Artifact artifact )
+    {
+        /*
+         * The workspace/reactor is in flux so we better not assume definitive information for any of its
+         * artifacts/projects.
+         */
+
+        WorkspaceReader workspace = session.getWorkspaceReader();
+        if ( workspace == null )
+        {
+            return true;
+        }
+
+        Artifact pomArtifact = ArtifactDescriptorUtils.toPomArtifact( artifact );
+
+        return workspace.findArtifact( pomArtifact ) == null;
+    }
+
+    private static class VersionInfo
+    {
+
+        String timestamp;
+
+        String version;
+
+        ArtifactRepository repository;
+
+        public VersionInfo( String timestamp, String version, ArtifactRepository repository )
+        {
+            this.timestamp = ( timestamp != null ) ? timestamp : "";
+            this.version = version;
+            this.repository = repository;
+        }
+
+        public boolean isOutdated( String timestamp )
+        {
+            return timestamp != null && timestamp.compareTo( this.timestamp ) > 0;
+        }
+
+    }
+
+    private static class Key
+    {
+
+        private final String groupId;
+
+        private final String artifactId;
+
+        private final String classifier;
+
+        private final String extension;
+
+        private final String version;
+
+        private final String context;
+
+        private final File localRepo;
+
+        private final WorkspaceRepository workspace;
+
+        private final List<RemoteRepository> repositories;
+
+        private final int hashCode;
+
+        public Key( RepositorySystemSession session, VersionRequest request )
+        {
+            Artifact artifact = request.getArtifact();
+            groupId = artifact.getGroupId();
+            artifactId = artifact.getArtifactId();
+            classifier = artifact.getClassifier();
+            extension = artifact.getExtension();
+            version = artifact.getVersion();
+            localRepo = session.getLocalRepository().getBasedir();
+            workspace = CacheUtils.getWorkspace( session );
+            repositories = new ArrayList<>( request.getRepositories().size() );
+            boolean repoMan = false;
+            for ( RemoteRepository repository : request.getRepositories() )
+            {
+                if ( repository.isRepositoryManager() )
+                {
+                    repoMan = true;
+                    repositories.addAll( repository.getMirroredRepositories() );
+                }
+                else
+                {
+                    repositories.add( repository );
+                }
+            }
+            context = repoMan ? request.getRequestContext() : "";
+
+            int hash = 17;
+            hash = hash * 31 + groupId.hashCode();
+            hash = hash * 31 + artifactId.hashCode();
+            hash = hash * 31 + classifier.hashCode();
+            hash = hash * 31 + extension.hashCode();
+            hash = hash * 31 + version.hashCode();
+            hash = hash * 31 + localRepo.hashCode();
+            hash = hash * 31 + CacheUtils.repositoriesHashCode( repositories );
+            hashCode = hash;
+        }
+
+        @Override
+        public boolean equals( Object obj )
+        {
+            if ( obj == this )
+            {
+                return true;
+            }
+            else if ( obj == null || !getClass().equals( obj.getClass() ) )
+            {
+                return false;
+            }
+
+            Key that = (Key) obj;
+            return artifactId.equals( that.artifactId ) && groupId.equals( that.groupId ) && classifier.equals(
+                that.classifier ) && extension.equals( that.extension ) && version.equals( that.version )
+                && context.equals( that.context ) && localRepo.equals( that.localRepo )
+                && CacheUtils.eq( workspace, that.workspace )
+                && CacheUtils.repositoriesEquals( repositories, that.repositories );
+        }
+
+        @Override
+        public int hashCode()
+        {
+            return hashCode;
+        }
+
+    }
+
+    private static class Record
+    {
+        final String version;
+
+        final String repoId;
+
+        final Class<?> repoClass;
+
+        public Record( String version, ArtifactRepository repository )
+        {
+            this.version = version;
+            if ( repository != null )
+            {
+                repoId = repository.getId();
+                repoClass = repository.getClass();
+            }
+            else
+            {
+                repoId = null;
+                repoClass = null;
+            }
+        }
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadata.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadata.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadata.java
new file mode 100644
index 0000000..a572010
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadata.java
@@ -0,0 +1,163 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import org.apache.maven.artifact.repository.metadata.Metadata;
+import org.apache.maven.artifact.repository.metadata.Snapshot;
+import org.apache.maven.artifact.repository.metadata.SnapshotVersion;
+import org.apache.maven.artifact.repository.metadata.Versioning;
+import org.eclipse.aether.artifact.Artifact;
+
+/**
+ * @author Benjamin Bentmann
+ */
+final class LocalSnapshotMetadata
+    extends MavenMetadata
+{
+
+    private final Collection<Artifact> artifacts = new ArrayList<>();
+
+    private final boolean legacyFormat;
+
+    public LocalSnapshotMetadata( Artifact artifact, boolean legacyFormat )
+    {
+        super( createMetadata( artifact, legacyFormat ), null );
+        this.legacyFormat = legacyFormat;
+    }
+
+    public LocalSnapshotMetadata( Metadata metadata, File file, boolean legacyFormat )
+    {
+        super( metadata, file );
+        this.legacyFormat = legacyFormat;
+    }
+
+    private static Metadata createMetadata( Artifact artifact, boolean legacyFormat )
+    {
+        Snapshot snapshot = new Snapshot();
+        snapshot.setLocalCopy( true );
+        Versioning versioning = new Versioning();
+        versioning.setSnapshot( snapshot );
+
+        Metadata metadata = new Metadata();
+        metadata.setVersioning( versioning );
+        metadata.setGroupId( artifact.getGroupId() );
+        metadata.setArtifactId( artifact.getArtifactId() );
+        metadata.setVersion( artifact.getBaseVersion() );
+
+        if ( !legacyFormat )
+        {
+            metadata.setModelVersion( "1.1.0" );
+        }
+
+        return metadata;
+    }
+
+    public void bind( Artifact artifact )
+    {
+        artifacts.add( artifact );
+    }
+
+    public MavenMetadata setFile( File file )
+    {
+        return new LocalSnapshotMetadata( metadata, file, legacyFormat );
+    }
+
+    public Object getKey()
+    {
+        return getGroupId() + ':' + getArtifactId() + ':' + getVersion();
+    }
+
+    public static Object getKey( Artifact artifact )
+    {
+        return artifact.getGroupId() + ':' + artifact.getArtifactId() + ':' + artifact.getBaseVersion();
+    }
+
+    @Override
+    protected void merge( Metadata recessive )
+    {
+        metadata.getVersioning().updateTimestamp();
+
+        if ( !legacyFormat )
+        {
+            String lastUpdated = metadata.getVersioning().getLastUpdated();
+
+            Map<String, SnapshotVersion> versions = new LinkedHashMap<>();
+
+            for ( Artifact artifact : artifacts )
+            {
+                SnapshotVersion sv = new SnapshotVersion();
+                sv.setClassifier( artifact.getClassifier() );
+                sv.setExtension( artifact.getExtension() );
+                sv.setVersion( getVersion() );
+                sv.setUpdated( lastUpdated );
+                versions.put( getKey( sv.getClassifier(), sv.getExtension() ), sv );
+            }
+
+            Versioning versioning = recessive.getVersioning();
+            if ( versioning != null )
+            {
+                for ( SnapshotVersion sv : versioning.getSnapshotVersions() )
+                {
+                    String key = getKey( sv.getClassifier(), sv.getExtension() );
+                    if ( !versions.containsKey( key ) )
+                    {
+                        versions.put( key, sv );
+                    }
+                }
+            }
+
+            metadata.getVersioning().setSnapshotVersions( new ArrayList<>( versions.values() ) );
+        }
+
+        artifacts.clear();
+    }
+
+    private String getKey( String classifier, String extension )
+    {
+        return classifier + ':' + extension;
+    }
+
+    public String getGroupId()
+    {
+        return metadata.getGroupId();
+    }
+
+    public String getArtifactId()
+    {
+        return metadata.getArtifactId();
+    }
+
+    public String getVersion()
+    {
+        return metadata.getVersion();
+    }
+
+    public Nature getNature()
+    {
+        return Nature.SNAPSHOT;
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadataGenerator.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadataGenerator.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadataGenerator.java
new file mode 100644
index 0000000..072ba66
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadataGenerator.java
@@ -0,0 +1,82 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.impl.MetadataGenerator;
+import org.eclipse.aether.installation.InstallRequest;
+import org.eclipse.aether.metadata.Metadata;
+import org.eclipse.aether.util.ConfigUtils;
+
+/**
+ * @author Benjamin Bentmann
+ */
+class LocalSnapshotMetadataGenerator
+    implements MetadataGenerator
+{
+
+    private Map<Object, LocalSnapshotMetadata> snapshots;
+
+    private final boolean legacyFormat;
+
+    public LocalSnapshotMetadataGenerator( RepositorySystemSession session, InstallRequest request )
+    {
+        legacyFormat = ConfigUtils.getBoolean( session.getConfigProperties(), false, "maven.metadata.legacy" );
+
+        snapshots = new LinkedHashMap<>();
+    }
+
+    public Collection<? extends Metadata> prepare( Collection<? extends Artifact> artifacts )
+    {
+        for ( Artifact artifact : artifacts )
+        {
+            if ( artifact.isSnapshot() )
+            {
+                Object key = LocalSnapshotMetadata.getKey( artifact );
+                LocalSnapshotMetadata snapshotMetadata = snapshots.get( key );
+                if ( snapshotMetadata == null )
+                {
+                    snapshotMetadata = new LocalSnapshotMetadata( artifact, legacyFormat );
+                    snapshots.put( key, snapshotMetadata );
+                }
+                snapshotMetadata.bind( artifact );
+            }
+        }
+
+        return Collections.emptyList();
+    }
+
+    public Artifact transformArtifact( Artifact artifact )
+    {
+        return artifact;
+    }
+
+    public Collection<? extends Metadata> finish( Collection<? extends Artifact> artifacts )
+    {
+        return snapshots.values();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenAetherModule.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenAetherModule.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenAetherModule.java
new file mode 100644
index 0000000..41e98aa
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenAetherModule.java
@@ -0,0 +1,80 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.inject.Named;
+import javax.inject.Singleton;
+
+import org.apache.maven.model.building.DefaultModelBuilderFactory;
+import org.apache.maven.model.building.ModelBuilder;
+import org.eclipse.aether.impl.AetherModule;
+import org.eclipse.aether.impl.ArtifactDescriptorReader;
+import org.eclipse.aether.impl.MetadataGeneratorFactory;
+import org.eclipse.aether.impl.VersionRangeResolver;
+import org.eclipse.aether.impl.VersionResolver;
+
+import com.google.inject.AbstractModule;
+import com.google.inject.Provides;
+import com.google.inject.name.Names;
+
+/**
+ * @deprecated As of Maven Resolver 1.0.3, please use class {@link MavenResolverModule}.
+ */
+@Deprecated
+public final class MavenAetherModule
+    extends AbstractModule
+{
+
+    @Override
+    protected void configure()
+    {
+        install( new AetherModule() );
+        bind( ArtifactDescriptorReader.class ) //
+        .to( DefaultArtifactDescriptorReader.class ).in( Singleton.class );
+        bind( VersionResolver.class ) //
+        .to( DefaultVersionResolver.class ).in( Singleton.class );
+        bind( VersionRangeResolver.class ) //
+        .to( DefaultVersionRangeResolver.class ).in( Singleton.class );
+        bind( MetadataGeneratorFactory.class ).annotatedWith( Names.named( "snapshot" ) ) //
+        .to( SnapshotMetadataGeneratorFactory.class ).in( Singleton.class );
+        bind( MetadataGeneratorFactory.class ).annotatedWith( Names.named( "versions" ) ) //
+        .to( VersionsMetadataGeneratorFactory.class ).in( Singleton.class );
+        bind( ModelBuilder.class ) //
+        .toInstance( new DefaultModelBuilderFactory().newInstance() );
+    }
+
+    @Provides
+    @Singleton
+    Set<MetadataGeneratorFactory> provideMetadataGeneratorFactories( @Named( "snapshot" )
+                                                                     MetadataGeneratorFactory snapshot,
+                                                                     @Named( "versions" )
+                                                                     MetadataGeneratorFactory versions )
+    {
+        Set<MetadataGeneratorFactory> factories = new HashSet<>();
+        factories.add( snapshot );
+        factories.add( versions );
+        return Collections.unmodifiableSet( factories );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenMetadata.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenMetadata.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenMetadata.java
new file mode 100644
index 0000000..aef44f6
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenMetadata.java
@@ -0,0 +1,137 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.artifact.repository.metadata.Metadata;
+import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader;
+import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer;
+import org.codehaus.plexus.util.ReaderFactory;
+import org.codehaus.plexus.util.WriterFactory;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import org.eclipse.aether.RepositoryException;
+import org.eclipse.aether.metadata.AbstractMetadata;
+import org.eclipse.aether.metadata.MergeableMetadata;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.Writer;
+import java.util.Collections;
+import java.util.Map;
+
+/**
+ * @author Benjamin Bentmann
+ */
+abstract class MavenMetadata
+    extends AbstractMetadata
+    implements MergeableMetadata
+{
+
+    static final String MAVEN_METADATA_XML = "maven-metadata.xml";
+
+    private final File file;
+
+    protected Metadata metadata;
+
+    private boolean merged;
+
+    protected MavenMetadata( Metadata metadata, File file )
+    {
+        this.metadata = metadata;
+        this.file = file;
+    }
+
+    public String getType()
+    {
+        return MAVEN_METADATA_XML;
+    }
+
+    public File getFile()
+    {
+        return file;
+    }
+
+    public void merge( File existing, File result )
+        throws RepositoryException
+    {
+        Metadata recessive = read( existing );
+
+        merge( recessive );
+
+        write( result, metadata );
+
+        merged = true;
+    }
+
+    public boolean isMerged()
+    {
+        return merged;
+    }
+
+    protected abstract void merge( Metadata recessive );
+
+    static Metadata read( File metadataFile )
+        throws RepositoryException
+    {
+        if ( metadataFile.length() <= 0 )
+        {
+            return new Metadata();
+        }
+
+        try ( Reader reader = ReaderFactory.newXmlReader( metadataFile ) )
+        {
+            return new MetadataXpp3Reader().read( reader, false );
+        }
+        catch ( IOException e )
+        {
+            throw new RepositoryException( "Could not read metadata " + metadataFile + ": " + e.getMessage(), e );
+        }
+        catch ( XmlPullParserException e )
+        {
+            throw new RepositoryException( "Could not parse metadata " + metadataFile + ": " + e.getMessage(), e );
+        }
+    }
+
+    private void write( File metadataFile, Metadata metadata )
+        throws RepositoryException
+    {
+        metadataFile.getParentFile().mkdirs();
+        try ( Writer writer = WriterFactory.newXmlWriter( metadataFile ) )
+        {
+            new MetadataXpp3Writer().write( writer, metadata );
+        }
+        catch ( IOException e )
+        {
+            throw new RepositoryException( "Could not write metadata " + metadataFile + ": " + e.getMessage(), e );
+        }
+    }
+
+    public Map<String, String> getProperties()
+    {
+        return Collections.emptyMap();
+    }
+
+    @Override
+    public org.eclipse.aether.metadata.Metadata setProperties( Map<String, String> properties )
+    {
+        return this;
+    }
+
+}


[40/46] maven git commit: Merge remote-tracking branch 'origin/master'

Posted by sc...@apache.org.
Merge remote-tracking branch 'origin/master'


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/529e8a62
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/529e8a62
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/529e8a62

Branch: refs/heads/MNG-5984
Commit: 529e8a62049d009a800cbf0b37ca348abaf9022d
Parents: e652882 0b9a30f
Author: Stephen Connolly <st...@gmail.com>
Authored: Tue Feb 28 22:04:39 2017 +0000
Committer: Stephen Connolly <st...@gmail.com>
Committed: Tue Feb 28 22:04:39 2017 +0000

----------------------------------------------------------------------
 apache-maven/src/bin/mvn                                     | 6 +++---
 apache-maven/src/bin/mvn.cmd                                 | 2 +-
 .../src/main/java/org/apache/maven/cli/CLIManager.java       | 8 ++++----
 maven-model-builder/src/site/apt/index.apt                   | 6 ------
 4 files changed, 8 insertions(+), 14 deletions(-)
----------------------------------------------------------------------



[08/46] maven git commit: [MNG-6110] renamed 'maven-aether-provider' to 'maven-resolver-provider'

Posted by sc...@apache.org.
[MNG-6110] renamed 'maven-aether-provider' to 'maven-resolver-provider'

Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/8972072e
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/8972072e
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/8972072e

Branch: refs/heads/MNG-5984
Commit: 8972072e3200e2ecfe2acb6d0b2dc40b10a6bc31
Parents: 4d6c929
Author: Christian Schulte <sc...@apache.org>
Authored: Sun Dec 11 23:36:04 2016 +0100
Committer: Herv� Boutemy <hb...@apache.org>
Committed: Wed Feb 1 07:59:53 2017 +0100

----------------------------------------------------------------------
 maven-aether-provider/pom.xml                   | 128 ----
 .../ArtifactDescriptorReaderDelegate.java       | 153 -----
 .../internal/ArtifactDescriptorUtils.java       |  81 ---
 .../DefaultArtifactDescriptorReader.java        | 415 -------------
 .../repository/internal/DefaultModelCache.java  | 119 ----
 .../internal/DefaultModelResolver.java          | 229 -------
 .../internal/DefaultVersionRangeResolver.java   | 307 ---------
 .../internal/DefaultVersionResolver.java        | 617 -------------------
 .../internal/LocalSnapshotMetadata.java         | 163 -----
 .../LocalSnapshotMetadataGenerator.java         |  82 ---
 .../repository/internal/MavenAetherModule.java  |  76 ---
 .../repository/internal/MavenMetadata.java      | 137 ----
 .../internal/MavenRepositorySystemUtils.java    | 145 -----
 .../internal/MavenSnapshotMetadata.java         | 100 ---
 .../internal/MavenWorkspaceReader.java          |  32 -
 .../repository/internal/RelocatedArtifact.java  | 114 ----
 .../internal/RemoteSnapshotMetadata.java        | 157 -----
 .../RemoteSnapshotMetadataGenerator.java        | 107 ----
 .../SnapshotMetadataGeneratorFactory.java       |  52 --
 .../repository/internal/VersionsMetadata.java   | 133 ----
 .../internal/VersionsMetadataGenerator.java     | 108 ----
 .../VersionsMetadataGeneratorFactory.java       |  52 --
 .../maven/repository/internal/package-info.java |  25 -
 maven-aether-provider/src/site/apt/index.apt    |  33 -
 maven-aether-provider/src/site/site.xml         |  36 --
 .../internal/AbstractRepositoryTestCase.java    |  87 ---
 .../DefaultArtifactDescriptorReaderTest.java    |  77 ---
 .../internal/DefaultVersionResolverTest.java    |  96 ---
 .../MavenRepositorySystemUtilsTest.java         |  45 --
 .../internal/RemoteSnapshotMetadataTest.java    |  82 ---
 .../internal/RepositorySystemTest.java          | 220 -------
 .../util/ConsoleRepositoryListener.java         | 132 ----
 .../internal/util/ConsoleTransferListener.java  | 186 ------
 .../07.20.3-SNAPSHOT/maven-metadata.xml         |  49 --
 .../0.4.0-SNAPSHOT/maven-metadata.xml           |  47 --
 .../artifact/1.0/artifact-1.0-classifier.zip    |   0
 .../ut/simple/artifact/1.0/artifact-1.0.jar     |   0
 .../ut/simple/artifact/1.0/artifact-1.0.pom     |  48 --
 .../ut/simple/artifact/1.0/artifact-1.0.zip     |   0
 .../repo/ut/simple/artifact/maven-metadata.xml  |  34 -
 .../dependency/1.0/dependency-1.0-sources.jar   |   0
 .../ut/simple/dependency/1.0/dependency-1.0.jar |   0
 .../ut/simple/dependency/1.0/dependency-1.0.pom |  31 -
 .../ut/simple/dependency/maven-metadata.xml     |  34 -
 .../repo/ut/simple/parent/1.0/parent-1.0.pom    |  43 --
 .../repo/ut/simple/parent/maven-metadata.xml    |  34 -
 maven-compat/pom.xml                            |   2 +-
 maven-core/pom.xml                              |   2 +-
 .../main/resources/META-INF/maven/extension.xml |  13 +-
 maven-resolver-provider/pom.xml                 | 128 ++++
 .../ArtifactDescriptorReaderDelegate.java       | 153 +++++
 .../internal/ArtifactDescriptorUtils.java       |  81 +++
 .../DefaultArtifactDescriptorReader.java        | 415 +++++++++++++
 .../repository/internal/DefaultModelCache.java  | 119 ++++
 .../internal/DefaultModelResolver.java          | 229 +++++++
 .../internal/DefaultVersionRangeResolver.java   | 307 +++++++++
 .../internal/DefaultVersionResolver.java        | 617 +++++++++++++++++++
 .../internal/LocalSnapshotMetadata.java         | 163 +++++
 .../LocalSnapshotMetadataGenerator.java         |  82 +++
 .../repository/internal/MavenAetherModule.java  |  80 +++
 .../repository/internal/MavenMetadata.java      | 137 ++++
 .../internal/MavenRepositorySystemUtils.java    | 145 +++++
 .../internal/MavenResolverModule.java           |  70 +++
 .../internal/MavenSnapshotMetadata.java         | 100 +++
 .../internal/MavenWorkspaceReader.java          |  32 +
 .../repository/internal/RelocatedArtifact.java  | 114 ++++
 .../internal/RemoteSnapshotMetadata.java        | 157 +++++
 .../RemoteSnapshotMetadataGenerator.java        | 107 ++++
 .../SnapshotMetadataGeneratorFactory.java       |  52 ++
 .../repository/internal/VersionsMetadata.java   | 133 ++++
 .../internal/VersionsMetadataGenerator.java     | 108 ++++
 .../VersionsMetadataGeneratorFactory.java       |  52 ++
 .../maven/repository/internal/package-info.java |  25 +
 maven-resolver-provider/src/site/apt/index.apt  |  33 +
 maven-resolver-provider/src/site/site.xml       |  36 ++
 .../internal/AbstractRepositoryTestCase.java    |  87 +++
 .../DefaultArtifactDescriptorReaderTest.java    |  77 +++
 .../internal/DefaultVersionResolverTest.java    |  96 +++
 .../MavenRepositorySystemUtilsTest.java         |  45 ++
 .../internal/RemoteSnapshotMetadataTest.java    |  82 +++
 .../internal/RepositorySystemTest.java          | 220 +++++++
 .../util/ConsoleRepositoryListener.java         | 132 ++++
 .../internal/util/ConsoleTransferListener.java  | 186 ++++++
 .../07.20.3-SNAPSHOT/maven-metadata.xml         |  49 ++
 .../0.4.0-SNAPSHOT/maven-metadata.xml           |  47 ++
 .../artifact/1.0/artifact-1.0-classifier.zip    |   0
 .../ut/simple/artifact/1.0/artifact-1.0.jar     |   0
 .../ut/simple/artifact/1.0/artifact-1.0.pom     |  48 ++
 .../ut/simple/artifact/1.0/artifact-1.0.zip     |   0
 .../repo/ut/simple/artifact/maven-metadata.xml  |  34 +
 .../dependency/1.0/dependency-1.0-sources.jar   |   0
 .../ut/simple/dependency/1.0/dependency-1.0.jar |   0
 .../ut/simple/dependency/1.0/dependency-1.0.pom |  31 +
 .../ut/simple/dependency/maven-metadata.xml     |  34 +
 .../repo/ut/simple/parent/1.0/parent-1.0.pom    |  43 ++
 .../repo/ut/simple/parent/maven-metadata.xml    |  34 +
 pom.xml                                         |   4 +-
 97 files changed, 4932 insertions(+), 4855 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/pom.xml
----------------------------------------------------------------------
diff --git a/maven-aether-provider/pom.xml b/maven-aether-provider/pom.xml
deleted file mode 100644
index 91d1ae7..0000000
--- a/maven-aether-provider/pom.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.maven</groupId>
-    <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>maven-aether-provider</artifactId>
-
-  <name>Maven Aether Provider</name>
-  <description>Extensions to Maven Resolver for utilizing Maven POM and repository metadata.</description>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-model</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-model-builder</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-repository-metadata</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.resolver</groupId>
-      <artifactId>maven-resolver-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.resolver</groupId>
-      <artifactId>maven-resolver-spi</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.resolver</groupId>
-      <artifactId>maven-resolver-util</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.resolver</groupId>
-      <artifactId>maven-resolver-impl</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-component-annotations</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-utils</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>com.google.inject</groupId>
-      <artifactId>guice</artifactId>
-      <classifier>no_aop</classifier>
-      <optional>true</optional>
-      <exclusions>
-        <exclusion>
-          <groupId>aopalliance</groupId>
-          <artifactId>aopalliance</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-lang3</artifactId>
-    </dependency>
-    <!-- Testing -->
-    <dependency>
-      <groupId>org.apache.maven.resolver</groupId>
-      <artifactId>maven-resolver-connector-basic</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.resolver</groupId>
-      <artifactId>maven-resolver-transport-wagon</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.wagon</groupId>
-      <artifactId>wagon-file</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.sisu</groupId>
-      <artifactId>org.eclipse.sisu.plexus</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-core</artifactId>
-      <version>1.9.5</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.plexus</groupId>
-        <artifactId>plexus-component-metadata</artifactId>
-      </plugin>
-    </plugins>
-  </build>
-
-</project>
-

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java
deleted file mode 100644
index 2395b36..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java
+++ /dev/null
@@ -1,153 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.model.DependencyManagement;
-import org.apache.maven.model.DistributionManagement;
-import org.apache.maven.model.License;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Prerequisites;
-import org.apache.maven.model.Repository;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.artifact.ArtifactProperties;
-import org.eclipse.aether.artifact.ArtifactType;
-import org.eclipse.aether.artifact.ArtifactTypeRegistry;
-import org.eclipse.aether.artifact.DefaultArtifact;
-import org.eclipse.aether.artifact.DefaultArtifactType;
-import org.eclipse.aether.graph.Dependency;
-import org.eclipse.aether.graph.Exclusion;
-import org.eclipse.aether.resolution.ArtifactDescriptorResult;
-
-/**
- * Populates Aether {@link ArtifactDescriptorResult} from Maven project {@link Model}.
- * 
- * @since 3.2.4
- * @provisional This class is part of work in progress and can be changed or removed without notice.
- */
-public class ArtifactDescriptorReaderDelegate
-{
-    public void populateResult( RepositorySystemSession session, ArtifactDescriptorResult result, Model model )
-    {
-        ArtifactTypeRegistry stereotypes = session.getArtifactTypeRegistry();
-
-        for ( Repository r : model.getRepositories() )
-        {
-            result.addRepository( ArtifactDescriptorUtils.toRemoteRepository( r ) );
-        }
-
-        for ( org.apache.maven.model.Dependency dependency : model.getDependencies() )
-        {
-            result.addDependency( convert( dependency, stereotypes ) );
-        }
-
-        DependencyManagement mngt = model.getDependencyManagement();
-        if ( mngt != null )
-        {
-            for ( org.apache.maven.model.Dependency dependency : mngt.getDependencies() )
-            {
-                result.addManagedDependency( convert( dependency, stereotypes ) );
-            }
-        }
-
-        Map<String, Object> properties = new LinkedHashMap<>();
-
-        Prerequisites prerequisites = model.getPrerequisites();
-        if ( prerequisites != null )
-        {
-            properties.put( "prerequisites.maven", prerequisites.getMaven() );
-        }
-
-        List<License> licenses = model.getLicenses();
-        properties.put( "license.count", licenses.size() );
-        for ( int i = 0; i < licenses.size(); i++ )
-        {
-            License license = licenses.get( i );
-            properties.put( "license." + i + ".name", license.getName() );
-            properties.put( "license." + i + ".url", license.getUrl() );
-            properties.put( "license." + i + ".comments", license.getComments() );
-            properties.put( "license." + i + ".distribution", license.getDistribution() );
-        }
-
-        result.setProperties( properties );
-
-        setArtifactProperties( result, model );
-    }
-
-    private Dependency convert( org.apache.maven.model.Dependency dependency, ArtifactTypeRegistry stereotypes )
-    {
-        ArtifactType stereotype = stereotypes.get( dependency.getType() );
-        if ( stereotype == null )
-        {
-            stereotype = new DefaultArtifactType( dependency.getType() );
-        }
-
-        boolean system = dependency.getSystemPath() != null && dependency.getSystemPath().length() > 0;
-
-        Map<String, String> props = null;
-        if ( system )
-        {
-            props = Collections.singletonMap( ArtifactProperties.LOCAL_PATH, dependency.getSystemPath() );
-        }
-
-        Artifact artifact =
-            new DefaultArtifact( dependency.getGroupId(), dependency.getArtifactId(), dependency.getClassifier(), null,
-                                 dependency.getVersion(), props, stereotype );
-
-        List<Exclusion> exclusions = new ArrayList<>( dependency.getExclusions().size() );
-        for ( org.apache.maven.model.Exclusion exclusion : dependency.getExclusions() )
-        {
-            exclusions.add( convert( exclusion ) );
-        }
-
-        Dependency result = new Dependency( artifact, dependency.getScope(), dependency.isOptional(), exclusions );
-
-        return result;
-    }
-
-    private Exclusion convert( org.apache.maven.model.Exclusion exclusion )
-    {
-        return new Exclusion( exclusion.getGroupId(), exclusion.getArtifactId(), "*", "*" );
-    }
-
-    private void setArtifactProperties( ArtifactDescriptorResult result, Model model )
-    {
-        String downloadUrl = null;
-        DistributionManagement distMngt = model.getDistributionManagement();
-        if ( distMngt != null )
-        {
-            downloadUrl = distMngt.getDownloadUrl();
-        }
-        if ( downloadUrl != null && downloadUrl.length() > 0 )
-        {
-            Artifact artifact = result.getArtifact();
-            Map<String, String> props = new HashMap<>( artifact.getProperties() );
-            props.put( ArtifactProperties.DOWNLOAD_URL, downloadUrl );
-            result.setArtifact( artifact.setProperties( props ) );
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorUtils.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorUtils.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorUtils.java
deleted file mode 100644
index 7d4ede8..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorUtils.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.model.Repository;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.artifact.DefaultArtifact;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.repository.RepositoryPolicy;
-
-/**
- * <strong>Warning:</strong> This is an internal utility class that is only public for technical reasons, it is not part
- * of the public API. In particular, this class can be changed or deleted without prior notice.
- *
- * @author Benjamin Bentmann
- */
-public class ArtifactDescriptorUtils
-{
-
-    public static Artifact toPomArtifact( Artifact artifact )
-    {
-        Artifact pomArtifact = artifact;
-
-        if ( pomArtifact.getClassifier().length() > 0 || !"pom".equals( pomArtifact.getExtension() ) )
-        {
-            pomArtifact =
-                new DefaultArtifact( artifact.getGroupId(), artifact.getArtifactId(), "pom", artifact.getVersion() );
-        }
-
-        return pomArtifact;
-    }
-
-    public static RemoteRepository toRemoteRepository( Repository repository )
-    {
-        RemoteRepository.Builder builder =
-            new RemoteRepository.Builder( repository.getId(), repository.getLayout(), repository.getUrl() );
-        builder.setSnapshotPolicy( toRepositoryPolicy( repository.getSnapshots() ) );
-        builder.setReleasePolicy( toRepositoryPolicy( repository.getReleases() ) );
-        return builder.build();
-    }
-
-    public static RepositoryPolicy toRepositoryPolicy( org.apache.maven.model.RepositoryPolicy policy )
-    {
-        boolean enabled = true;
-        String checksums = RepositoryPolicy.CHECKSUM_POLICY_WARN;
-        String updates = RepositoryPolicy.UPDATE_POLICY_DAILY;
-
-        if ( policy != null )
-        {
-            enabled = policy.isEnabled();
-            if ( policy.getUpdatePolicy() != null )
-            {
-                updates = policy.getUpdatePolicy();
-            }
-            if ( policy.getChecksumPolicy() != null )
-            {
-                checksums = policy.getChecksumPolicy();
-            }
-        }
-
-        return new RepositoryPolicy( enabled, updates, checksums );
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
deleted file mode 100644
index 0f31330..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
+++ /dev/null
@@ -1,415 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.LinkedHashSet;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-
-import org.apache.commons.lang3.Validate;
-import org.apache.maven.model.DistributionManagement;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Relocation;
-import org.apache.maven.model.building.DefaultModelBuilderFactory;
-import org.apache.maven.model.building.DefaultModelBuildingRequest;
-import org.apache.maven.model.building.FileModelSource;
-import org.apache.maven.model.building.ModelBuilder;
-import org.apache.maven.model.building.ModelBuildingException;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblem;
-import org.apache.maven.model.resolution.UnresolvableModelException;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.eclipse.aether.RepositoryEvent;
-import org.eclipse.aether.RepositoryEvent.EventType;
-import org.eclipse.aether.RepositoryException;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.RequestTrace;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.impl.ArtifactDescriptorReader;
-import org.eclipse.aether.impl.ArtifactResolver;
-import org.eclipse.aether.impl.RemoteRepositoryManager;
-import org.eclipse.aether.impl.RepositoryEventDispatcher;
-import org.eclipse.aether.impl.VersionRangeResolver;
-import org.eclipse.aether.impl.VersionResolver;
-import org.eclipse.aether.repository.WorkspaceReader;
-import org.eclipse.aether.repository.WorkspaceRepository;
-import org.eclipse.aether.resolution.ArtifactDescriptorException;
-import org.eclipse.aether.resolution.ArtifactDescriptorPolicy;
-import org.eclipse.aether.resolution.ArtifactDescriptorPolicyRequest;
-import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
-import org.eclipse.aether.resolution.ArtifactDescriptorResult;
-import org.eclipse.aether.resolution.ArtifactRequest;
-import org.eclipse.aether.resolution.ArtifactResolutionException;
-import org.eclipse.aether.resolution.ArtifactResult;
-import org.eclipse.aether.resolution.VersionRequest;
-import org.eclipse.aether.resolution.VersionResolutionException;
-import org.eclipse.aether.resolution.VersionResult;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
-import org.eclipse.aether.spi.log.Logger;
-import org.eclipse.aether.spi.log.LoggerFactory;
-import org.eclipse.aether.spi.log.NullLoggerFactory;
-import org.eclipse.aether.transfer.ArtifactNotFoundException;
-
-/**
- * @author Benjamin Bentmann
- */
-@Named
-@Component( role = ArtifactDescriptorReader.class )
-public class DefaultArtifactDescriptorReader
-    implements ArtifactDescriptorReader, Service
-{
-
-    @SuppressWarnings( "unused" )
-    @Requirement( role = LoggerFactory.class )
-    private Logger logger = NullLoggerFactory.LOGGER;
-
-    @Requirement
-    private RemoteRepositoryManager remoteRepositoryManager;
-
-    @Requirement
-    private VersionResolver versionResolver;
-
-    @Requirement
-    private VersionRangeResolver versionRangeResolver;
-
-    @Requirement
-    private ArtifactResolver artifactResolver;
-
-    @Requirement
-    private RepositoryEventDispatcher repositoryEventDispatcher;
-
-    @Requirement
-    private ModelBuilder modelBuilder;
-
-    public DefaultArtifactDescriptorReader()
-    {
-        // enable no-arg constructor
-    }
-
-    @Inject
-    DefaultArtifactDescriptorReader( RemoteRepositoryManager remoteRepositoryManager, VersionResolver versionResolver,
-                                     ArtifactResolver artifactResolver, ModelBuilder modelBuilder,
-                                     RepositoryEventDispatcher repositoryEventDispatcher, LoggerFactory loggerFactory )
-    {
-        setRemoteRepositoryManager( remoteRepositoryManager );
-        setVersionResolver( versionResolver );
-        setArtifactResolver( artifactResolver );
-        setModelBuilder( modelBuilder );
-        setLoggerFactory( loggerFactory );
-        setRepositoryEventDispatcher( repositoryEventDispatcher );
-    }
-
-    public void initService( ServiceLocator locator )
-    {
-        setLoggerFactory( locator.getService( LoggerFactory.class ) );
-        setRemoteRepositoryManager( locator.getService( RemoteRepositoryManager.class ) );
-        setVersionResolver( locator.getService( VersionResolver.class ) );
-        setVersionRangeResolver( locator.getService( VersionRangeResolver.class ) );
-        setArtifactResolver( locator.getService( ArtifactResolver.class ) );
-        setRepositoryEventDispatcher( locator.getService( RepositoryEventDispatcher.class ) );
-        modelBuilder = locator.getService( ModelBuilder.class );
-        if ( modelBuilder == null )
-        {
-            setModelBuilder( new DefaultModelBuilderFactory().newInstance() );
-        }
-    }
-
-    public DefaultArtifactDescriptorReader setLoggerFactory( LoggerFactory loggerFactory )
-    {
-        this.logger = NullLoggerFactory.getSafeLogger( loggerFactory, getClass() );
-        return this;
-    }
-
-    void setLogger( LoggerFactory loggerFactory )
-    {
-        // plexus support
-        setLoggerFactory( loggerFactory );
-    }
-
-    public DefaultArtifactDescriptorReader setRemoteRepositoryManager( RemoteRepositoryManager remoteRepositoryManager )
-    {
-        this.remoteRepositoryManager = Validate.notNull( remoteRepositoryManager,
-            "remoteRepositoryManager cannot be null" );
-        return this;
-    }
-
-    public DefaultArtifactDescriptorReader setVersionResolver( VersionResolver versionResolver )
-    {
-        this.versionResolver = Validate.notNull( versionResolver, "versionResolver cannot be null" );
-        return this;
-    }
-
-    /** @since 3.2.2 */
-    public DefaultArtifactDescriptorReader setVersionRangeResolver( VersionRangeResolver versionRangeResolver )
-    {
-        this.versionRangeResolver = Validate.notNull( versionRangeResolver, "versionRangeResolver cannot be null" );
-        return this;
-    }
-
-    public DefaultArtifactDescriptorReader setArtifactResolver( ArtifactResolver artifactResolver )
-    {
-        this.artifactResolver = Validate.notNull( artifactResolver, "artifactResolver cannot be null" );
-        return this;
-    }
-
-    public DefaultArtifactDescriptorReader setRepositoryEventDispatcher(
-        RepositoryEventDispatcher repositoryEventDispatcher )
-    {
-        this.repositoryEventDispatcher = Validate.notNull( repositoryEventDispatcher,
-            "repositoryEventDispatcher cannot be null" );
-        return this;
-    }
-
-    public DefaultArtifactDescriptorReader setModelBuilder( ModelBuilder modelBuilder )
-    {
-        this.modelBuilder = Validate.notNull( modelBuilder, "modelBuilder cannot be null" );
-        return this;
-    }
-
-    public ArtifactDescriptorResult readArtifactDescriptor( RepositorySystemSession session,
-                                                            ArtifactDescriptorRequest request )
-        throws ArtifactDescriptorException
-    {
-        ArtifactDescriptorResult result = new ArtifactDescriptorResult( request );
-
-        Model model = loadPom( session, request, result );
-        if ( model != null )
-        {
-            Map<String, Object> config = session.getConfigProperties();
-            ArtifactDescriptorReaderDelegate delegate =
-                (ArtifactDescriptorReaderDelegate) config.get( ArtifactDescriptorReaderDelegate.class.getName() );
-
-            if ( delegate == null )
-            {
-                delegate = new ArtifactDescriptorReaderDelegate();
-            }
-
-            delegate.populateResult( session, result, model );
-        }
-
-        return result;
-    }
-
-    private Model loadPom( RepositorySystemSession session, ArtifactDescriptorRequest request,
-                           ArtifactDescriptorResult result )
-        throws ArtifactDescriptorException
-    {
-        RequestTrace trace = RequestTrace.newChild( request.getTrace(), request );
-
-        Set<String> visited = new LinkedHashSet<>();
-        for ( Artifact a = request.getArtifact();; )
-        {
-            Artifact pomArtifact = ArtifactDescriptorUtils.toPomArtifact( a );
-            try
-            {
-                VersionRequest versionRequest =
-                    new VersionRequest( a, request.getRepositories(), request.getRequestContext() );
-                versionRequest.setTrace( trace );
-                VersionResult versionResult = versionResolver.resolveVersion( session, versionRequest );
-
-                a = a.setVersion( versionResult.getVersion() );
-
-                versionRequest =
-                    new VersionRequest( pomArtifact, request.getRepositories(), request.getRequestContext() );
-                versionRequest.setTrace( trace );
-                versionResult = versionResolver.resolveVersion( session, versionRequest );
-
-                pomArtifact = pomArtifact.setVersion( versionResult.getVersion() );
-            }
-            catch ( VersionResolutionException e )
-            {
-                result.addException( e );
-                throw new ArtifactDescriptorException( result );
-            }
-
-            if ( !visited.add( a.getGroupId() + ':' + a.getArtifactId() + ':' + a.getBaseVersion() ) )
-            {
-                RepositoryException exception =
-                    new RepositoryException( "Artifact relocations form a cycle: " + visited );
-                invalidDescriptor( session, trace, a, exception );
-                if ( ( getPolicy( session, a, request ) & ArtifactDescriptorPolicy.IGNORE_INVALID ) != 0 )
-                {
-                    return null;
-                }
-                result.addException( exception );
-                throw new ArtifactDescriptorException( result );
-            }
-
-            ArtifactResult resolveResult;
-            try
-            {
-                ArtifactRequest resolveRequest =
-                    new ArtifactRequest( pomArtifact, request.getRepositories(), request.getRequestContext() );
-                resolveRequest.setTrace( trace );
-                resolveResult = artifactResolver.resolveArtifact( session, resolveRequest );
-                pomArtifact = resolveResult.getArtifact();
-                result.setRepository( resolveResult.getRepository() );
-            }
-            catch ( ArtifactResolutionException e )
-            {
-                if ( e.getCause() instanceof ArtifactNotFoundException )
-                {
-                    missingDescriptor( session, trace, a, (Exception) e.getCause() );
-                    if ( ( getPolicy( session, a, request ) & ArtifactDescriptorPolicy.IGNORE_MISSING ) != 0 )
-                    {
-                        return null;
-                    }
-                }
-                result.addException( e );
-                throw new ArtifactDescriptorException( result );
-            }
-
-            Model model;
-
-            // hack: don't rebuild model if it was already loaded during reactor resolution
-            final WorkspaceReader workspace = session.getWorkspaceReader();
-            if ( workspace instanceof MavenWorkspaceReader )
-            {
-                model = ( (MavenWorkspaceReader) workspace ).findModel( pomArtifact );
-                if ( model != null )
-                {
-                    return model;
-                }
-            }
-
-            try
-            {
-                ModelBuildingRequest modelRequest = new DefaultModelBuildingRequest();
-                modelRequest.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL );
-                modelRequest.setProcessPlugins( false );
-                modelRequest.setTwoPhaseBuilding( false );
-                modelRequest.setSystemProperties( toProperties( session.getUserProperties(),
-                                                                session.getSystemProperties() ) );
-                modelRequest.setModelCache( DefaultModelCache.newInstance( session ) );
-                modelRequest.setModelResolver( new DefaultModelResolver( session, trace.newChild( modelRequest ),
-                                                                         request.getRequestContext(), artifactResolver,
-                                                                         versionRangeResolver, remoteRepositoryManager,
-                                                                         request.getRepositories() ) );
-                if ( resolveResult.getRepository() instanceof WorkspaceRepository )
-                {
-                    modelRequest.setPomFile( pomArtifact.getFile() );
-                }
-                else
-                {
-                    modelRequest.setModelSource( new FileModelSource( pomArtifact.getFile() ) );
-                }
-
-                model = modelBuilder.build( modelRequest ).getEffectiveModel();
-            }
-            catch ( ModelBuildingException e )
-            {
-                for ( ModelProblem problem : e.getProblems() )
-                {
-                    if ( problem.getException() instanceof UnresolvableModelException )
-                    {
-                        result.addException( problem.getException() );
-                        throw new ArtifactDescriptorException( result );
-                    }
-                }
-                invalidDescriptor( session, trace, a, e );
-                if ( ( getPolicy( session, a, request ) & ArtifactDescriptorPolicy.IGNORE_INVALID ) != 0 )
-                {
-                    return null;
-                }
-                result.addException( e );
-                throw new ArtifactDescriptorException( result );
-            }
-
-            Relocation relocation = getRelocation( model );
-
-            if ( relocation != null )
-            {
-                result.addRelocation( a );
-                a =
-                    new RelocatedArtifact( a, relocation.getGroupId(), relocation.getArtifactId(),
-                                           relocation.getVersion() );
-                result.setArtifact( a );
-            }
-            else
-            {
-                return model;
-            }
-        }
-    }
-
-    private Properties toProperties( Map<String, String> dominant, Map<String, String> recessive )
-    {
-        Properties props = new Properties();
-        if ( recessive != null )
-        {
-            props.putAll( recessive );
-        }
-        if ( dominant != null )
-        {
-            props.putAll( dominant );
-        }
-        return props;
-    }
-
-    private Relocation getRelocation( Model model )
-    {
-        Relocation relocation = null;
-        DistributionManagement distMngt = model.getDistributionManagement();
-        if ( distMngt != null )
-        {
-            relocation = distMngt.getRelocation();
-        }
-        return relocation;
-    }
-
-    private void missingDescriptor( RepositorySystemSession session, RequestTrace trace, Artifact artifact,
-                                    Exception exception )
-    {
-        RepositoryEvent.Builder event = new RepositoryEvent.Builder( session, EventType.ARTIFACT_DESCRIPTOR_MISSING );
-        event.setTrace( trace );
-        event.setArtifact( artifact );
-        event.setException( exception );
-
-        repositoryEventDispatcher.dispatch( event.build() );
-    }
-
-    private void invalidDescriptor( RepositorySystemSession session, RequestTrace trace, Artifact artifact,
-                                    Exception exception )
-    {
-        RepositoryEvent.Builder event = new RepositoryEvent.Builder( session, EventType.ARTIFACT_DESCRIPTOR_INVALID );
-        event.setTrace( trace );
-        event.setArtifact( artifact );
-        event.setException( exception );
-
-        repositoryEventDispatcher.dispatch( event.build() );
-    }
-
-    private int getPolicy( RepositorySystemSession session, Artifact a, ArtifactDescriptorRequest request )
-    {
-        ArtifactDescriptorPolicy policy = session.getArtifactDescriptorPolicy();
-        if ( policy == null )
-        {
-            return ArtifactDescriptorPolicy.STRICT;
-        }
-        return policy.getPolicy( session, new ArtifactDescriptorPolicyRequest( a, request.getRequestContext() ) );
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelCache.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelCache.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelCache.java
deleted file mode 100644
index f13495d..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelCache.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.model.building.ModelCache;
-import org.eclipse.aether.RepositoryCache;
-import org.eclipse.aether.RepositorySystemSession;
-
-/**
- * A model builder cache backed by the repository system cache.
- *
- * @author Benjamin Bentmann
- */
-class DefaultModelCache
-    implements ModelCache
-{
-
-    private final RepositorySystemSession session;
-
-    private final RepositoryCache cache;
-
-    public static ModelCache newInstance( RepositorySystemSession session )
-    {
-        if ( session.getCache() == null )
-        {
-            return null;
-        }
-        else
-        {
-            return new DefaultModelCache( session );
-        }
-    }
-
-    private DefaultModelCache( RepositorySystemSession session )
-    {
-        this.session = session;
-        this.cache = session.getCache();
-    }
-
-    public Object get( String groupId, String artifactId, String version, String tag )
-    {
-        return cache.get( session, new Key( groupId, artifactId, version, tag ) );
-    }
-
-    public void put( String groupId, String artifactId, String version, String tag, Object data )
-    {
-        cache.put( session, new Key( groupId, artifactId, version, tag ), data );
-    }
-
-    static class Key
-    {
-
-        private final String groupId;
-
-        private final String artifactId;
-
-        private final String version;
-
-        private final String tag;
-
-        private final int hash;
-
-        public Key( String groupId, String artifactId, String version, String tag )
-        {
-            this.groupId = groupId;
-            this.artifactId = artifactId;
-            this.version = version;
-            this.tag = tag;
-
-            int h = 17;
-            h = h * 31 + this.groupId.hashCode();
-            h = h * 31 + this.artifactId.hashCode();
-            h = h * 31 + this.version.hashCode();
-            h = h * 31 + this.tag.hashCode();
-            hash = h;
-        }
-
-        @Override
-        public boolean equals( Object obj )
-        {
-            if ( this == obj )
-            {
-                return true;
-            }
-            if ( null == obj || !getClass().equals( obj.getClass() ) )
-            {
-                return false;
-            }
-
-            Key that = (Key) obj;
-            return artifactId.equals( that.artifactId ) && groupId.equals( that.groupId )
-                && version.equals( that.version ) && tag.equals( that.tag );
-        }
-
-        @Override
-        public int hashCode()
-        {
-            return hash;
-        }
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java
deleted file mode 100644
index f344959..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java
+++ /dev/null
@@ -1,229 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
-import org.apache.maven.model.Parent;
-import org.apache.maven.model.Repository;
-import org.apache.maven.model.building.FileModelSource;
-import org.apache.maven.model.building.ModelSource;
-import org.apache.maven.model.resolution.InvalidRepositoryException;
-import org.apache.maven.model.resolution.ModelResolver;
-import org.apache.maven.model.resolution.UnresolvableModelException;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.RequestTrace;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.artifact.DefaultArtifact;
-import org.eclipse.aether.impl.ArtifactResolver;
-import org.eclipse.aether.impl.RemoteRepositoryManager;
-import org.eclipse.aether.impl.VersionRangeResolver;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.resolution.ArtifactRequest;
-import org.eclipse.aether.resolution.ArtifactResolutionException;
-import org.eclipse.aether.resolution.VersionRangeRequest;
-import org.eclipse.aether.resolution.VersionRangeResolutionException;
-import org.eclipse.aether.resolution.VersionRangeResult;
-
-/**
- * A model resolver to assist building of dependency POMs. This resolver gives priority to those repositories that have
- * been initially specified and repositories discovered in dependency POMs are recessively merged into the search chain.
- *
- * @author Benjamin Bentmann
- * @see DefaultArtifactDescriptorReader
- */
-class DefaultModelResolver
-    implements ModelResolver
-{
-
-    private final RepositorySystemSession session;
-
-    private final RequestTrace trace;
-
-    private final String context;
-
-    private List<RemoteRepository> repositories;
-
-    private final List<RemoteRepository> externalRepositories;
-
-    private final ArtifactResolver resolver;
-
-    private final VersionRangeResolver versionRangeResolver;
-
-    private final RemoteRepositoryManager remoteRepositoryManager;
-
-    private final Set<String> repositoryIds;
-
-    public DefaultModelResolver( RepositorySystemSession session, RequestTrace trace, String context,
-                                 ArtifactResolver resolver, VersionRangeResolver versionRangeResolver,
-                                 RemoteRepositoryManager remoteRepositoryManager, List<RemoteRepository> repositories )
-    {
-        this.session = session;
-        this.trace = trace;
-        this.context = context;
-        this.resolver = resolver;
-        this.versionRangeResolver = versionRangeResolver;
-        this.remoteRepositoryManager = remoteRepositoryManager;
-        this.repositories = repositories;
-        List<RemoteRepository> externalRepositories = new ArrayList<>();
-        externalRepositories.addAll( repositories );
-        this.externalRepositories = Collections.unmodifiableList( externalRepositories );
-
-        this.repositoryIds = new HashSet<>();
-    }
-
-    private DefaultModelResolver( DefaultModelResolver original )
-    {
-        this.session = original.session;
-        this.trace = original.trace;
-        this.context = original.context;
-        this.resolver = original.resolver;
-        this.versionRangeResolver = original.versionRangeResolver;
-        this.remoteRepositoryManager = original.remoteRepositoryManager;
-        this.repositories = new ArrayList<>( original.repositories );
-        this.externalRepositories = original.externalRepositories;
-        this.repositoryIds = new HashSet<>( original.repositoryIds );
-    }
-
-    @Override
-    public void addRepository( Repository repository )
-        throws InvalidRepositoryException
-    {
-        addRepository( repository, false );
-    }
-
-    @Override
-    public void addRepository( final Repository repository, boolean replace )
-        throws InvalidRepositoryException
-    {
-        if ( session.isIgnoreArtifactDescriptorRepositories() )
-        {
-            return;
-        }
-
-        if ( !repositoryIds.add( repository.getId() ) )
-        {
-            if ( !replace )
-            {
-                return;
-            }
-
-            removeMatchingRepository( repositories, repository.getId() );
-        }
-
-        List<RemoteRepository> newRepositories =
-            Collections.singletonList( ArtifactDescriptorUtils.toRemoteRepository( repository ) );
-
-        this.repositories =
-            remoteRepositoryManager.aggregateRepositories( session, repositories, newRepositories, true );
-    }
-
-    private static void removeMatchingRepository( Iterable<RemoteRepository> repositories, final String id )
-    {
-        Iterables.removeIf( repositories, new Predicate<RemoteRepository>()
-        {
-            @Override
-            public boolean apply( RemoteRepository remoteRepository )
-            {
-                return remoteRepository.getId().equals( id );
-            }
-        } );
-    }
-
-    @Override
-    public ModelResolver newCopy()
-    {
-        return new DefaultModelResolver( this );
-    }
-
-    @Override
-    public ModelSource resolveModel( String groupId, String artifactId, String version )
-        throws UnresolvableModelException
-    {
-        Artifact pomArtifact = new DefaultArtifact( groupId, artifactId, "", "pom", version );
-
-        try
-        {
-            ArtifactRequest request = new ArtifactRequest( pomArtifact, repositories, context );
-            request.setTrace( trace );
-            pomArtifact = resolver.resolveArtifact( session, request ).getArtifact();
-        }
-        catch ( ArtifactResolutionException e )
-        {
-            throw new UnresolvableModelException( e.getMessage(), groupId, artifactId, version, e );
-        }
-
-        File pomFile = pomArtifact.getFile();
-
-        return new FileModelSource( pomFile );
-    }
-
-    public ModelSource resolveModel( Parent parent )
-        throws UnresolvableModelException
-    {
-        Artifact artifact = new DefaultArtifact( parent.getGroupId(), parent.getArtifactId(), "", "pom",
-                                                 parent.getVersion() );
-
-        VersionRangeRequest versionRangeRequest = new VersionRangeRequest( artifact, repositories, context );
-        versionRangeRequest.setTrace( trace );
-
-        try
-        {
-            VersionRangeResult versionRangeResult =
-                versionRangeResolver.resolveVersionRange( session, versionRangeRequest );
-
-            if ( versionRangeResult.getHighestVersion() == null )
-            {
-                throw new UnresolvableModelException( "No versions matched the requested range '" + parent.getVersion()
-                                                          + "'", parent.getGroupId(), parent.getArtifactId(),
-                                                      parent.getVersion() );
-
-            }
-
-            if ( versionRangeResult.getVersionConstraint() != null
-                     && versionRangeResult.getVersionConstraint().getRange() != null
-                     && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null )
-            {
-                throw new UnresolvableModelException( "The requested version range '" + parent.getVersion()
-                                                          + "' does not specify an upper bound", parent.getGroupId(),
-                                                      parent.getArtifactId(), parent.getVersion() );
-
-            }
-
-            parent.setVersion( versionRangeResult.getHighestVersion().toString() );
-        }
-        catch ( VersionRangeResolutionException e )
-        {
-            throw new UnresolvableModelException( e.getMessage(), parent.getGroupId(), parent.getArtifactId(),
-                                                  parent.getVersion(), e );
-
-        }
-
-        return resolveModel( parent.getGroupId(), parent.getArtifactId(), parent.getVersion() );
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
deleted file mode 100644
index ddd3e97..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
+++ /dev/null
@@ -1,307 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.lang3.Validate;
-import org.apache.maven.artifact.repository.metadata.Versioning;
-import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.util.IOUtil;
-import org.eclipse.aether.RepositoryEvent;
-import org.eclipse.aether.RepositoryEvent.EventType;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.RequestTrace;
-import org.eclipse.aether.SyncContext;
-import org.eclipse.aether.impl.MetadataResolver;
-import org.eclipse.aether.impl.RepositoryEventDispatcher;
-import org.eclipse.aether.impl.SyncContextFactory;
-import org.eclipse.aether.impl.VersionRangeResolver;
-import org.eclipse.aether.metadata.DefaultMetadata;
-import org.eclipse.aether.metadata.Metadata;
-import org.eclipse.aether.repository.ArtifactRepository;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.repository.WorkspaceReader;
-import org.eclipse.aether.resolution.MetadataRequest;
-import org.eclipse.aether.resolution.MetadataResult;
-import org.eclipse.aether.resolution.VersionRangeRequest;
-import org.eclipse.aether.resolution.VersionRangeResolutionException;
-import org.eclipse.aether.resolution.VersionRangeResult;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
-import org.eclipse.aether.spi.log.Logger;
-import org.eclipse.aether.spi.log.LoggerFactory;
-import org.eclipse.aether.spi.log.NullLoggerFactory;
-import org.eclipse.aether.util.version.GenericVersionScheme;
-import org.eclipse.aether.version.InvalidVersionSpecificationException;
-import org.eclipse.aether.version.Version;
-import org.eclipse.aether.version.VersionConstraint;
-import org.eclipse.aether.version.VersionScheme;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import java.io.FileInputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @author Benjamin Bentmann
- */
-@Named
-@Component( role = VersionRangeResolver.class )
-public class DefaultVersionRangeResolver
-    implements VersionRangeResolver, Service
-{
-
-    private static final String MAVEN_METADATA_XML = "maven-metadata.xml";
-
-    @SuppressWarnings( "unused" )
-    @Requirement( role = LoggerFactory.class )
-    private Logger logger = NullLoggerFactory.LOGGER;
-
-    @Requirement
-    private MetadataResolver metadataResolver;
-
-    @Requirement
-    private SyncContextFactory syncContextFactory;
-
-    @Requirement
-    private RepositoryEventDispatcher repositoryEventDispatcher;
-
-    public DefaultVersionRangeResolver()
-    {
-        // enable default constructor
-    }
-
-    @Inject
-    DefaultVersionRangeResolver( MetadataResolver metadataResolver, SyncContextFactory syncContextFactory,
-                                 RepositoryEventDispatcher repositoryEventDispatcher, LoggerFactory loggerFactory )
-    {
-        setMetadataResolver( metadataResolver );
-        setSyncContextFactory( syncContextFactory );
-        setLoggerFactory( loggerFactory );
-        setRepositoryEventDispatcher( repositoryEventDispatcher );
-    }
-
-    public void initService( ServiceLocator locator )
-    {
-        setLoggerFactory( locator.getService( LoggerFactory.class ) );
-        setMetadataResolver( locator.getService( MetadataResolver.class ) );
-        setSyncContextFactory( locator.getService( SyncContextFactory.class ) );
-        setRepositoryEventDispatcher( locator.getService( RepositoryEventDispatcher.class ) );
-    }
-
-    public DefaultVersionRangeResolver setLoggerFactory( LoggerFactory loggerFactory )
-    {
-        this.logger = NullLoggerFactory.getSafeLogger( loggerFactory, getClass() );
-        return this;
-    }
-
-    void setLogger( LoggerFactory loggerFactory )
-    {
-        // plexus support
-        setLoggerFactory( loggerFactory );
-    }
-
-    public DefaultVersionRangeResolver setMetadataResolver( MetadataResolver metadataResolver )
-    {
-        this.metadataResolver = Validate.notNull( metadataResolver, "metadataResolver cannot be null" );
-        return this;
-    }
-
-    public DefaultVersionRangeResolver setSyncContextFactory( SyncContextFactory syncContextFactory )
-    {
-        this.syncContextFactory = Validate.notNull( syncContextFactory, "syncContextFactory cannot be null" );
-        return this;
-    }
-
-    public DefaultVersionRangeResolver setRepositoryEventDispatcher(
-        RepositoryEventDispatcher repositoryEventDispatcher )
-    {
-        this.repositoryEventDispatcher = Validate.notNull( repositoryEventDispatcher,
-            "repositoryEventDispatcher cannot be null" );
-        return this;
-    }
-
-    public VersionRangeResult resolveVersionRange( RepositorySystemSession session, VersionRangeRequest request )
-        throws VersionRangeResolutionException
-    {
-        VersionRangeResult result = new VersionRangeResult( request );
-
-        VersionScheme versionScheme = new GenericVersionScheme();
-
-        VersionConstraint versionConstraint;
-        try
-        {
-            versionConstraint = versionScheme.parseVersionConstraint( request.getArtifact().getVersion() );
-        }
-        catch ( InvalidVersionSpecificationException e )
-        {
-            result.addException( e );
-            throw new VersionRangeResolutionException( result );
-        }
-
-        result.setVersionConstraint( versionConstraint );
-
-        if ( versionConstraint.getRange() == null )
-        {
-            result.addVersion( versionConstraint.getVersion() );
-        }
-        else
-        {
-            Map<String, ArtifactRepository> versionIndex = getVersions( session, result, request );
-
-            List<Version> versions = new ArrayList<>();
-            for ( Map.Entry<String, ArtifactRepository> v : versionIndex.entrySet() )
-            {
-                try
-                {
-                    Version ver = versionScheme.parseVersion( v.getKey() );
-                    if ( versionConstraint.containsVersion( ver ) )
-                    {
-                        versions.add( ver );
-                        result.setRepository( ver, v.getValue() );
-                    }
-                }
-                catch ( InvalidVersionSpecificationException e )
-                {
-                    result.addException( e );
-                }
-            }
-
-            Collections.sort( versions );
-            result.setVersions( versions );
-        }
-
-        return result;
-    }
-
-    private Map<String, ArtifactRepository> getVersions( RepositorySystemSession session, VersionRangeResult result,
-                                                         VersionRangeRequest request )
-    {
-        RequestTrace trace = RequestTrace.newChild( request.getTrace(), request );
-
-        Map<String, ArtifactRepository> versionIndex = new HashMap<>();
-
-        Metadata metadata =
-            new DefaultMetadata( request.getArtifact().getGroupId(), request.getArtifact().getArtifactId(),
-                                 MAVEN_METADATA_XML, Metadata.Nature.RELEASE_OR_SNAPSHOT );
-
-        List<MetadataRequest> metadataRequests = new ArrayList<>( request.getRepositories().size() );
-
-        metadataRequests.add( new MetadataRequest( metadata, null, request.getRequestContext() ) );
-
-        for ( RemoteRepository repository : request.getRepositories() )
-        {
-            MetadataRequest metadataRequest = new MetadataRequest( metadata, repository, request.getRequestContext() );
-            metadataRequest.setDeleteLocalCopyIfMissing( true );
-            metadataRequest.setTrace( trace );
-            metadataRequests.add( metadataRequest );
-        }
-
-        List<MetadataResult> metadataResults = metadataResolver.resolveMetadata( session, metadataRequests );
-
-        WorkspaceReader workspace = session.getWorkspaceReader();
-        if ( workspace != null )
-        {
-            List<String> versions = workspace.findVersions( request.getArtifact() );
-            for ( String version : versions )
-            {
-                versionIndex.put( version, workspace.getRepository() );
-            }
-        }
-
-        for ( MetadataResult metadataResult : metadataResults )
-        {
-            result.addException( metadataResult.getException() );
-
-            ArtifactRepository repository = metadataResult.getRequest().getRepository();
-            if ( repository == null )
-            {
-                repository = session.getLocalRepository();
-            }
-
-            Versioning versioning = readVersions( session, trace, metadataResult.getMetadata(), repository, result );
-            for ( String version : versioning.getVersions() )
-            {
-                if ( !versionIndex.containsKey( version ) )
-                {
-                    versionIndex.put( version, repository );
-                }
-            }
-        }
-
-        return versionIndex;
-    }
-
-    private Versioning readVersions( RepositorySystemSession session, RequestTrace trace, Metadata metadata,
-                                     ArtifactRepository repository, VersionRangeResult result )
-    {
-        Versioning versioning = null;
-
-        FileInputStream fis = null;
-        try
-        {
-            if ( metadata != null )
-            {
-
-                try ( SyncContext syncContext = syncContextFactory.newInstance( session, true ) )
-                {
-                    syncContext.acquire( null, Collections.singleton( metadata ) );
-
-                    if ( metadata.getFile() != null && metadata.getFile().exists() )
-                    {
-                        fis = new FileInputStream( metadata.getFile() );
-                        org.apache.maven.artifact.repository.metadata.Metadata m =
-                            new MetadataXpp3Reader().read( fis, false );
-                        versioning = m.getVersioning();
-                    }
-                }
-            }
-        }
-        catch ( Exception e )
-        {
-            invalidMetadata( session, trace, metadata, repository, e );
-            result.addException( e );
-        }
-        finally
-        {
-            IOUtil.close( fis );
-        }
-
-        return ( versioning != null ) ? versioning : new Versioning();
-    }
-
-    private void invalidMetadata( RepositorySystemSession session, RequestTrace trace, Metadata metadata,
-                                  ArtifactRepository repository, Exception exception )
-    {
-        RepositoryEvent.Builder event = new RepositoryEvent.Builder( session, EventType.METADATA_INVALID );
-        event.setTrace( trace );
-        event.setMetadata( metadata );
-        event.setException( exception );
-        event.setRepository( repository );
-
-        repositoryEventDispatcher.dispatch( event.build() );
-    }
-
-}
\ No newline at end of file


[17/46] maven git commit: [MNG-6166] mvn dependency:go-offline fails due to missing transitive dependency jdom:jdom:jar:1.1

Posted by sc...@apache.org.
[MNG-6166] mvn dependency:go-offline fails due to missing transitive dependency jdom:jdom:jar:1.1


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/66a0fbe4
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/66a0fbe4
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/66a0fbe4

Branch: refs/heads/MNG-5984
Commit: 66a0fbe495f7df45562bee22188341899e1ca839
Parents: 1be7ea8
Author: Archimedes Trajano <tr...@yahoo.com>
Authored: Sat Feb 4 00:41:58 2017 +0100
Committer: Michael Osipov <mi...@apache.org>
Committed: Mon Feb 6 20:36:39 2017 +0100

----------------------------------------------------------------------
 maven-core/src/test/resources-project-builder/foo/sub/pom.xml | 4 ----
 pom.xml                                                       | 2 +-
 2 files changed, 1 insertion(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/66a0fbe4/maven-core/src/test/resources-project-builder/foo/sub/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/foo/sub/pom.xml b/maven-core/src/test/resources-project-builder/foo/sub/pom.xml
index c5e3d9a..dc10bd1 100644
--- a/maven-core/src/test/resources-project-builder/foo/sub/pom.xml
+++ b/maven-core/src/test/resources-project-builder/foo/sub/pom.xml
@@ -25,10 +25,6 @@
       <artifactId>dom4j</artifactId>
     </dependency>
     <dependency>
-      <groupId>jdom</groupId>
-      <artifactId>jdom</artifactId>
-    </dependency>
-    <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-model</artifactId>
     </dependency>

http://git-wip-us.apache.org/repos/asf/maven/blob/66a0fbe4/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 75bdb87..83b7b18 100644
--- a/pom.xml
+++ b/pom.xml
@@ -53,7 +53,7 @@ under the License.
     <commonsCliVersion>1.2</commonsCliVersion>
     <commonsLangVersion>3.4</commonsLangVersion>
     <junitVersion>4.11</junitVersion>
-    <plexusVersion>1.6</plexusVersion>
+    <plexusVersion>1.7.1</plexusVersion>
     <plexusInterpolationVersion>1.21</plexusInterpolationVersion>
     <plexusUtilsVersion>3.0.22</plexusUtilsVersion>
     <!-- Latest version of Guava that works with Sisu -->


[41/46] maven git commit: [MNG-6179] Remove WARNING about prerequisites usage

Posted by sc...@apache.org.
[MNG-6179] Remove WARNING about prerequisites usage


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/748551d0
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/748551d0
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/748551d0

Branch: refs/heads/MNG-5984
Commit: 748551d0274cc2eebfb2f976536d18277e564584
Parents: 529e8a6
Author: Karl Heinz Marbaise <kh...@apache.org>
Authored: Fri Feb 24 22:49:21 2017 +0100
Committer: Karl Heinz Marbaise <kh...@apache.org>
Committed: Wed Mar 1 20:05:45 2017 +0100

----------------------------------------------------------------------
 pom.xml | 7 -------
 1 file changed, 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/748551d0/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index a085ffa..ba06feb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -149,13 +149,6 @@ under the License.
     </contributor>
   </contributors>
 
-  <!-- This marked as deprecated for Maven 3.X. This is checked by maven-enforcer-plugin -->
-  <!--  https://issues.apache.org/jira/browse/MNG-4840 -->
-  <!--  https://issues.apache.org/jira/browse/MNG-5297 -->
-  <prerequisites>
-    <maven>${maven.version}</maven>
-  </prerequisites>
-
   <!--bootstrap-start-comment-->
   <dependencyManagement>
     <!--bootstrap-end-comment-->


[44/46] maven git commit: [MNG-6173] MavenSession.getAllProjects() should return all projects in the reactor

Posted by sc...@apache.org.
[MNG-6173] MavenSession.getAllProjects() should return all projects in the reactor

This commit removes the initialization of the MavenSession object from the
DefaultGraphBuilder. The GraphBuilder implementation should only build the
graph and should not touch the MavenSession object passed into it.

To allow complete initialization of the MavenSession the ProjectDependencyGraph
interface got enhanced so that GraphBuilder implementations can communicate all
collected projects in addition to the processed list of projects.

This closes #105


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/114ef6c5
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/114ef6c5
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/114ef6c5

Branch: refs/heads/MNG-5984
Commit: 114ef6c5a2802e8758e466af92b70f51fd7a2929
Parents: 862c84a
Author: Christoph B�hme <ch...@b3e.net>
Authored: Mon Feb 20 07:32:17 2017 +0100
Committer: Christian Schulte <sc...@apache.org>
Committed: Mon Mar 6 17:35:24 2017 +0100

----------------------------------------------------------------------
 .../java/org/apache/maven/DefaultMaven.java     |   2 +-
 .../maven/execution/ProjectDependencyGraph.java |   9 ++
 .../apache/maven/graph/DefaultGraphBuilder.java | 109 ++++++++-----------
 .../graph/DefaultProjectDependencyGraph.java    |  32 ++++++
 .../graph/FilteredProjectDependencyGraph.java   |   8 ++
 .../AbstractCoreMavenComponentTestCase.java     |   1 +
 .../maven/lifecycle/LifecycleExecutorTest.java  |   5 +
 .../stub/ProjectDependencyGraphStub.java        |   5 +
 8 files changed, 106 insertions(+), 65 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/114ef6c5/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
index 15b946e..7e46ad0 100644
--- a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
+++ b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
@@ -525,7 +525,7 @@ public class DefaultMaven
         {
             ProjectDependencyGraph projectDependencyGraph = graphResult.get();
             session.setProjects( projectDependencyGraph.getSortedProjects() );
-            session.setAllProjects( projectDependencyGraph.getSortedProjects() );
+            session.setAllProjects( projectDependencyGraph.getAllProjects() );
             session.setProjectDependencyGraph( projectDependencyGraph );
         }
 

http://git-wip-us.apache.org/repos/asf/maven/blob/114ef6c5/maven-core/src/main/java/org/apache/maven/execution/ProjectDependencyGraph.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/execution/ProjectDependencyGraph.java b/maven-core/src/main/java/org/apache/maven/execution/ProjectDependencyGraph.java
index 0d5584b..d206d73 100644
--- a/maven-core/src/main/java/org/apache/maven/execution/ProjectDependencyGraph.java
+++ b/maven-core/src/main/java/org/apache/maven/execution/ProjectDependencyGraph.java
@@ -33,6 +33,15 @@ public interface ProjectDependencyGraph
 {
 
     /**
+     * Gets all collected projects.
+     *
+     * @return All collected projects.
+     *
+     * @since 3.5.0-alpha-2
+     */
+    List<MavenProject> getAllProjects();
+
+    /**
      * Gets all projects in their intended build order, i.e. after topologically sorting the projects according to their
      * inter-dependencies.
      *

http://git-wip-us.apache.org/repos/asf/maven/blob/114ef6c5/maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java b/maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java
index 680d584..2cbea84 100644
--- a/maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java
+++ b/maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java
@@ -28,12 +28,12 @@ import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 
+import com.google.common.collect.Lists;
 import org.apache.maven.DefaultMaven;
 import org.apache.maven.MavenExecutionException;
 import org.apache.maven.ProjectCycleException;
 import org.apache.maven.artifact.ArtifactUtils;
 import org.apache.maven.execution.MavenExecutionRequest;
-import org.apache.maven.execution.MavenExecutionResult;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.execution.ProjectDependencyGraph;
 import org.apache.maven.model.Plugin;
@@ -43,6 +43,7 @@ import org.apache.maven.model.building.ModelProblemUtils;
 import org.apache.maven.model.building.ModelSource;
 import org.apache.maven.model.building.Result;
 import org.apache.maven.model.building.UrlModelSource;
+import org.apache.maven.project.DuplicateProjectException;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.ProjectBuilder;
 import org.apache.maven.project.ProjectBuildingException;
@@ -54,12 +55,11 @@ import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.dag.CycleDetectedException;
 
-import com.google.common.collect.Lists;
-
 @Component( role = GraphBuilder.class, hint = GraphBuilder.HINT )
 public class DefaultGraphBuilder
     implements GraphBuilder
 {
+
     @Requirement
     private Logger logger;
 
@@ -69,77 +69,68 @@ public class DefaultGraphBuilder
     @Override
     public Result<ProjectDependencyGraph> build( MavenSession session )
     {
-        if ( session.getProjectDependencyGraph() != null )
+        try
         {
-            return dependencyGraph( session, session.getProjects(), false );
-        }
-        
-        List<MavenProject> projects = session.getProjects();
+            Result<ProjectDependencyGraph> result = sessionDependencyGraph( session );
 
-        if ( projects == null )
-        {
-            try
-            {
-                projects = getProjectsForMavenReactor( session );
-            }
-            catch ( ProjectBuildingException e )
+            if ( result == null )
             {
-                return Result.error( Lists.newArrayList( new DefaultModelProblem( null, null, null, null, 0, 0, e ) ) );
+                final List<MavenProject> projects = getProjectsForMavenReactor( session );
+                validateProjects( projects );
+                result = reactorDependencyGraph( session, projects );
             }
 
-            validateProjects( projects );
-
-            return dependencyGraph( session, projects, true );
-        }
-        else
-        {
-            return dependencyGraph( session, projects, false );
+            return result;
         }
-    }
-    
-    private Result<ProjectDependencyGraph> dependencyGraph( MavenSession session, List<MavenProject> projects,
-                                                            boolean applyMakeBehaviour )
-    {
-        MavenExecutionRequest request = session.getRequest();
-
-        ProjectDependencyGraph projectDependencyGraph = null;
-
-        try
+        catch ( final ProjectBuildingException e )
         {
-            projectDependencyGraph = new DefaultProjectDependencyGraph( projects );
-
-            if ( applyMakeBehaviour )
-            {
-                List<MavenProject> activeProjects = projectDependencyGraph.getSortedProjects();
-
-                activeProjects = trimSelectedProjects( activeProjects, projectDependencyGraph, request );
-                activeProjects = trimExcludedProjects( activeProjects, request );
-                activeProjects = trimResumedProjects( activeProjects, request );
-
-                if ( activeProjects.size() != projectDependencyGraph.getSortedProjects().size() )
-                {
-                    projectDependencyGraph =
-                        new FilteredProjectDependencyGraph( projectDependencyGraph, activeProjects );
-                }
-            }
+            return Result.error( Lists.newArrayList( new DefaultModelProblem( null, null, null, null, 0, 0, e ) ) );
         }
-        catch ( CycleDetectedException e )
+        catch ( final CycleDetectedException e )
         {
             String message = "The projects in the reactor contain a cyclic reference: " + e.getMessage();
             ProjectCycleException error = new ProjectCycleException( message, e );
             return Result.error( Lists.newArrayList( new DefaultModelProblem( null, null, null, null, 0, 0, error ) ) );
         }
-        catch ( org.apache.maven.project.DuplicateProjectException e )
+        catch ( final DuplicateProjectException e )
         {
             return Result.error( Lists.newArrayList( new DefaultModelProblem( null, null, null, null, 0, 0, e ) ) );
         }
-        catch ( MavenExecutionException e )
+        catch ( final MavenExecutionException e )
         {
             return Result.error( Lists.newArrayList( new DefaultModelProblem( null, null, null, null, 0, 0, e ) ) );
         }
+    }
+
+    private Result<ProjectDependencyGraph> sessionDependencyGraph( final MavenSession session )
+        throws CycleDetectedException, DuplicateProjectException
+    {
+        Result<ProjectDependencyGraph> result = null;
+
+        if ( session.getProjectDependencyGraph() != null || session.getProjects() != null )
+        {
+            final ProjectDependencyGraph graph =
+                new DefaultProjectDependencyGraph( session.getAllProjects(), session.getProjects() );
+
+            result = Result.success( graph );
+        }
 
-        session.setProjects( projectDependencyGraph.getSortedProjects() );
-        session.setProjectDependencyGraph( projectDependencyGraph );
+        return result;
+    }
+
+    private Result<ProjectDependencyGraph> reactorDependencyGraph( MavenSession session, List<MavenProject> projects )
+        throws CycleDetectedException, DuplicateProjectException, MavenExecutionException
+    {
+        ProjectDependencyGraph projectDependencyGraph = new DefaultProjectDependencyGraph( projects );
+        List<MavenProject> activeProjects = projectDependencyGraph.getSortedProjects();
+        activeProjects = trimSelectedProjects( activeProjects, projectDependencyGraph, session.getRequest() );
+        activeProjects = trimExcludedProjects( activeProjects, session.getRequest() );
+        activeProjects = trimResumedProjects( activeProjects, session.getRequest() );
+
+        if ( activeProjects.size() != projectDependencyGraph.getSortedProjects().size() )
+        {
+            projectDependencyGraph = new FilteredProjectDependencyGraph( projectDependencyGraph, activeProjects );
+        }
 
         return Result.success( projectDependencyGraph );
     }
@@ -368,16 +359,6 @@ public class DefaultGraphBuilder
         return false;
     }
 
-    private MavenExecutionResult addExceptionToResult( MavenExecutionResult result, Throwable e )
-    {
-        if ( !result.getExceptions().contains( e ) )
-        {
-            result.addException( e );
-        }
-
-        return result;
-    }
-
     // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     //
     // Project collection

http://git-wip-us.apache.org/repos/asf/maven/blob/114ef6c5/maven-core/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java b/maven-core/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java
index a5233e5..effab0b 100644
--- a/maven-core/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java
+++ b/maven-core/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java
@@ -21,6 +21,7 @@ package org.apache.maven.graph;
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -43,6 +44,8 @@ public class DefaultProjectDependencyGraph
 
     private ProjectSorter sorter;
 
+    private List<MavenProject> allProjects;
+
     /**
      * Creates a new project dependency graph based on the specified projects.
      *
@@ -53,9 +56,38 @@ public class DefaultProjectDependencyGraph
     public DefaultProjectDependencyGraph( Collection<MavenProject> projects )
         throws CycleDetectedException, DuplicateProjectException
     {
+        super();
+        this.allProjects = Collections.unmodifiableList( new ArrayList<>( projects ) );
+        this.sorter = new ProjectSorter( projects );
+    }
+
+    /**
+     * Creates a new project dependency graph based on the specified projects.
+     *
+     * @param allProjects All collected projects.
+     * @param projects The projects to create the dependency graph with.
+     *
+     * @throws DuplicateProjectException
+     * @throws CycleDetectedException
+     * @since 3.5.0-alpha-2
+     */
+    public DefaultProjectDependencyGraph( final List<MavenProject> allProjects,
+                                          final Collection<MavenProject> projects )
+        throws CycleDetectedException, DuplicateProjectException
+    {
+        super();
+        this.allProjects = Collections.unmodifiableList( new ArrayList<>( allProjects ) );
         this.sorter = new ProjectSorter( projects );
     }
 
+    /**
+     * @since 3.5.0-alpha-2
+     */
+    public List<MavenProject> getAllProjects()
+    {
+        return this.allProjects;
+    }
+
     public List<MavenProject> getSortedProjects()
     {
         return new ArrayList<>( sorter.getSortedProjects() );

http://git-wip-us.apache.org/repos/asf/maven/blob/114ef6c5/maven-core/src/main/java/org/apache/maven/graph/FilteredProjectDependencyGraph.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/graph/FilteredProjectDependencyGraph.java b/maven-core/src/main/java/org/apache/maven/graph/FilteredProjectDependencyGraph.java
index 1d9c8db..ad3910d 100644
--- a/maven-core/src/main/java/org/apache/maven/graph/FilteredProjectDependencyGraph.java
+++ b/maven-core/src/main/java/org/apache/maven/graph/FilteredProjectDependencyGraph.java
@@ -64,6 +64,14 @@ class FilteredProjectDependencyGraph
         }
     }
 
+    /**
+     * @since 3.5.0-alpha-2
+     */
+    public List<MavenProject> getAllProjects()
+    {
+        return this.projectDependencyGraph.getAllProjects();
+    }
+
     public List<MavenProject> getSortedProjects()
     {
         if ( sortedProjects == null )

http://git-wip-us.apache.org/repos/asf/maven/blob/114ef6c5/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java b/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
index 57d374f..157a5ec 100644
--- a/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
+++ b/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
@@ -157,6 +157,7 @@ public abstract class AbstractCoreMavenComponentTestCase
             new MavenSession( getContainer(), configuration.getRepositorySession(), request,
                               new DefaultMavenExecutionResult() );
         session.setProjects( Arrays.asList( project ) );
+        session.setAllProjects( session.getProjects() );
 
         return session;
     }

http://git-wip-us.apache.org/repos/asf/maven/blob/114ef6c5/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
index 951f133..5252a21 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
@@ -400,6 +400,11 @@ public class LifecycleExecutorTest
                 return Collections.emptyList();
             }
 
+            public List<MavenProject> getAllProjects()
+            {
+                return session.getAllProjects();
+            }
+
             public List<MavenProject> getSortedProjects()
             {
                 return Collections.singletonList( session.getCurrentProject() );

http://git-wip-us.apache.org/repos/asf/maven/blob/114ef6c5/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStub.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStub.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStub.java
index b913caf..7af756d 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStub.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStub.java
@@ -169,6 +169,11 @@ public class ProjectDependencyGraphStub
         return dependencies;
     }
 
+    public List<MavenProject> getAllProjects()
+    {
+        return Arrays.asList( A, B, C, X, Y, Z, UNKNOWN );
+    }
+
     public List<MavenProject> getSortedProjects()
     {
         return Arrays.asList( A, B, C, X, Y, Z ); // I'm not entirely sure about the order but this should do...


[30/46] maven git commit: Updated doap_Maven.rdf file

Posted by sc...@apache.org.
Updated doap_Maven.rdf file


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/1407a104
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/1407a104
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/1407a104

Branch: refs/heads/MNG-5984
Commit: 1407a10485e826795db23c114c4c37cf951a2e27
Parents: 60a7f5d
Author: Karl Heinz Marbaise <kh...@apache.org>
Authored: Fri Dec 11 19:43:17 2015 +0100
Committer: Herv� Boutemy <hb...@apache.org>
Committed: Sat Feb 18 18:09:04 2017 +0100

----------------------------------------------------------------------
 doap_Maven.rdf | 11 +++++++++++
 1 file changed, 11 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/1407a104/doap_Maven.rdf
----------------------------------------------------------------------
diff --git a/doap_Maven.rdf b/doap_Maven.rdf
index 9a043ce..86fbd1d 100644
--- a/doap_Maven.rdf
+++ b/doap_Maven.rdf
@@ -33,6 +33,17 @@ under the License.
     <release>
       <Version>
         <name>Latest stable release</name>
+        <created>2015-11-14</created>
+        <revision>3.3.9</revision>
+        <file-release>http://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.zip</file-release>
+        <file-release>http://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz</file-release>
+        <file-release>http://archive.apache.org/dist/maven/maven-3/3.3.9/source/apache-maven-3.3.9-src.zip</file-release>
+        <file-release>http://archive.apache.org/dist/maven/maven-3/3.3.9/source/apache-maven-3.3.9-src.tar.gz</file-release>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>Apache Maven 3.3.3</name>
         <created>2015-04-28</created>
         <revision>3.3.3</revision>
         <file-release>http://archive.apache.org/dist/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.zip</file-release>


[14/46] maven git commit: [MNG-6146] Several small stylistic and spelling improvements to code and documentation

Posted by sc...@apache.org.
[MNG-6146] Several small stylistic and spelling improvements to code and documentation

Spelling fixes:

* system
* tokenizer
* toolchain
* trailing
* transitive
* unsupported
* version
* artifact
* attachment
* codehaus
* colleagues
* comparison
* concurrency
* configure
* creation
* dependency
* descriptor
* downstream
* efficient
* e.g.
* elements
* encountered
* encounters
* environments
* executed
* explicitly
* happens
* hierarchical
* hierarchy
* ignore
* implemented
* implementers
* independence
* indicates
* inheritance
* inherited
* inherits
* install
* interface
* javascript
* laziness
* management
* maven
* metadata
* mgmt
* minimalist
* nonexistent
* objects
* overridden
* print
* project
* properties
* recessive
* referring
* repository
* representation
* retrieval
* retrieve
* rigorous
* should
* spontaneously
* subsequent

Literal fixes:

*  use static final values

Style fixes:

* use the proper term for char U+002D (-) hyphen(-minus) instead of dash

This closes #100


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/17402659
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/17402659
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/17402659

Branch: refs/heads/MNG-5984
Commit: 17402659845ea21b0dd9f9989d484fb32c3aa28b
Parents: bd57ec9
Author: Josh Soref <js...@apache.org>
Authored: Mon Jan 23 04:56:27 2017 +0000
Committer: Michael Osipov <mi...@apache.org>
Committed: Fri Feb 3 10:12:28 2017 +0100

----------------------------------------------------------------------
 apache-maven/README.txt                         |  4 +-
 .../resolver/CyclicDependencyException.java     |  2 +-
 .../artifact/versioning/ComparableVersion.java  |  4 +-
 .../versioning/DefaultArtifactVersion.java      |  2 +-
 maven-compat/pom.xml                            |  2 +-
 .../artifact/installer/ArtifactInstaller.java   |  2 +-
 .../resolver/ResolutionListenerForDepMgmt.java  |  2 +-
 .../maven/profiles/DefaultProfileManager.java   |  2 +-
 .../DefaultModelInheritanceAssembler.java       |  4 +-
 .../inheritance/ModelInheritanceAssembler.java  |  2 +-
 .../DefaultLegacyArtifactCollector.java         |  4 +-
 .../metadata/MetadataGraphVertex.java           |  2 +-
 maven-compat/src/main/mdo/profiles.mdo          |  4 +-
 .../inheritance/t00/ProjectInheritanceTest.java |  2 +-
 .../inheritance/t01/ProjectInheritanceTest.java |  2 +-
 .../inheritance/t02/ProjectInheritanceTest.java |  2 +-
 .../inheritance/t03/ProjectInheritanceTest.java |  2 +-
 .../inheritance/t04/ProjectInheritanceTest.java |  2 +-
 .../inheritance/t05/ProjectInheritanceTest.java |  2 +-
 .../inheritance/t06/ProjectInheritanceTest.java |  2 +-
 .../inheritance/t07/ProjectInheritanceTest.java |  2 +-
 .../inheritance/t08/ProjectInheritanceTest.java |  2 +-
 .../inheritance/t09/ProjectInheritanceTest.java |  2 +-
 .../inheritance/t10/ProjectInheritanceTest.java |  4 +-
 .../inheritance/t11/ProjectInheritanceTest.java |  4 +-
 .../t12scm/ProjectInheritanceTest.java          |  2 +-
 maven-core/lifecycle-executor.txt               |  2 +-
 maven-core/plugin-manager.txt                   |  2 +-
 .../repository/MavenArtifactRepository.java     |  2 +-
 .../resolver/ArtifactResolutionResult.java      |  2 +-
 .../DefaultBeanConfigurationRequest.java        |  6 +-
 .../org/apache/maven/eventspy/EventSpy.java     |  2 +-
 .../DefaultRepositorySystemSessionFactory.java  |  6 +-
 .../maven/lifecycle/internal/GoalTask.java      |  2 +-
 .../maven/lifecycle/internal/TaskSegment.java   |  2 +-
 .../multithreaded/ThreadOutputMuxer.java        |  6 +-
 .../plugin/DebugConfigurationListener.java      |  2 +-
 .../maven/plugin/ExtensionRealmCache.java       |  4 +-
 .../plugin/version/PluginVersionRequest.java    |  2 +-
 .../project/DefaultProjectBuildingHelper.java   |  2 +-
 .../project/DefaultProjectBuildingResult.java   |  4 +-
 .../DefaultProjectDependenciesResolver.java     |  6 +-
 .../maven/project/MavenProjectHelper.java       |  2 +-
 .../maven/project/ProjectBuildingRequest.java   |  2 +-
 .../project/artifact/MavenMetadataSource.java   |  4 +-
 .../maven/project/artifact/ProjectArtifact.java |  4 +-
 .../metadata/MetadataResolutionRequest.java     |  2 +-
 maven-core/src/main/mdo/toolchains.mdo          |  2 +-
 .../src/site/apt/configuration-management.apt   |  8 +-
 maven-core/src/site/apt/offline-mode.apt        |  4 +-
 .../src/site/apt/plugin-execution-isolation.apt |  4 +-
 .../DefaultProjectDependencyGraphTest.java      |  8 +-
 .../LifecycleExecutorSubModulesTest.java        |  2 +-
 .../lifecycle/internal/stub/AboutTheStubs.html  |  2 +-
 .../stub/ProjectDependencyGraphStub.java        |  2 +-
 .../apache/maven/plugin/PluginManagerTest.java  |  2 +-
 .../internal/DefaultLegacySupportTest.java      |  2 +-
 .../project/DefaultMavenProjectBuilderTest.java |  2 +-
 .../project/EmptyProjectBuildingHelper.java     |  2 +-
 .../maven/project/PomConstructionTest.java      | 52 ++++++-------
 .../apache/maven/project/ProjectSorterTest.java | 10 +--
 .../merge/MavenToolchainMergerTest.java         |  4 +-
 .../apache/maven/lifecycle/test/AppTest.java    |  2 +-
 .../dependency-order/w-plugin-mgmt/pom.xml      | 68 +++++++++++++++++
 .../dependency-order/w-plugin-mngt/pom.xml      | 68 -----------------
 .../dependency-order/wo-plugin-mgmt/pom.xml     | 66 +++++++++++++++++
 .../dependency-order/wo-plugin-mngt/pom.xml     | 66 -----------------
 .../w-plugin-mgmt/pom.xml                       | 64 ++++++++++++++++
 .../w-plugin-mgmt/sub/pom.xml                   | 64 ++++++++++++++++
 .../w-plugin-mngt/pom.xml                       | 64 ----------------
 .../w-plugin-mngt/sub/pom.xml                   | 64 ----------------
 .../wo-plugin-mgmt/pom.xml                      | 62 ++++++++++++++++
 .../wo-plugin-mgmt/sub/pom.xml                  | 64 ++++++++++++++++
 .../wo-plugin-mngt/pom.xml                      | 62 ----------------
 .../wo-plugin-mngt/sub/pom.xml                  | 64 ----------------
 .../w-plugin-mgmt/pom.xml                       | 59 +++++++++++++++
 .../w-plugin-mgmt/sub/pom.xml                   | 59 +++++++++++++++
 .../w-plugin-mngt/pom.xml                       | 59 ---------------
 .../w-plugin-mngt/sub/pom.xml                   | 59 ---------------
 .../wo-plugin-mgmt/pom.xml                      | 57 ++++++++++++++
 .../wo-plugin-mgmt/sub/pom.xml                  | 59 +++++++++++++++
 .../wo-plugin-mngt/pom.xml                      | 57 --------------
 .../wo-plugin-mngt/sub/pom.xml                  | 59 ---------------
 .../w-plugin-mgmt/pom.xml                       | 71 ++++++++++++++++++
 .../w-plugin-mgmt/sub/pom.xml                   | 71 ++++++++++++++++++
 .../w-plugin-mngt/pom.xml                       | 71 ------------------
 .../w-plugin-mngt/sub/pom.xml                   | 71 ------------------
 .../wo-plugin-mgmt/pom.xml                      | 69 +++++++++++++++++
 .../wo-plugin-mgmt/sub/pom.xml                  | 71 ++++++++++++++++++
 .../wo-plugin-mngt/pom.xml                      | 69 -----------------
 .../wo-plugin-mngt/sub/pom.xml                  | 71 ------------------
 .../w-plugin-mgmt/pom.xml                       | 62 ++++++++++++++++
 .../w-plugin-mngt/pom.xml                       | 62 ----------------
 .../wo-plugin-mgmt/pom.xml                      | 53 +++++++++++++
 .../wo-plugin-mngt/pom.xml                      | 53 -------------
 .../plugin-config-order/w-plugin-mgmt/pom.xml   | 68 +++++++++++++++++
 .../plugin-config-order/w-plugin-mngt/pom.xml   | 68 -----------------
 .../plugin-config-order/wo-plugin-mgmt/pom.xml  | 60 +++++++++++++++
 .../plugin-config-order/wo-plugin-mngt/pom.xml  | 60 ---------------
 .../w-plugin-mgmt/pom.xml                       | 78 ++++++++++++++++++++
 .../w-plugin-mngt/pom.xml                       | 78 --------------------
 .../wo-plugin-mgmt/pom.xml                      | 70 ++++++++++++++++++
 .../wo-plugin-mngt/pom.xml                      | 70 ------------------
 .../w-plugin-mgmt/pom.xml                       | 66 +++++++++++++++++
 .../w-plugin-mngt/pom.xml                       | 66 -----------------
 .../wo-plugin-mgmt/pom.xml                      | 57 ++++++++++++++
 .../wo-plugin-mngt/pom.xml                      | 57 --------------
 .../plugin-exec-merging/w-plugin-mgmt/pom.xml   | 58 +++++++++++++++
 .../w-plugin-mgmt/sub/pom.xml                   | 59 +++++++++++++++
 .../plugin-exec-merging/w-plugin-mngt/pom.xml   | 58 ---------------
 .../w-plugin-mngt/sub/pom.xml                   | 59 ---------------
 .../plugin-exec-merging/wo-plugin-mgmt/pom.xml  | 56 ++++++++++++++
 .../wo-plugin-mgmt/sub/pom.xml                  | 59 +++++++++++++++
 .../plugin-exec-merging/wo-plugin-mngt/pom.xml  | 56 --------------
 .../wo-plugin-mngt/sub/pom.xml                  | 59 ---------------
 .../plugin-exec-order/w-plugin-mgmt/pom.xml     | 76 +++++++++++++++++++
 .../plugin-exec-order/w-plugin-mngt/pom.xml     | 76 -------------------
 .../plugin-exec-order/wo-plugin-mgmt/pom.xml    | 67 +++++++++++++++++
 .../plugin-exec-order/wo-plugin-mngt/pom.xml    | 67 -----------------
 .../w-plugin-mgmt/pom.xml                       | 72 ++++++++++++++++++
 .../w-plugin-mngt/pom.xml                       | 72 ------------------
 .../wo-plugin-mgmt/pom.xml                      | 64 ++++++++++++++++
 .../wo-plugin-mngt/pom.xml                      | 64 ----------------
 .../plugin-inheritance-order/pom.xml            |  2 +-
 .../pom-inheritance/sub/pom.xml                 |  2 +-
 .../prerequisites-inheritance/child/pom.xml     |  2 +-
 .../repo-inheritance/pom.xml                    |  2 +-
 .../system-property-interpolation/pom.xml       | 30 ++++++++
 .../sytem-property-interpolation/pom.xml        | 30 --------
 .../dep-mgmt-in-profile/pom.xml                 | 49 ++++++++++++
 .../unique-dependency-key/dep-mgmt/pom.xml      | 44 +++++++++++
 .../dep-mngt-in-profile/pom.xml                 | 49 ------------
 .../unique-dependency-key/dep-mngt/pom.xml      | 44 -----------
 .../xml-coalesce-text/pom.xml                   |  2 +-
 .../maven/maven-parent/5/maven-parent-5.pom     |  2 +-
 .../java/org/apache/maven/embedder/AppTest.java |  2 +-
 .../java/org/apache/maven/cli/MavenCli.java     |  2 +-
 .../src/test/java/org/apache/maven/AppTest.java |  2 +-
 .../maven/test/error/mojoFailure/AppTest.java   |  2 +-
 .../child1/src/test/java/org/test/AppTest.java  |  2 +-
 .../src/main/java/org/plugin/TestPlugin.java    |  2 +-
 .../maven/test/error/mojoFailure/AppTest.java   |  2 +-
 .../maven/test/error/mojoFailure/AppTest.java   |  2 +-
 .../java/org/codehaus/m2eclipse/AppTest.java    |  2 +-
 .../model/building/DefaultModelBuilder.java     | 42 +++++------
 .../model/building/ModelBuildingListener.java   |  2 +-
 .../model/building/ModelBuildingRequest.java    |  2 +-
 .../DefaultDependencyManagementImporter.java    | 12 +--
 .../DefaultInheritanceAssembler.java            |  2 +-
 .../model/validation/DefaultModelValidator.java | 12 +--
 maven-model-builder/src/main/mdo/profiles.mdo   |  4 +-
 .../DefaultInheritanceAssemblerTest.java        |  2 +-
 maven-model/src/main/mdo/maven.mdo              |  6 +-
 .../maven/plugin/descriptor/MojoDescriptor.java |  4 +-
 maven-plugin-api/src/main/mdo/lifecycle.mdo     |  2 +-
 .../src/site/apt/index.apt                      |  2 +-
 .../ArtifactDescriptorReaderDelegate.java       | 12 +--
 .../DefaultArtifactDescriptorReader.java        |  6 +-
 .../internal/RepositorySystemTest.java          |  2 +-
 maven-settings/src/main/mdo/settings.mdo        |  4 +-
 160 files changed, 2246 insertions(+), 2244 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/apache-maven/README.txt
----------------------------------------------------------------------
diff --git a/apache-maven/README.txt b/apache-maven/README.txt
index 935aa67..827fdb7 100644
--- a/apache-maven/README.txt
+++ b/apache-maven/README.txt
@@ -39,7 +39,7 @@
   Installing Maven
   ----------------
 
-  1) Unpack the archive where you would like to store the binaries, eg:
+  1) Unpack the archive where you would like to store the binaries, e.g.:
 
     Unix-based operating systems (Linux, Solaris and Mac OS X)
       tar zxvf apache-maven-3.x.y.tar.gz
@@ -48,7 +48,7 @@
 
   2) A directory called "apache-maven-3.x.y" will be created.
 
-  3) Add the bin directory to your PATH, eg:
+  3) Add the bin directory to your PATH, e.g.:
 
     Unix-based operating systems (Linux, Solaris and Mac OS X)
       export PATH=/usr/local/apache-maven-3.x.y/bin:$PATH

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/CyclicDependencyException.java
----------------------------------------------------------------------
diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/CyclicDependencyException.java b/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/CyclicDependencyException.java
index d370617..bbc6733 100644
--- a/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/CyclicDependencyException.java
+++ b/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/CyclicDependencyException.java
@@ -22,7 +22,7 @@ package org.apache.maven.artifact.resolver;
 import org.apache.maven.artifact.Artifact;
 
 /**
- * Indiciates a cycle in the dependency graph.
+ * Indicates a cycle in the dependency graph.
  *
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
  */

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ComparableVersion.java
----------------------------------------------------------------------
diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ComparableVersion.java b/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ComparableVersion.java
index e7d24c4..f434ef0 100644
--- a/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ComparableVersion.java
+++ b/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ComparableVersion.java
@@ -33,7 +33,7 @@ import java.util.Stack;
  *
  * <p>Features:
  * <ul>
- * <li>mixing of '<code>-</code>' (dash) and '<code>.</code>' (dot) separators,</li>
+ * <li>mixing of '<code>-</code>' (hyphen) and '<code>.</code>' (dot) separators,</li>
  * <li>transition between characters and digits also constitutes a separator:
  *     <code>1.0alpha1 =&gt; [1, 0, alpha, 1]</code></li>
  * <li>unlimited number of version components,</li>
@@ -50,7 +50,7 @@ import java.util.Stack;
  *     </ul>
  *     Unknown qualifiers are considered after known qualifiers, with lexical order (always case insensitive),
  *   </li>
- * <li>a dash usually precedes a qualifier, and is always less important than something preceded with a dot.</li>
+ * <li>a hyphen usually precedes a qualifier, and is always less important than something preceded with a dot.</li>
  * </ul></p>
  *
  * @see <a href="https://cwiki.apache.org/confluence/display/MAVENOLD/Versioning">"Versioning" on Maven Wiki</a>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
----------------------------------------------------------------------
diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java b/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
index 99b2b85..b5e43d4 100644
--- a/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
+++ b/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
@@ -180,7 +180,7 @@ public class DefaultArtifactVersion
                     fallback = Pattern.compile( "\\d+" ).matcher( qualifier ).matches();
                 }
 
-                // string tokenzier won't detect these and ignores them
+                // string tokenizer won't detect these and ignores them
                 if ( part1.contains( ".." ) || part1.startsWith( "." ) || part1.endsWith( "." ) )
                 {
                     fallback = true;

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/pom.xml
----------------------------------------------------------------------
diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml
index c740504..2b205f7 100644
--- a/maven-compat/pom.xml
+++ b/maven-compat/pom.xml
@@ -34,7 +34,7 @@ under the License.
   <description>Maven2 classes maintained as compatibility layer.</description>
 
   <properties>
-    <checkstyle.failOnViolation>false</checkstyle.failOnViolation><!-- lazyness for code that will disappear in future... -->
+    <checkstyle.failOnViolation>false</checkstyle.failOnViolation><!-- laziness for code that will disappear in future... -->
   </properties>
 
   <dependencies>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/main/java/org/apache/maven/artifact/installer/ArtifactInstaller.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/artifact/installer/ArtifactInstaller.java b/maven-compat/src/main/java/org/apache/maven/artifact/installer/ArtifactInstaller.java
index 376eba2..ca6bb20 100644
--- a/maven-compat/src/main/java/org/apache/maven/artifact/installer/ArtifactInstaller.java
+++ b/maven-compat/src/main/java/org/apache/maven/artifact/installer/ArtifactInstaller.java
@@ -40,7 +40,7 @@ public interface ArtifactInstaller
      * @param artifact the artifact definition
      * @param localRepository the local repository to install into
      * @throws ArtifactInstallationException if an error occurred installing the artifact
-     * @deprecated to be removed before 2.0 after the instlal/deploy plugins use the alternate
+     * @deprecated to be removed before 2.0 after the install/deploy plugins use the alternate
      *             method
      */
     @Deprecated

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ResolutionListenerForDepMgmt.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ResolutionListenerForDepMgmt.java b/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ResolutionListenerForDepMgmt.java
index 06da7e3..6ca4fe7 100644
--- a/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ResolutionListenerForDepMgmt.java
+++ b/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ResolutionListenerForDepMgmt.java
@@ -24,7 +24,7 @@ import org.apache.maven.artifact.Artifact;
 /**
  * Do not use!
  * <p/>
- * Should only be implmemented by DebugResolutionListener.  Remove this
+ * Should only be implemented by DebugResolutionListener.  Remove this
  * when the ResolutionListener interface deprecation of the manageArtifact
  * method (and the [yet to be done] addition of these methods to that
  * interface) has had a chance to propagate to all interested plugins.

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java b/maven-compat/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java
index 7a9ec09..e3e0cb7 100644
--- a/maven-compat/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java
+++ b/maven-compat/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java
@@ -62,7 +62,7 @@ public class DefaultProfileManager
 
     /**
      * @deprecated without passing in the system properties, the SystemPropertiesProfileActivator will not work
-     *             correctly in embedded envirnments.
+     *             correctly in embedded environments.
      */
     public DefaultProfileManager( PlexusContainer container )
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java b/maven-compat/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
index fa67041..eab3660 100644
--- a/maven-compat/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
+++ b/maven-compat/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
@@ -230,7 +230,7 @@ public class DefaultModelInheritanceAssembler
             }
         }
 
-        assembleDistributionInheritence( child, parent, childPathAdjustment, appendPaths );
+        assembleDistributionInheritance( child, parent, childPathAdjustment, appendPaths );
 
         // issueManagement
         if ( child.getIssueManagement() == null )
@@ -569,7 +569,7 @@ public class DefaultModelInheritanceAssembler
         }
     }
 
-    private void assembleDistributionInheritence( Model child, Model parent, String childPathAdjustment,
+    private void assembleDistributionInheritance( Model child, Model parent, String childPathAdjustment,
                                                   boolean appendPaths )
     {
         if ( parent.getDistributionManagement() != null )

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java b/maven-compat/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java
index ef4edca..bf8a63b 100644
--- a/maven-compat/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java
+++ b/maven-compat/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java
@@ -35,7 +35,7 @@ public interface ModelInheritanceAssembler
 
     void assembleModelInheritance( Model child, Model parent );
 
-    void assembleBuildInheritance( Build childBuild, Build parentBuild, boolean handleAsInheriance );
+    void assembleBuildInheritance( Build childBuild, Build parentBuild, boolean handleAsInheritance );
 
     void copyModel( Model dest, Model source );
 }

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java b/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java
index 4601eee..88168f1 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java
@@ -477,7 +477,7 @@ public class DefaultLegacyArtifactCollector
                                     manageArtifact( child, managedVersions, listeners );
 
                                     // Also, we need to ensure that any exclusions it presents are
-                                    // added to the artifact before we retrive the metadata
+                                    // added to the artifact before we retrieve the metadata
                                     // for the artifact; otherwise we may end up with unwanted
                                     // dependencies.
                                     Artifact ma = managedVersions.get( childKey );
@@ -691,7 +691,7 @@ public class DefaultLegacyArtifactCollector
         {
             fireEvent( ResolutionListener.UPDATE_SCOPE, listeners, nearest, farthestArtifact );
 
-            // previously we cloned the artifact, but it is more effecient to just update the artifactScope
+            // previously we cloned the artifact, but it is more efficient to just update the artifactScope
             // if problems are later discovered that the original object needs its original artifactScope value, 
             // cloning may
             // again be appropriate

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraphVertex.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraphVertex.java b/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraphVertex.java
index bdccf6a..eb87121 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraphVertex.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataGraphVertex.java
@@ -31,7 +31,7 @@ public class MetadataGraphVertex
 {
     ArtifactMetadata md;
 
-    // indications to use these in comparrison
+    // indications to use these in comparison
     private boolean compareVersion = false;
     private boolean compareScope   = false;
 

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/main/mdo/profiles.mdo
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/mdo/profiles.mdo b/maven-compat/src/main/mdo/profiles.mdo
index 3dcc996..bcaabd2 100644
--- a/maven-compat/src/main/mdo/profiles.mdo
+++ b/maven-compat/src/main/mdo/profiles.mdo
@@ -187,7 +187,7 @@ under the License.
       <version>1.0.0</version>
       <description><![CDATA[
          Repository contains the information needed
-         for establishing connections with remote repoistory
+         for establishing connections with remote repository
       ]]></description>
       <fields>
         <field>
@@ -249,7 +249,7 @@ under the License.
       <superClass>RepositoryBase</superClass>
       <version>1.0.0</version>
       <description>
-        Repository contains the information needed for establishing connections with remote repoistory
+        Repository contains the information needed for establishing connections with remote repository
       </description>
       <fields>
         <field>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java
index 8e4f39d..98da0f5 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java
@@ -42,7 +42,7 @@ public class ProjectInheritanceTest
     // p3 inherits from p2
     // p2 inherits from p1
     // p1 inherits from p0
-    // p0 inhertis from super model
+    // p0 inherits from super model
     //
     // or we can show it graphically as:
     //

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/test/java/org/apache/maven/project/inheritance/t01/ProjectInheritanceTest.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t01/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t01/ProjectInheritanceTest.java
index e6efcc4..1aa749b 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t01/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t01/ProjectInheritanceTest.java
@@ -38,7 +38,7 @@ public class ProjectInheritanceTest
     // p3 inherits from p2
     // p2 inherits from p1
     // p1 inherits from p0
-    // p0 inhertis from super model
+    // p0 inherits from super model
     //
     // or we can show it graphically as:
     //

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java
index 6e9a7a3..2b78343 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java
@@ -49,7 +49,7 @@ public class ProjectInheritanceTest
     // p3 inherits from p2
     // p2 inherits from p1
     // p1 inherits from p0
-    // p0 inhertis from super model
+    // p0 inherits from super model
     //
     // or we can show it graphically as:
     //

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/test/java/org/apache/maven/project/inheritance/t03/ProjectInheritanceTest.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t03/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t03/ProjectInheritanceTest.java
index 73f518e..edb6107 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t03/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t03/ProjectInheritanceTest.java
@@ -41,7 +41,7 @@ public class ProjectInheritanceTest
     // ----------------------------------------------------------------------
     //
     // p1 inherits from p0
-    // p0 inhertis from super model
+    // p0 inherits from super model
     //
     // or we can show it graphically as:
     //

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java
index 1bb4ef8..ab775ec 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java
@@ -39,7 +39,7 @@ public class ProjectInheritanceTest
     // ----------------------------------------------------------------------
     //
     // p1 inherits from p0
-    // p0 inhertis from super model
+    // p0 inherits from super model
     //
     // or we can show it graphically as:
     //

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java
index 2773c19..1517157 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java
@@ -37,7 +37,7 @@ public class ProjectInheritanceTest
     // ----------------------------------------------------------------------
     //
     // p1 inherits from p0
-    // p0 inhertis from super model
+    // p0 inherits from super model
     //
     // or we can show it graphically as:
     //

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java
index 1b80dfe..60e3771 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java
@@ -38,7 +38,7 @@ public class ProjectInheritanceTest
     // ----------------------------------------------------------------------
     //
     // p1 inherits from p0
-    // p0 inhertis from super model
+    // p0 inherits from super model
     //
     // or we can show it graphically as:
     //

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java
index d0d013e..b9685e3 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java
@@ -37,7 +37,7 @@ public class ProjectInheritanceTest
     // ----------------------------------------------------------------------
     //
     // p1 inherits from p0
-    // p0 inhertis from super model
+    // p0 inherits from super model
     //
     // or we can show it graphically as:
     //

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java
index 1afb8e8..b0a7873 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java
@@ -38,7 +38,7 @@ public class ProjectInheritanceTest
     // ----------------------------------------------------------------------
     //
     // p1 inherits from p0
-    // p0 inhertis from super model
+    // p0 inherits from super model
     //
     // or we can show it graphically as:
     //

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java
index 6a29b73..0dc4ccf 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java
@@ -36,7 +36,7 @@ public class ProjectInheritanceTest
     // ----------------------------------------------------------------------
     //
     // p1 inherits from p0
-    // p0 inhertis from super model
+    // p0 inherits from super model
     //
     // or we can show it graphically as:
     //

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java
index 9e5137f..c785176 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java
@@ -27,7 +27,7 @@ import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
 
 /**
- * Verifies scope inheritence of direct and transitive dependencies.
+ * Verifies scope inheritance of direct and transitive dependencies.
  *
  * Should show three behaviors:
  *
@@ -44,7 +44,7 @@ public class ProjectInheritanceTest
     // ----------------------------------------------------------------------
     //
     // p1 inherits from p0
-    // p0 inhertis from super model
+    // p0 inherits from super model
     //
     // or we can show it graphically as:
     //

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/test/java/org/apache/maven/project/inheritance/t11/ProjectInheritanceTest.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t11/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t11/ProjectInheritanceTest.java
index 78b7640..d8a3926 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t11/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t11/ProjectInheritanceTest.java
@@ -25,7 +25,7 @@ import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
 
 /**
- * Verifies scope of root project is preserved regardless of parent depenedency management.
+ * Verifies scope of root project is preserved regardless of parent dependency management.
  *
  * @author <a href="mailto:pschneider@gmail.com">Patrick Schneider</a>
  * @see <a href="https://issues.apache.org/jira/browse/MNG-2919">MNG-2919</a>
@@ -36,7 +36,7 @@ public class ProjectInheritanceTest
     // ----------------------------------------------------------------------
     //
     // p1 inherits from p0
-    // p0 inhertis from super model
+    // p0 inherits from super model
     //
     // or we can show it graphically as:
     //

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12scm/ProjectInheritanceTest.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12scm/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12scm/ProjectInheritanceTest.java
index 3b08662..7627c13 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12scm/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12scm/ProjectInheritanceTest.java
@@ -35,7 +35,7 @@ public class ProjectInheritanceTest
     // ----------------------------------------------------------------------
     //
     // p1 inherits from p0
-    // p0 inhertis from super model
+    // p0 inherits from super model
     //
     // or we can show it graphically as:
     //

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/lifecycle-executor.txt
----------------------------------------------------------------------
diff --git a/maven-core/lifecycle-executor.txt b/maven-core/lifecycle-executor.txt
index 41e98bf..d039036 100644
--- a/maven-core/lifecycle-executor.txt
+++ b/maven-core/lifecycle-executor.txt
@@ -57,7 +57,7 @@ We need this form so that the model builder can make the first pass at merging.
   .
 </plugins>
 
-Once we have the version of the plugins the appropriate call to the plugin manager can be made to get the MojoDescriptor for the goal that needs to be run. In the MojoDescriptor we are interested in the <configuration/> element and <parameters/> element. From these elements we need to make a component configuration for the MojoExecution. The actual DOM like structure we create is of type PlexusConfiguration and is the type we use with the ComponentConfigurator to initialize fields in a Plexus component. Typically this is done within Plexus with the configuration supplied with component configuration, but in Maven we take configuration values from the POM. So we have to use the ComponentConfigurator outside of Plexus in order to configurure the Maven Mojo which is just a Plexus component. We can use the information from the MojoDescriptor along with the merged configuration information that is now present in the POM to create the complete PlexusConfiguration used to populate values i
 n the Maven Mojo.
+Once we have the version of the plugins the appropriate call to the plugin manager can be made to get the MojoDescriptor for the goal that needs to be run. In the MojoDescriptor we are interested in the <configuration/> element and <parameters/> element. From these elements we need to make a component configuration for the MojoExecution. The actual DOM like structure we create is of type PlexusConfiguration and is the type we use with the ComponentConfigurator to initialize fields in a Plexus component. Typically this is done within Plexus with the configuration supplied with component configuration, but in Maven we take configuration values from the POM. So we have to use the ComponentConfigurator outside of Plexus in order to configure the Maven Mojo which is just a Plexus component. We can use the information from the MojoDescriptor along with the merged configuration information that is now present in the POM to create the complete PlexusConfiguration used to populate values in 
 the Maven Mojo.
 
 foreach configuration element:
  - if read only and being set squawk

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/plugin-manager.txt
----------------------------------------------------------------------
diff --git a/maven-core/plugin-manager.txt b/maven-core/plugin-manager.txt
index f3fcf8e..73e79be 100644
--- a/maven-core/plugin-manager.txt
+++ b/maven-core/plugin-manager.txt
@@ -140,7 +140,7 @@ h3. Plugins need a specific metadata model
 Each application will have its own model for plugins. Much of this model will be common across applications but there will always be issues specific to a particular applications\u2019s plugins. Some of the issues that need to be taken into consideration:
 
 * Plugin dependencies
-* Plugin resources like Javascript files or images
+* Plugin resources like JavaScript files or images
 * Configuration metadata and default configuration values
 * Extension points that plugins might expose
 

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java b/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java
index 8e45b20..450d139 100644
--- a/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java
+++ b/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java
@@ -213,7 +213,7 @@ public class MavenArtifactRepository
      * Return the protocol name.
      * <br/>
      * E.g: for input
-     * <code>http://www.codehause.org</code> this method will return <code>http</code>
+     * <code>http://www.codehaus.org</code> this method will return <code>http</code>
      *
      * @param url the url
      * @return the host name

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java b/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
index 7795dec..07331f2 100644
--- a/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
+++ b/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
@@ -37,7 +37,7 @@ import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
  *
  * @author Jason van Zyl
  * @TODO carlos: all these possible has*Exceptions and get*Exceptions methods make the clients too
- *       complex requiring a long list of checks, need to create a parent/interfact/encapsulation
+ *       complex requiring a long list of checks, need to create a parent/interface/encapsulation
  *       for the types of exceptions
  */
 public class ArtifactResolutionResult

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/configuration/DefaultBeanConfigurationRequest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/configuration/DefaultBeanConfigurationRequest.java b/maven-core/src/main/java/org/apache/maven/configuration/DefaultBeanConfigurationRequest.java
index 0fdec4f..5ec69f5 100644
--- a/maven-core/src/main/java/org/apache/maven/configuration/DefaultBeanConfigurationRequest.java
+++ b/maven-core/src/main/java/org/apache/maven/configuration/DefaultBeanConfigurationRequest.java
@@ -137,10 +137,10 @@ public class DefaultBeanConfigurationRequest
                     }
                 }
 
-                PluginManagement mngt = build.getPluginManagement();
-                if ( mngt != null )
+                PluginManagement mgmt = build.getPluginManagement();
+                if ( mgmt != null )
                 {
-                    for ( Plugin plugin : mngt.getPlugins() )
+                    for ( Plugin plugin : mgmt.getPlugins() )
                     {
                         if ( groupId.equals( plugin.getGroupId() ) && artifactId.equals( plugin.getArtifactId() ) )
                         {

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/eventspy/EventSpy.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/eventspy/EventSpy.java b/maven-core/src/main/java/org/apache/maven/eventspy/EventSpy.java
index 4284fce..353d4f6 100644
--- a/maven-core/src/main/java/org/apache/maven/eventspy/EventSpy.java
+++ b/maven-core/src/main/java/org/apache/maven/eventspy/EventSpy.java
@@ -24,7 +24,7 @@ import java.util.Map;
 /**
  * A core extension to monitor Maven's execution. Typically, such an extension gets loaded into Maven by specifying the
  * system property {@code maven.ext.class.path} on the command line. As soon as dependency injection is setup, Maven
- * looks up all implementators of this interface and calls their {@link #init(Context)} method. <em>Note:</em>
+ * looks up all implementers of this interface and calls their {@link #init(Context)} method. <em>Note:</em>
  * Implementors are strongly advised to inherit from {@link AbstractEventSpy} instead of directly implementing this
  * interface.
  * @since 3.0.2

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
index a0c5444..248a3b6 100644
--- a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
+++ b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
@@ -121,8 +121,10 @@ public class DefaultRepositorySystemSessionFactory
         }
 
         int errorPolicy = 0;
-        errorPolicy |= request.isCacheNotFound() ? ResolutionErrorPolicy.CACHE_NOT_FOUND : 0;
-        errorPolicy |= request.isCacheTransferError() ? ResolutionErrorPolicy.CACHE_TRANSFER_ERROR : 0;
+        errorPolicy |= request.isCacheNotFound() ? ResolutionErrorPolicy.CACHE_NOT_FOUND
+            : ResolutionErrorPolicy.CACHE_DISABLED;
+        errorPolicy |= request.isCacheTransferError() ? ResolutionErrorPolicy.CACHE_TRANSFER_ERROR
+            : ResolutionErrorPolicy.CACHE_DISABLED;
         session.setResolutionErrorPolicy(
             new SimpleResolutionErrorPolicy( errorPolicy, errorPolicy | ResolutionErrorPolicy.CACHE_NOT_FOUND ) );
 

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/lifecycle/internal/GoalTask.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/GoalTask.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/GoalTask.java
index 5c43dbd..89e456b 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/GoalTask.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/GoalTask.java
@@ -22,7 +22,7 @@ package org.apache.maven.lifecycle.internal;
 /**
  * A task that is a goal
  * <p/>
- * TODO: From a concurrecy perspective, this class is not good. The combination of mutable/immutable state is not nice
+ * TODO: From a concurrency perspective, this class is not good. The combination of mutable/immutable state is not nice
  *
  * @since 3.0
  * @author Benjamin Bentmann

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/lifecycle/internal/TaskSegment.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/TaskSegment.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/TaskSegment.java
index 14671ff..492bcda 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/TaskSegment.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/TaskSegment.java
@@ -69,5 +69,5 @@ public final class TaskSegment
         return aggregating;
     }
 
-    // TODO: Consider throwing UnsupprtedSomething on hashCode/equals
+    // TODO: Consider throwing UnsupportedSomething on hashCode/equals
 }

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxer.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxer.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxer.java
index 51244be..0a99f75 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxer.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxer.java
@@ -37,7 +37,7 @@ import org.apache.maven.lifecycle.internal.ProjectSegment;
  * @author Kristian Rosenvold
  *         <p/>
  *         NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- *         This class in particular may spontaneusly self-combust and be replaced by a plexus-compliant thread aware
+ *         This class in particular may spontaneously self-combust and be replaced by a plexus-compliant thread aware
  *         logger implementation at any time.
  */
 @SuppressWarnings( { "SynchronizationOnLocalVariableOrMethodParameter" } )
@@ -54,7 +54,7 @@ public class ThreadOutputMuxer
 
     private final ByteArrayOutputStream defaultOutputStreamForUnknownData = new ByteArrayOutputStream();
 
-    private final PrintStream defaultPringStream = new PrintStream( defaultOutputStreamForUnknownData );
+    private final PrintStream defaultPrintStream = new PrintStream( defaultOutputStreamForUnknownData );
 
     private final Set<ProjectSegment> completedBuilds = Collections.synchronizedSet( new HashSet<ProjectSegment>() );
 
@@ -175,7 +175,7 @@ public class ThreadOutputMuxer
         ProjectSegment threadProject = projectBuildThreadLocal.get();
         if ( threadProject == null )
         {
-            return defaultPringStream;
+            return defaultPrintStream;
         }
         if ( ownsRealOutputStream( threadProject ) )
         {

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/plugin/DebugConfigurationListener.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/plugin/DebugConfigurationListener.java b/maven-core/src/main/java/org/apache/maven/plugin/DebugConfigurationListener.java
index 57084ce..0ce3ae2 100644
--- a/maven-core/src/main/java/org/apache/maven/plugin/DebugConfigurationListener.java
+++ b/maven-core/src/main/java/org/apache/maven/plugin/DebugConfigurationListener.java
@@ -57,7 +57,7 @@ public class DebugConfigurationListener
     }
 
     /**
-     * Creates a human-friendly string represenation of the specified object.
+     * Creates a human-friendly string representation of the specified object.
      *
      * @param obj The object to create a string representation for, may be <code>null</code>.
      * @return The string representation, never <code>null</code>.

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/plugin/ExtensionRealmCache.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/plugin/ExtensionRealmCache.java b/maven-core/src/main/java/org/apache/maven/plugin/ExtensionRealmCache.java
index d50df0e..803b4b0 100644
--- a/maven-core/src/main/java/org/apache/maven/plugin/ExtensionRealmCache.java
+++ b/maven-core/src/main/java/org/apache/maven/plugin/ExtensionRealmCache.java
@@ -49,14 +49,14 @@ public interface ExtensionRealmCache
 
         public final ClassRealm realm;
 
-        public final ExtensionDescriptor desciptor;
+        public final ExtensionDescriptor descriptor;
 
         public final List<Artifact> artifacts;
 
         public CacheRecord( ClassRealm realm, ExtensionDescriptor descriptor, List<Artifact> artifacts )
         {
             this.realm = realm;
-            this.desciptor = descriptor;
+            this.descriptor = descriptor;
             this.artifacts = artifacts;
         }
 

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionRequest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionRequest.java b/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionRequest.java
index b22f9e1..d947b2a 100644
--- a/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionRequest.java
+++ b/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionRequest.java
@@ -67,7 +67,7 @@ public interface PluginVersionRequest
     /**
      * Gets the POM whose build plugins are to be scanned for the version.
      *
-     * @return The POM whose build plugins are to be scanned for the verion or {@code null} to only search the plugin
+     * @return The POM whose build plugins are to be scanned for the version or {@code null} to only search the plugin
      *         repositories.
      */
     Model getPom();

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java
index 7004feb..d0e3f6b 100644
--- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java
+++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java
@@ -197,7 +197,7 @@ public class DefaultProjectBuildingHelper
                 pluginManager.setupExtensionsRealm( project, plugin, request.getRepositorySession() );
 
             final ClassRealm extensionRealm = recordRealm.realm;
-            final ExtensionDescriptor extensionDescriptor = recordRealm.desciptor;
+            final ExtensionDescriptor extensionDescriptor = recordRealm.descriptor;
             final List<Artifact> artifacts = recordRealm.artifacts;
 
             extensionRealms.add( extensionRealm );

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingResult.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingResult.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingResult.java
index 7d02810..06e4101 100644
--- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingResult.java
+++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingResult.java
@@ -48,7 +48,7 @@ class DefaultProjectBuildingResult
      * Creates a new result with the specified contents.
      *
      * @param project The project that was built, may be {@code null}.
-     * @param problems The problems that were encouterned, may be {@code null}.
+     * @param problems The problems that were encountered, may be {@code null}.
      * @param dependencyResolutionResult The result of the resolution for the project dependencies, may be {@code null}.
      */
     public DefaultProjectBuildingResult( MavenProject project, List<ModelProblem> problems,
@@ -68,7 +68,7 @@ class DefaultProjectBuildingResult
      *
      * @param projectId The identifier of the project, may be {@code null}.
      * @param pomFile The POM file from which the project was built, may be {@code null}.
-     * @param problems The problems that were encouterned, may be {@code null}.
+     * @param problems The problems that were encountered, may be {@code null}.
      */
     public DefaultProjectBuildingResult( String projectId, File pomFile, List<ModelProblem> problems )
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java
index 50c9e35..2486057 100644
--- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java
+++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java
@@ -153,10 +153,10 @@ public class DefaultProjectDependenciesResolver
             }
         }
 
-        DependencyManagement depMngt = project.getDependencyManagement();
-        if ( depMngt != null )
+        DependencyManagement depMgmt = project.getDependencyManagement();
+        if ( depMgmt != null )
         {
-            for ( Dependency dependency : depMngt.getDependencies() )
+            for ( Dependency dependency : depMgmt.getDependencies() )
             {
                 collect.addManagedDependency( RepositoryUtils.toDependency( dependency, stereotypes ) );
             }

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/project/MavenProjectHelper.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/MavenProjectHelper.java b/maven-core/src/main/java/org/apache/maven/project/MavenProjectHelper.java
index 0b54c00..ec5c390 100644
--- a/maven-core/src/main/java/org/apache/maven/project/MavenProjectHelper.java
+++ b/maven-core/src/main/java/org/apache/maven/project/MavenProjectHelper.java
@@ -41,7 +41,7 @@ public interface MavenProjectHelper
      * * See {@link #attachArtifact(MavenProject, String, String, java.io.File)}, but with classifier set to null.
      * @param project project reference.
      * @param artifactType artifact type.
-     * @param artifactFile arrifact file.
+     * @param artifactFile artifact file.
      */
     void attachArtifact( MavenProject project, String artifactType, File artifactFile );
 

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java b/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
index 0380278..d8ab195 100644
--- a/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
+++ b/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
@@ -38,7 +38,7 @@ public interface ProjectBuildingRequest
 
     List<ArtifactRepository> getRemoteRepositories();
 
-    ProjectBuildingRequest setPluginArtifactRepositories( List<ArtifactRepository> pluginArtifacgRepositories );
+    ProjectBuildingRequest setPluginArtifactRepositories( List<ArtifactRepository> pluginArtifactRepositories );
 
     List<ArtifactRepository> getPluginArtifactRepositories();
 

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java b/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
index 05fba19..9c1e9e3 100644
--- a/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
+++ b/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
@@ -208,8 +208,8 @@ public class MavenMetadataSource
             {
                 dependencies = rel.project.getDependencies();
 
-                DependencyManagement depMngt = rel.project.getDependencyManagement();
-                managedDependencies = ( depMngt != null ) ? depMngt.getDependencies() : null;
+                DependencyManagement depMgmt = rel.project.getDependencyManagement();
+                managedDependencies = ( depMgmt != null ) ? depMgmt.getDependencies() : null;
 
                 pomRepositories = rel.project.getRemoteArtifactRepositories();
             }

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java b/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java
index 1d4a2a3..924523f 100644
--- a/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java
+++ b/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java
@@ -55,8 +55,8 @@ public class ProjectArtifact
 
     public List<Dependency> getManagedDependencies()
     {
-        DependencyManagement depMngt = project.getDependencyManagement();
-        return ( depMngt != null ) ? depMngt.getDependencies() : Collections.<Dependency>emptyList();
+        DependencyManagement depMgmt = project.getDependencyManagement();
+        return ( depMgmt != null ) ? depMgmt.getDependencies() : Collections.<Dependency>emptyList();
     }
 
     static class PomArtifactHandler

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java b/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java
index a652c97..028c4d4 100644
--- a/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java
+++ b/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java
@@ -102,7 +102,7 @@ public interface MetadataResolutionRequest
     boolean isResolveManagedVersions();
 
     /**
-     * Enables/disables resolution of the dependency manageemnt information.
+     * Enables/disables resolution of the dependency management information.
      *
      * @param resolveManagedVersions {@code true} if the dependency management information should be retrieved, {@code
      *            false} otherwise.

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/main/mdo/toolchains.mdo
----------------------------------------------------------------------
diff --git a/maven-core/src/main/mdo/toolchains.mdo b/maven-core/src/main/mdo/toolchains.mdo
index 4740d1b..9a8b0c4 100644
--- a/maven-core/src/main/mdo/toolchains.mdo
+++ b/maven-core/src/main/mdo/toolchains.mdo
@@ -168,7 +168,7 @@
                     <description>
                     <![CDATA[
                     <p>Toolchain configuration information, like location or any information that is to be retrieved.</p>
-                    <p>Actual content structure is completely open: each toochain type will define its own format and semantics.</p>
+                    <p>Actual content structure is completely open: each toolchain type will define its own format and semantics.</p>
                     <p>In general, this is a properties format: <code>&lt;name&gt;value&lt;/name&gt;</code> with
                     per-toolchain defined properties names.</p>
                     ]]></description>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/site/apt/configuration-management.apt
----------------------------------------------------------------------
diff --git a/maven-core/src/site/apt/configuration-management.apt b/maven-core/src/site/apt/configuration-management.apt
index 4af0f0b..695ea99 100644
--- a/maven-core/src/site/apt/configuration-management.apt
+++ b/maven-core/src/site/apt/configuration-management.apt
@@ -66,7 +66,7 @@ ${maven.home}
  We once had a document that Vincent and I agreed upon and I was about to
  implement it and then I disappeared for 8 months so it never came to pass.
 
- So I guess it's important to figure out what people are using propeties
+ So I guess it's important to figure out what people are using properties
  files for and see if we can't incorporate it all into the POM. Or if we do
  have properties file (something I would like to avoid) say they don't
  contribute in any meaningful way to information in the POM. For example a
@@ -110,9 +110,9 @@ Unified source directory
  itself. This way locations of intermediary artifacts of a build would be
  in a known location. This would also help with developer setup i.e. getting
  new developers up and running. They could run a maven command and have all
- their source trees set up in the same way as their collegues.
+ their source trees set up in the same way as their colleagues.
 
- here's what I do currently in the netbeans part of the mevenide project to
+ here's what I do currently in the netbeans part of the mavenide project to
  find the relevant subprojects/sibling projects. I check if the user has
  defined the maven.multiproject.includes property in any of his properties
  files for the current project. if yes. then I'm able to find projects that
@@ -120,7 +120,7 @@ Unified source directory
  problems with the current solution are:
  1. information is duplicate. once in POM's dependencies and once in the
  maven.multiproject.includes property.
- 2. it works without problems only for projects with relative paths, eg. from
+ 2. it works without problems only for projects with relative paths, e.g., from
  one CVS repository.. for projects from multiple SCM repositories it's harder
  to maintain the same relative links on all developer computers.
  not sure the unified source directory structure addresses this issue.

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/site/apt/offline-mode.apt
----------------------------------------------------------------------
diff --git a/maven-core/src/site/apt/offline-mode.apt b/maven-core/src/site/apt/offline-mode.apt
index faec70f..ff91bb5 100644
--- a/maven-core/src/site/apt/offline-mode.apt
+++ b/maven-core/src/site/apt/offline-mode.apt
@@ -167,7 +167,7 @@ Offline Mode Design
   This is wholly dependent on Maven-Wagon, above.
 
   We could possibly use a flag on a particular Wagon to see whether it supports
-  offline mode, and then test to see if the file-based basedir for an aritfact
+  offline mode, and then test to see if the file-based basedir for an artifact
   repository works...if it doesn't work, we can mark that repository offline...
 
   OTOH, all offline-mode checks can probably be run from Wagon-based APIs.
@@ -201,7 +201,7 @@ Offline Mode Design
   The majority of mojos will leave the requiresOnline == false,
   since online/offline status will be irrelevant, provided they have
   access to their required artifacts and other classpath elements. In the case
-  of required artifacts and other classpath elemtents, this is assumed by the
+  of required artifacts and other classpath elements, this is assumed by the
   mojo API to be in a correct state, and will be handled by the Wagon
   modifications.
 

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/site/apt/plugin-execution-isolation.apt
----------------------------------------------------------------------
diff --git a/maven-core/src/site/apt/plugin-execution-isolation.apt b/maven-core/src/site/apt/plugin-execution-isolation.apt
index 983a9fd..b298312 100644
--- a/maven-core/src/site/apt/plugin-execution-isolation.apt
+++ b/maven-core/src/site/apt/plugin-execution-isolation.apt
@@ -40,9 +40,9 @@ Maven plugin execution isolation
 
  The <<<plexus.core>>> realm contains the resources required to run any
  plexus application; The <<<plexus.core.maven>>> realm contains all of the
- resources required to run Maven. Each subseqent plugin realm contains the
+ resources required to run Maven. Each subsequent plugin realm contains the
  JAR plugin as well as its dependencies. The realms noted above are setup
- in a hierachical structure where the resources in the parent realms are
+ in a hierarchical structure where the resources in the parent realms are
  available but the <<realm is searched first before a search is made in
  the parent realm>>.
 

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java b/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java
index e2caaeb..6ce201d 100644
--- a/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java
+++ b/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java
@@ -57,7 +57,7 @@ public class DefaultProjectDependencyGraphTest
     public void testVerifyExpectedParentStructure()
         throws CycleDetectedException, DuplicateProjectException
     {
-        // This test verifies the baseline structure used in susequent tests. If this fails, the rest will fail.
+        // This test verifies the baseline structure used in subsequent tests. If this fails, the rest will fail.
         ProjectDependencyGraph graph = threeProjectsDependingOnASingle();
         final List<MavenProject> sortedProjects = graph.getSortedProjects();
         assertEquals( aProject, sortedProjects.get( 0 ) );
@@ -66,7 +66,7 @@ public class DefaultProjectDependencyGraphTest
         assertEquals( depender3, sortedProjects.get( 3 ) );
     }
 
-    public void testVerifyThatDownsteamProjectsComeInSortedOrder()
+    public void testVerifyThatDownstreamProjectsComeInSortedOrder()
         throws CycleDetectedException, DuplicateProjectException
     {
         final List<MavenProject> downstreamProjects =
@@ -102,7 +102,7 @@ public class DefaultProjectDependencyGraphTest
         assertEquals( depender2, downstreamProjects.get( 3 ) );
     }
 
-    public void testWithTranistiveOnly()
+    public void testWithTransitiveOnly()
         throws CycleDetectedException, DuplicateProjectException
     {
         final ProjectDependencyGraph graph = new DefaultProjectDependencyGraph(
@@ -115,7 +115,7 @@ public class DefaultProjectDependencyGraphTest
         assertEquals( depender2, downstreamProjects.get( 3 ) );
     }
 
-    public void testWithMissingTranistiveOnly()
+    public void testWithMissingTransitiveOnly()
         throws CycleDetectedException, DuplicateProjectException
     {
         final ProjectDependencyGraph graph = new DefaultProjectDependencyGraph(

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java
index 01ebeac..df585fb 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java
@@ -83,7 +83,7 @@ public class LifecycleExecutorSubModulesTest
         return "src/test/projects/lifecycle-executor";
     }
 
-    public void testCrweation()
+    public void testCreation()
         throws Exception
     {
         assertNotNull( defaultLifeCycles );

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/AboutTheStubs.html
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/AboutTheStubs.html b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/AboutTheStubs.html
index 8ad74b9..621318d 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/AboutTheStubs.html
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/AboutTheStubs.html
@@ -25,7 +25,7 @@ under the License.
 </head>
 <body>
 <h2>Design</h2>
-These stubs can be thought of as hand-coded mock obects. They allow unit tests to test only specific
+These stubs can be thought of as hand-coded mock objects. They allow unit tests to test only specific
 aspects of a component while ignoring others.
 
 These stubs form an internally consistent data-set that is not expected to change. They are

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStub.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStub.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStub.java
index 92c3adb..b913caf 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStub.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStub.java
@@ -171,7 +171,7 @@ public class ProjectDependencyGraphStub
 
     public List<MavenProject> getSortedProjects()
     {
-        return Arrays.asList( A, B, C, X, Y, Z ); // I'm not entirely sure about the order but this shold do...
+        return Arrays.asList( A, B, C, X, Y, Z ); // I'm not entirely sure about the order but this should do...
     }
 
     public List<MavenProject> getDownstreamProjects( MavenProject project, boolean transitive )

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java b/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
index 025e772..f976601 100644
--- a/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
+++ b/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
@@ -119,7 +119,7 @@ public class PluginManagerTest
 
         This will not work until the RR plugin is released to get rid of the binding to the reporting exception which is a mistake.
 
-        This happpens after removing the reporting API from the core:
+        This happens after removing the reporting API from the core:
 
         java.lang.NoClassDefFoundError: org/apache/maven/reporting/MavenReportException
 

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/java/org/apache/maven/plugin/internal/DefaultLegacySupportTest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/plugin/internal/DefaultLegacySupportTest.java b/maven-core/src/test/java/org/apache/maven/plugin/internal/DefaultLegacySupportTest.java
index d350770..25aa176 100644
--- a/maven-core/src/test/java/org/apache/maven/plugin/internal/DefaultLegacySupportTest.java
+++ b/maven-core/src/test/java/org/apache/maven/plugin/internal/DefaultLegacySupportTest.java
@@ -59,7 +59,7 @@ public class DefaultLegacySupportTest extends TestCase {
             {
                 latch.await();
             }
-            catch (InterruptedException ingore)
+            catch (InterruptedException ignore)
             {
                 // Test may fail if we get interrupted
             }

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java b/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
index d61fc6e..84fb784 100644
--- a/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
@@ -86,7 +86,7 @@ public class DefaultMavenProjectBuilderTest
     }
 
     /**
-     * Check that we can build ok from the middle pom of a (parent,child,grandchild) heirarchy
+     * Check that we can build ok from the middle pom of a (parent,child,grandchild) hierarchy
      * @throws Exception
      */
     public void testBuildFromMiddlePom() throws Exception

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/java/org/apache/maven/project/EmptyProjectBuildingHelper.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/project/EmptyProjectBuildingHelper.java b/maven-core/src/test/java/org/apache/maven/project/EmptyProjectBuildingHelper.java
index fb5c4c0..c843ca7 100644
--- a/maven-core/src/test/java/org/apache/maven/project/EmptyProjectBuildingHelper.java
+++ b/maven-core/src/test/java/org/apache/maven/project/EmptyProjectBuildingHelper.java
@@ -49,7 +49,7 @@ public class EmptyProjectBuildingHelper
         }
     }
 
-    public ProjectRealmCache.CacheRecord createProjectRealm( MavenProject proejct,
+    public ProjectRealmCache.CacheRecord createProjectRealm( MavenProject project,
                                                              Model model, ProjectBuildingRequest request )
     {
         return new ProjectRealmCache.CacheRecord( null, null );


[10/46] maven git commit: [MNG-5981] upgrade Sisu to 0.3.3 to pick up lifecycle fix

Posted by sc...@apache.org.
[MNG-5981] upgrade Sisu to 0.3.3 to pick up lifecycle fix

This closes #78


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/bd57ec96
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/bd57ec96
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/bd57ec96

Branch: refs/heads/MNG-5984
Commit: bd57ec9666531fa2e32b8fd1aa68b85ac86f7790
Parents: 9b763cc
Author: Stuart McCulloch <mc...@gmail.com>
Authored: Wed Feb 17 23:55:18 2016 +0000
Committer: Christian Schulte <sc...@apache.org>
Committed: Wed Feb 1 21:16:16 2017 +0100

----------------------------------------------------------------------
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/bd57ec96/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 36bdf5b..75bdb87 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,7 +59,7 @@ under the License.
     <!-- Latest version of Guava that works with Sisu -->
     <guavaVersion>18.0</guavaVersion>
     <guiceVersion>4.0</guiceVersion>
-    <sisuInjectVersion>0.3.2</sisuInjectVersion>
+    <sisuInjectVersion>0.3.3</sisuInjectVersion>
     <wagonVersion>2.12</wagonVersion>
     <securityDispatcherVersion>1.3</securityDispatcherVersion>
     <cipherVersion>1.7</cipherVersion>


[25/46] maven git commit: [MNG-6150] Javadoc improvements for 3.5.0

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
index 77206bd..cc35a57 100644
--- a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
+++ b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
@@ -221,7 +221,7 @@ public class MavenProject
         this.artifact = artifact;
     }
 
-    // @todo I would like to get rid of this. jvz.
+    // TODO I would like to get rid of this. jvz.
     public Model getModel()
     {
         return model;
@@ -352,7 +352,7 @@ public class MavenProject
         {
             if ( a.getArtifactHandler().isAddedToClasspath() )
             {
-                // TODO: let the scope handler deal with this
+                // TODO let the scope handler deal with this
                 if ( Artifact.SCOPE_COMPILE.equals( a.getScope() ) || Artifact.SCOPE_PROVIDED.equals( a.getScope() )
                     || Artifact.SCOPE_SYSTEM.equals( a.getScope() ) )
                 {
@@ -364,7 +364,7 @@ public class MavenProject
         return list;
     }
 
-    // TODO: this checking for file == null happens because the resolver has been confused about the root
+    // TODO this checking for file == null happens because the resolver has been confused about the root
     // artifact or not. things like the stupid dummy artifact coming from surefire.
     public List<String> getTestClasspathElements()
         throws DependencyResolutionRequiredException
@@ -408,7 +408,7 @@ public class MavenProject
         for ( Artifact a : getArtifacts() )
         {
             if ( a.getArtifactHandler().isAddedToClasspath()
-            // TODO: let the scope handler deal with this
+            // TODO let the scope handler deal with this
                 && ( Artifact.SCOPE_COMPILE.equals( a.getScope() ) || Artifact.SCOPE_RUNTIME.equals( a.getScope() ) ) )
             {
                 addArtifactPath( a, list );
@@ -470,7 +470,7 @@ public class MavenProject
 
     public String getName()
     {
-        // TODO: this should not be allowed to be null.
+        // TODO this should not be allowed to be null.
         if ( getModel().getName() != null )
         {
             return getModel().getName();
@@ -1575,10 +1575,10 @@ public class MavenProject
 
         for ( Artifact a : getArtifacts() )
         {
-            // TODO: classpath check doesn't belong here - that's the other method
+            // TODO classpath check doesn't belong here - that's the other method
             if ( a.getArtifactHandler().isAddedToClasspath() )
             {
-                // TODO: let the scope handler deal with this
+                // TODO let the scope handler deal with this
                 if ( Artifact.SCOPE_COMPILE.equals( a.getScope() ) || Artifact.SCOPE_PROVIDED.equals( a.getScope() )
                     || Artifact.SCOPE_SYSTEM.equals( a.getScope() ) )
                 {
@@ -1603,7 +1603,7 @@ public class MavenProject
 
         for ( Artifact a : getArtifacts() )
         {
-            // TODO: let the scope handler deal with this
+            // TODO let the scope handler deal with this
             if ( Artifact.SCOPE_COMPILE.equals( a.getScope() ) || Artifact.SCOPE_PROVIDED.equals( a.getScope() )
                 || Artifact.SCOPE_SYSTEM.equals( a.getScope() ) )
             {
@@ -1629,7 +1629,7 @@ public class MavenProject
 
         for ( Artifact a : getArtifacts() )
         {
-            // TODO: classpath check doesn't belong here - that's the other method
+            // TODO classpath check doesn't belong here - that's the other method
             if ( a.getArtifactHandler().isAddedToClasspath() )
             {
                 list.add( a );
@@ -1680,7 +1680,7 @@ public class MavenProject
 
         for ( Artifact a : getArtifacts()  )
         {
-            // TODO: let the scope handler deal with this
+            // TODO let the scope handler deal with this
             if ( Artifact.SCOPE_COMPILE.equals( a.getScope() ) || Artifact.SCOPE_RUNTIME.equals( a.getScope() ) )
             {
                 Dependency dependency = new Dependency();
@@ -1705,9 +1705,9 @@ public class MavenProject
 
         for ( Artifact a : getArtifacts()  )
         {
-            // TODO: classpath check doesn't belong here - that's the other method
+            // TODO classpath check doesn't belong here - that's the other method
             if ( a.getArtifactHandler().isAddedToClasspath()
-            // TODO: let the scope handler deal with this
+            // TODO let the scope handler deal with this
                 && ( Artifact.SCOPE_COMPILE.equals( a.getScope() ) || Artifact.SCOPE_RUNTIME.equals( a.getScope() ) ) )
             {
                 list.add( a );
@@ -1732,7 +1732,7 @@ public class MavenProject
         {
             if ( a.getArtifactHandler().isAddedToClasspath() )
             {
-                // TODO: let the scope handler deal with this
+                // TODO let the scope handler deal with this
                 if ( Artifact.SCOPE_SYSTEM.equals( a.getScope() ) )
                 {
                     addArtifactPath( a, list );
@@ -1749,10 +1749,10 @@ public class MavenProject
 
         for ( Artifact a : getArtifacts() )
         {
-            // TODO: classpath check doesn't belong here - that's the other method
+            // TODO classpath check doesn't belong here - that's the other method
             if ( a.getArtifactHandler().isAddedToClasspath() )
             {
-                // TODO: let the scope handler deal with this
+                // TODO let the scope handler deal with this
                 if ( Artifact.SCOPE_SYSTEM.equals( a.getScope() ) )
                 {
                     list.add( a );
@@ -1776,7 +1776,7 @@ public class MavenProject
 
         for ( Artifact a : getArtifacts() )
         {
-            // TODO: let the scope handler deal with this
+            // TODO let the scope handler deal with this
             if ( Artifact.SCOPE_SYSTEM.equals( a.getScope() ) )
             {
                 Dependency dependency = new Dependency();

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/project/ProjectSorter.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectSorter.java b/maven-core/src/main/java/org/apache/maven/project/ProjectSorter.java
index 504097f..1ca35d8 100644
--- a/maven-core/src/main/java/org/apache/maven/project/ProjectSorter.java
+++ b/maven-core/src/main/java/org/apache/maven/project/ProjectSorter.java
@@ -233,7 +233,7 @@ public class ProjectSorter
         return !( StringUtils.isEmpty( version ) || version.startsWith( "[" ) || version.startsWith( "(" ) );
     }
 
-    // TODO: !![jc; 28-jul-2005] check this; if we're using '-r' and there are aggregator tasks, this will result in weirdness.
+    // TODO !![jc; 28-jul-2005] check this; if we're using '-r' and there are aggregator tasks, this will result in weirdness.
     public MavenProject getTopLevelProject()
     {
         if ( topLevelProject == null )

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/project/artifact/ActiveProjectArtifact.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/artifact/ActiveProjectArtifact.java b/maven-core/src/main/java/org/apache/maven/project/artifact/ActiveProjectArtifact.java
index 6e13d33..a1187c3 100644
--- a/maven-core/src/main/java/org/apache/maven/project/artifact/ActiveProjectArtifact.java
+++ b/maven-core/src/main/java/org/apache/maven/project/artifact/ActiveProjectArtifact.java
@@ -38,7 +38,7 @@ import java.util.List;
  * attributes of this artifact.
  *
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @todo I think this exposes a design flaw in that the immutable and mutable parts of an artifact are in one class and
+ * TODO I think this exposes a design flaw in that the immutable and mutable parts of an artifact are in one class and
  * should be split. ie scope, file, etc depend on the context of use, whereas everything else is immutable.
  */
 @Deprecated

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java b/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
index 9c1e9e3..42bbe45 100644
--- a/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
+++ b/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
@@ -93,7 +93,7 @@ public class MavenMetadataSource
     @Requirement
     private ArtifactFactory repositorySystem;
 
-    //TODO: This prevents a cycle in the composition which shows us another problem we need to deal with.
+    //TODO This prevents a cycle in the composition which shows us another problem we need to deal with.
     //@Requirement
     private ProjectBuilder projectBuilder;
 
@@ -175,7 +175,7 @@ public class MavenMetadataSource
 
         Artifact relocatedArtifact = null;
 
-        //TODO: Not even sure this is really required as the project will be cached in the builder, we'll see this
+        //TODO Not even sure this is really required as the project will be cached in the builder, we'll see this
         // is currently the biggest hotspot
         if ( artifact instanceof ArtifactWithDependencies )
         {
@@ -658,7 +658,7 @@ public class MavenMetadataSource
 
                         // MNG-2861: the artifact data has changed. If the available versions where previously
                         // retrieved, we need to update it.
-                        // TODO: shouldn't the versions be merged across relocations?
+                        // TODO shouldn't the versions be merged across relocations?
                         List<ArtifactVersion> available = artifact.getAvailableVersions();
                         if ( available != null && !available.isEmpty() )
                         {

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/properties/internal/SystemProperties.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/properties/internal/SystemProperties.java b/maven-core/src/main/java/org/apache/maven/properties/internal/SystemProperties.java
index 3d6a969..c7ab086 100644
--- a/maven-core/src/main/java/org/apache/maven/properties/internal/SystemProperties.java
+++ b/maven-core/src/main/java/org/apache/maven/properties/internal/SystemProperties.java
@@ -28,8 +28,6 @@ public class SystemProperties
 {
     /**
      * Thread-safe System.properties copy implementation.
-     *
-     * @see https://issues.apache.org/jira/browse/MNG-5670
      */
     public static void addSystemProperties( Properties props )
     {
@@ -38,8 +36,8 @@ public class SystemProperties
 
     /**
      * Returns a copy of {@link System#getProperties()} in a thread-safe manner.
-     * 
-     * @return {@link System#getProperties()} obtained in a thread-safe manner. 
+     *
+     * @return {@link System#getProperties()} obtained in a thread-safe manner.
      */
     public static Properties getSystemProperties()
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java b/maven-core/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
index 207b9aa..d3ffd92 100644
--- a/maven-core/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
+++ b/maven-core/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
@@ -127,7 +127,7 @@ public class DefaultMavenSettingsBuilder
 
         if ( StringUtils.isEmpty( path ) )
         {
-            // TODO: This replacing shouldn't be necessary as user.home should be in the
+            // TODO This replacing shouldn't be necessary as user.home should be in the
             // context of the container and thus the value would be interpolated by Plexus
             String basedir = System.getProperty( basedirSysProp );
             if ( basedir == null )

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java b/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java
index 9f7a26b..0bdee11 100644
--- a/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java
+++ b/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java
@@ -124,7 +124,7 @@ public class DefaultToolchainManager
 
             if ( current != null )
             {
-                //TODO: why is this using the context
+                //TODO why is this using the context
                 context = session.getPluginContext( desc, current );
             }
         }

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainManager.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainManager.java b/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainManager.java
index 8eddac5..134c24d 100644
--- a/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainManager.java
+++ b/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainManager.java
@@ -44,16 +44,16 @@ public interface ToolchainManager
      * <code>maven-toolchains-plugin</code> contains the configuration to select the appropriate
      * toolchain and is executed at the beginning of the build.
      *
-     * @param session the Maven session, must not be {@code null}
      * @param type the type, must not be {@code null}
+     * @param context the Maven session, must not be {@code null}
      * @return the toolchain selected by <code>maven-toolchains-plugin</code>
      */
     Toolchain getToolchainFromBuildContext( String type, MavenSession context );
-    
+
     /**
      * Select all toolchains available in user settings matching the type and requirements,
      * independently from <code>maven-toolchains-plugin</code>.
-     * 
+     *
      * @param session the Maven session, must not be {@code null}
      * @param type the type, must not be {@code null}
      * @param requirements the requirements, may be {@code null}

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ProjectBuildListTest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ProjectBuildListTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ProjectBuildListTest.java
index 047ef9f..fd1baf7 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ProjectBuildListTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ProjectBuildListTest.java
@@ -36,7 +36,7 @@ public class ProjectBuildListTest
 
         final ProjectBuildList byTaskSegment = projectBuildList.getByTaskSegment( taskSegment );
         assertEquals( projectBuildList.size(),
-                      byTaskSegment.size() ); // Todo: Make multiple segments on projectBuildList
+                      byTaskSegment.size() ); // TODO Make multiple segments on projectBuildList
     }
 
 }

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java b/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
index f976601..ad9a192 100644
--- a/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
+++ b/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
@@ -103,7 +103,7 @@ public class PluginManagerTest
     // Tests which exercise the lifecycle executor when it is dealing with individual goals.
     // -----------------------------------------------------------------------------------------------
 
-    //TODO: These two tests display a lack of symmetry with respect to the input which is a free form string and the
+    //TODO These two tests display a lack of symmetry with respect to the input which is a free form string and the
     //      mojo descriptor which comes back. All the free form parsing needs to be done somewhere else, this is
     //      really the function of the CLI, and then the pre-processing of that output still needs to be fed into
     //      a hinting process which helps flesh out the full specification of the plugin. The plugin manager should
@@ -113,7 +113,7 @@ public class PluginManagerTest
     public void testRemoteResourcesPlugin()
         throws Exception
     {
-        //TODO: turn an equivalent back on when the RR plugin is released.
+        //TODO turn an equivalent back on when the RR plugin is released.
 
         /*
 
@@ -138,7 +138,7 @@ public class PluginManagerTest
         */
     }
 
-    //TODO: this will be the basis of the customizable lifecycle execution so need to figure this out quickly.
+    //TODO this will be the basis of the customizable lifecycle execution so need to figure this out quickly.
     public void testSurefirePlugin()
         throws Exception
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java b/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
index 9c770da..5486e96 100644
--- a/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
@@ -90,7 +90,7 @@ public class MavenMetadataSourceTest
         */
     }
 
-    //TODO: restore these if it makes sense
+    //TODO restore these if it makes sense
     /*
     public void testShouldUseCompileScopeIfDependencyScopeEmpty()
         throws Exception

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-embedder/src/main/java/org/apache/maven/cli/CleanArgument.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/CleanArgument.java b/maven-embedder/src/main/java/org/apache/maven/cli/CleanArgument.java
index 192ed3b..03ef00c 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/CleanArgument.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/CleanArgument.java
@@ -64,7 +64,7 @@ public class CleanArgument
                     // otherwise, we trim the trailing " and append to the buffer.
                     else
                     {
-                        // TODO: introducing a space here...not sure what else to do but collapse whitespace
+                        // TODO introducing a space here...not sure what else to do but collapse whitespace
                         currentArg.append( ' ' ).append( cleanArgPart );
                     }
 

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
index 1cdbd23..4e10b05 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
@@ -115,7 +115,7 @@ import java.util.StringTokenizer;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-// TODO: push all common bits back to plexus cli and prepare for transition to Guice. We don't need 50 ways to make CLIs
+// TODO push all common bits back to plexus cli and prepare for transition to Guice. We don't need 50 ways to make CLIs
 
 /**
  * @author Jason van Zyl
@@ -211,7 +211,7 @@ public class MavenCli
         return result;
     }
 
-    // TODO: need to externalize CliRequest
+    // TODO need to externalize CliRequest
     public static int doMain( String[] args, ClassWorld classWorld )
     {
         MavenCli cli = new MavenCli();
@@ -283,7 +283,7 @@ public class MavenCli
         }
     }
 
-    // TODO: need to externalize CliRequest
+    // TODO need to externalize CliRequest
     public int doMain( CliRequest cliRequest )
     {
         PlexusContainer localContainer = null;
@@ -1510,7 +1510,7 @@ public class MavenCli
         final String threadConfiguration = commandLine.hasOption( CLIManager.THREADS )
             ? commandLine.getOptionValue( CLIManager.THREADS )
             : request.getSystemProperties().getProperty(
-                MavenCli.THREADS_DEPRECATED ); // TODO: Remove this setting. Note that the int-tests use it
+                MavenCli.THREADS_DEPRECATED ); // TODO Remove this setting. Note that the int-tests use it
 
         if ( threadConfiguration != null )
         {

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
index 189651b..4ebb033 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
@@ -888,7 +888,7 @@ public class DefaultModelBuilder
         }
 
         //
-        // TODO:jvz Why isn't all this checking the job of the duty of the workspace resolver, we know that we
+        // TODO jvz Why isn't all this checking the job of the duty of the workspace resolver, we know that we
         // have a model that is suitable, yet more checks are done here and the one for the version is problematic
         // before because with parents as ranges it will never work in this scenario.
         //

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuilder.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuilder.java
index 2a49a21..e42469a 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuilder.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuilder.java
@@ -57,10 +57,6 @@ public interface ModelBuilder
 
     /**
      * Performs only the part of {@link ModelBuilder#build(ModelBuildingRequest)} that loads the raw model
-     *
-     * @param request
-     * @return
-     * @throws ModelBuildingException
      */
     Result<? extends Model> buildRawModel( File pomFile, int validationLevel, boolean locationTracking );
 

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
index d20f244..bc6e71b 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
@@ -66,7 +66,7 @@ public interface ModelBuildingRequest
 
     /**
      * Gets the raw model to build. If not set, model source will be used to load raw model.
-     * 
+     *
      * @return The raw model to build or {@code null} if not set.
      */
     Model getRawModel();
@@ -74,7 +74,7 @@ public interface ModelBuildingRequest
     /**
      * Set raw model.
      *
-     * @param model
+     * @param rawModel
      */
     ModelBuildingRequest setRawModel( Model rawModel );
 

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-model-builder/src/main/java/org/apache/maven/model/building/Result.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/Result.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/Result.java
index 2828874..c9d5f68 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/Result.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/Result.java
@@ -46,7 +46,7 @@ import com.google.common.collect.Iterables;
  * <li>error - (partial) model and diagnostics
  * </ol>
  * Could encode these variants as subclasses, but kept in one for now
- * 
+ *
  * @author bbusjaeger
  * @param <T>
  */
@@ -55,9 +55,8 @@ public class Result<T>
 
     /**
      * Success without warnings
-     * 
+     *
      * @param model
-     * @return
      */
     public static <T> Result<T> success( T model )
     {
@@ -66,10 +65,9 @@ public class Result<T>
 
     /**
      * Success with warnings
-     * 
+     *
      * @param model
      * @param problems
-     * @return
      */
     public static <T> Result<T> success( T model, Iterable<? extends ModelProblem> problems )
     {
@@ -79,10 +77,9 @@ public class Result<T>
 
     /**
      * Success with warnings
-     * 
+     *
      * @param model
      * @param results
-     * @return
      */
     public static <T> Result<T> success( T model, Result<?>... results )
     {
@@ -93,7 +90,6 @@ public class Result<T>
      * Error with problems describing the cause
      *
      * @param problems
-     * @return
      */
     public static <T> Result<T> error( Iterable<? extends ModelProblem> problems )
     {
@@ -120,7 +116,6 @@ public class Result<T>
      *
      * @param model
      * @param problems
-     * @return
      */
     public static <T> Result<T> error( T model, Iterable<? extends ModelProblem> problems )
     {
@@ -129,10 +124,9 @@ public class Result<T>
 
     /**
      * New result - determine whether error or success by checking problems for errors
-     * 
+     *
      * @param model
      * @param problems
-     * @return
      */
     public static <T> Result<T> newResult( T model, Iterable<? extends ModelProblem> problems )
     {
@@ -142,10 +136,9 @@ public class Result<T>
     /**
      * New result consisting of given result and new problem. Convenience for newResult(result.get(),
      * concat(result.getProblems(),problems)).
-     * 
+     *
      * @param result
      * @param problem
-     * @return
      */
     public static <T> Result<T> addProblem( Result<T> result, ModelProblem problem )
     {
@@ -157,7 +150,6 @@ public class Result<T>
      *
      * @param result
      * @param problems
-     * @return
      */
     public static <T> Result<T> addProblems( Result<T> result, Iterable<? extends ModelProblem> problems )
     {
@@ -172,9 +164,8 @@ public class Result<T>
 
     /**
      * Turns the given results into a single result by combining problems and models into single collection.
-     * 
+     *
      * @param results
-     * @return
      */
     public static <T> Result<Iterable<T>> newResultSet( Iterable<? extends Result<? extends T>> results )
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringSearchModelInterpolator.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringSearchModelInterpolator.java b/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringSearchModelInterpolator.java
index a790580..ba077b2 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringSearchModelInterpolator.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringSearchModelInterpolator.java
@@ -306,7 +306,7 @@ public class StringSearchModelInterpolator
                             new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ).setMessage(
                                 "Failed to interpolate field3: " + field + " on class: "
                                     + field.getType().getName() ).setException(
-                                e ) ); // todo: Not entirely the same message
+                                e ) ); // TODO Not entirely the same message
                     }
                     catch ( IllegalAccessException e )
                     {

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java b/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java
index 0007af5..e96425d 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java
@@ -109,7 +109,7 @@ public class MavenModelMerger
     }
 
     /*
-     * TODO: Whether the merge continues recursively into an existing node or not could be an option for the generated
+     * TODO Whether the merge continues recursively into an existing node or not could be an option for the generated
      * merger
      */
     @Override
@@ -266,7 +266,7 @@ public class MavenModelMerger
     }
 
     /*
-     * TODO: The order of the merged list could be controlled by an attribute in the model association: target-first,
+     * TODO The order of the merged list could be controlled by an attribute in the model association: target-first,
      * source-first, dominant-first, recessive-first
      */
     @Override
@@ -352,7 +352,7 @@ public class MavenModelMerger
     }
 
     /*
-     * TODO: Whether duplicates should be removed looks like an option for the generated merger.
+     * TODO Whether duplicates should be removed looks like an option for the generated merger.
      */
     @Override
     protected void mergeBuildBase_Filters( BuildBase target, BuildBase source, boolean sourceDominant,

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java b/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
index 9af30c1..59b0532 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
@@ -532,7 +532,7 @@ public class DefaultModelValidator
                                      d.getManagementKey(), d );
 
                     /*
-                     * TODO: Extensions like Flex Mojos use custom scopes like "merged", "internal", "external", etc. In
+                     * TODO Extensions like Flex Mojos use custom scopes like "merged", "internal", "external", etc. In
                      * order to don't break backward-compat with those, only warn but don't error out.
                      */
                     validateEnum( prefix + "scope", problems, Severity.WARNING, Version.V20, d.getScope(),

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-plugin-api/src/main/java/org/apache/maven/plugin/Mojo.java
----------------------------------------------------------------------
diff --git a/maven-plugin-api/src/main/java/org/apache/maven/plugin/Mojo.java b/maven-plugin-api/src/main/java/org/apache/maven/plugin/Mojo.java
index 76a2aad..73e46fc 100644
--- a/maven-plugin-api/src/main/java/org/apache/maven/plugin/Mojo.java
+++ b/maven-plugin-api/src/main/java/org/apache/maven/plugin/Mojo.java
@@ -58,7 +58,7 @@ public interface Mojo
      *
      * @param log a new logger
      */
-    // TODO: not sure about this here, and may want a getLog on here as well/instead
+    // TODO not sure about this here, and may want a getLog on here as well/instead
     void setLog( Log log );
 
     /**

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/MojoDescriptor.java
----------------------------------------------------------------------
diff --git a/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/MojoDescriptor.java b/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/MojoDescriptor.java
index 3f7eccc..e89abed 100644
--- a/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/MojoDescriptor.java
+++ b/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/MojoDescriptor.java
@@ -36,7 +36,7 @@ import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
  * <a href="https://maven.apache.org/developers/mojo-api-specification.html">
  * https://maven.apache.org/developers/mojo-api-specification.html</a>
  *
- * @todo is there a need for the delegation of MavenMojoDescriptor to this?
+ * TODO is there a need for the delegation of MavenMojoDescriptor to this?
  * Why not just extend ComponentDescriptor here?
  */
 public class MojoDescriptor
@@ -269,7 +269,7 @@ public class MojoDescriptor
 
     /**
      * @return the required dependencies in a specified scope
-     * @TODO the name is not intelligible
+     * TODO the name is not intelligible
      */
     @Deprecated
     public String isDependencyResolutionRequired()

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java
----------------------------------------------------------------------
diff --git a/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java b/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java
index f65f824..e05d86a 100644
--- a/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java
+++ b/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java
@@ -176,7 +176,7 @@ public class PluginDescriptor
     /**
      * Parse maven-...-plugin.
      *
-     * @todo move to plugin-tools-api as a default only
+     * TODO move to plugin-tools-api as a default only
      */
     public static String getGoalPrefixFromArtifactId( String artifactId )
     {
@@ -287,7 +287,7 @@ public class PluginDescriptor
             return null; // no mojo in this POM
         }
 
-        // TODO: could we use a map? Maybe if the parent did that for components too, as this is too vulnerable to
+        // TODO could we use a map? Maybe if the parent did that for components too, as this is too vulnerable to
         // changes above not being propagated to the map
         for ( MojoDescriptor desc : getMojos() )
         {

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java
----------------------------------------------------------------------
diff --git a/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java b/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java
index 9508c51..865e66b 100644
--- a/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java
+++ b/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java
@@ -313,7 +313,7 @@ public class PluginDescriptorBuilder
 
         mojo.setParameters( parameters );
 
-        // TODO: this should not need to be handed off...
+        // TODO this should not need to be handed off...
 
         // ----------------------------------------------------------------------
         // Requirements

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/maven-plugin-api/src/main/java/org/apache/maven/plugin/logging/SystemStreamLog.java
----------------------------------------------------------------------
diff --git a/maven-plugin-api/src/main/java/org/apache/maven/plugin/logging/SystemStreamLog.java b/maven-plugin-api/src/main/java/org/apache/maven/plugin/logging/SystemStreamLog.java
index 90475bf..38c1316 100644
--- a/maven-plugin-api/src/main/java/org/apache/maven/plugin/logging/SystemStreamLog.java
+++ b/maven-plugin-api/src/main/java/org/apache/maven/plugin/logging/SystemStreamLog.java
@@ -141,7 +141,7 @@ public class SystemStreamLog
      */
     public boolean isDebugEnabled()
     {
-        // TODO: Not sure how best to set these for this implementation...
+        // TODO Not sure how best to set these for this implementation...
         return false;
     }
 

http://git-wip-us.apache.org/repos/asf/maven/blob/b66bdb9c/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index b16ea59..9f3204b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -640,14 +640,15 @@ under the License.
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-javadoc-plugin</artifactId>
             <configuration>
-              <linksource>true</linksource>
-              <notimestamp>true</notimestamp>
-              <quiet>true</quiet>
-              <links combine.children="append">
-                <!-- TODO link to Maven Resolver Javadoc -->
-                <link>http://download.eclipse.org/aether/aether-core/${aetherVersion}/apidocs/</link>
-                <link>https://codehaus-plexus.github.io/plexus-containers/plexus-container-default/apidocs/</link>
-              </links>
+              <!-- TODO Remove when we upgrade to maven-parent 31 -->
+              <locale>en</locale>
+              <tags>
+                <tag>
+                  <name>provisional</name>
+                  <placement>tf</placement>
+                  <head>Provisional:</head>
+                </tag>
+              </tags>
             </configuration>
             <reportSets>
               <reportSet>


[31/46] maven git commit: fixed link

Posted by sc...@apache.org.
fixed link

Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/985b5985
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/985b5985
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/985b5985

Branch: refs/heads/MNG-5984
Commit: 985b5985f336d30b6b2110dae49dd2a5f5d5750b
Parents: 1407a10
Author: Herv� Boutemy <hb...@apache.org>
Authored: Sun Apr 10 20:15:57 2016 +0200
Committer: Herv� Boutemy <hb...@apache.org>
Committed: Sat Feb 18 18:13:06 2017 +0100

----------------------------------------------------------------------
 maven-model-builder/src/site/apt/index.apt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/985b5985/maven-model-builder/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/site/apt/index.apt b/maven-model-builder/src/site/apt/index.apt
index 03946e6..280c3b1 100644
--- a/maven-model-builder/src/site/apt/index.apt
+++ b/maven-model-builder/src/site/apt/index.apt
@@ -188,7 +188,7 @@ Maven Model Builder
 | <<<env.*>>>\
 <<<*>>> | environment variables | <<<$\{env.PATH\}>>> |
 *----+------+------+
-| <<<settings.*>>> | Local user settings (see {{{../maven-settings/settings.xml/settings.html}settings reference}}) | <<<$\{settings.localRepository\}>>> |
+| <<<settings.*>>> | Local user settings (see {{{../maven-settings/settings.html}settings reference}}) | <<<$\{settings.localRepository\}>>> |
 *----+------+------+
 
 **  Notice


[03/46] maven git commit: [MNG-6110] renamed 'maven-aether-provider' to 'maven-resolver-provider'

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleTransferListener.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleTransferListener.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleTransferListener.java
new file mode 100644
index 0000000..cf587d8
--- /dev/null
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleTransferListener.java
@@ -0,0 +1,186 @@
+package org.apache.maven.repository.internal.util;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.PrintStream;
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
+import java.util.Locale;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.eclipse.aether.transfer.AbstractTransferListener;
+import org.eclipse.aether.transfer.TransferEvent;
+import org.eclipse.aether.transfer.TransferResource;
+
+public class ConsoleTransferListener
+    extends AbstractTransferListener
+{
+
+    private PrintStream out;
+
+    private Map<TransferResource, Long> downloads = new ConcurrentHashMap<>();
+
+    private int lastLength;
+
+    public ConsoleTransferListener()
+    {
+        this( null );
+    }
+
+    public ConsoleTransferListener( PrintStream out )
+    {
+        this.out = ( out != null ) ? out : System.out;
+    }
+
+    @Override
+    public void transferInitiated( TransferEvent event )
+    {
+        String message = event.getRequestType() == TransferEvent.RequestType.PUT ? "Uploading" : "Downloading";
+
+        println( "transferInitiated", message + ": " + event.getResource().getRepositoryUrl() + event.getResource().getResourceName() );
+    }
+
+    @Override
+    public void transferProgressed( TransferEvent event )
+    {
+        TransferResource resource = event.getResource();
+        downloads.put( resource, event.getTransferredBytes() );
+
+        StringBuilder buffer = new StringBuilder( 64 );
+
+        for ( Map.Entry<TransferResource, Long> entry : downloads.entrySet() )
+        {
+            long total = entry.getKey().getContentLength();
+            long complete = entry.getValue();
+
+            buffer.append( getStatus( complete, total ) ).append( "  " );
+        }
+
+        int pad = lastLength - buffer.length();
+        lastLength = buffer.length();
+        pad( buffer, pad );
+        buffer.append( '\r' );
+
+        print( "transferProgressed", buffer.toString() );
+    }
+
+    private String getStatus( long complete, long total )
+    {
+        if ( total >= 1024 )
+        {
+            return toKB( complete ) + "/" + toKB( total ) + " KB ";
+        }
+        else if ( total >= 0 )
+        {
+            return complete + "/" + total + " B ";
+        }
+        else if ( complete >= 1024 )
+        {
+            return toKB( complete ) + " KB ";
+        }
+        else
+        {
+            return complete + " B ";
+        }
+    }
+
+    private void pad( StringBuilder buffer, int spaces )
+    {
+        String block = "                                        ";
+        while ( spaces > 0 )
+        {
+            int n = Math.min( spaces, block.length() );
+            buffer.append( block, 0, n );
+            spaces -= n;
+        }
+    }
+
+    @Override
+    public void transferSucceeded( TransferEvent event )
+    {
+        transferCompleted( event );
+
+        TransferResource resource = event.getResource();
+        long contentLength = event.getTransferredBytes();
+        if ( contentLength >= 0 )
+        {
+            String type = ( event.getRequestType() == TransferEvent.RequestType.PUT ? "Uploaded" : "Downloaded" );
+            String len = contentLength >= 1024 ? toKB( contentLength ) + " KB" : contentLength + " B";
+
+            String throughput = "";
+            long duration = System.currentTimeMillis() - resource.getTransferStartTime();
+            if ( duration > 0 )
+            {
+                DecimalFormat format = new DecimalFormat( "0.0", new DecimalFormatSymbols( Locale.ENGLISH ) );
+                double kbPerSec = ( contentLength / 1024.0 ) / ( duration / 1000.0 );
+                throughput = " at " + format.format( kbPerSec ) + " KB/sec";
+            }
+
+            println( "transferSucceeded", type + ": " + resource.getRepositoryUrl() + resource.getResourceName() + " ("
+                + len + throughput + ")" );
+        }
+    }
+
+    @Override
+    public void transferFailed( TransferEvent event )
+    {
+        transferCompleted( event );
+
+        println( "transferFailed", event.getException().getClass() + ": " + event.getException().getMessage()  );
+    }
+
+    private void transferCompleted( TransferEvent event )
+    {
+        downloads.remove( event.getResource() );
+
+        StringBuilder buffer = new StringBuilder( 64 );
+        pad( buffer, lastLength );
+        buffer.append( '\r' );
+        out.println( buffer );
+    }
+
+    @Override
+    public void transferCorrupted( TransferEvent event )
+    {
+        println( "transferCorrupted", event.getException().getClass() + ": " + event.getException().getMessage() );
+    }
+
+    protected long toKB( long bytes )
+    {
+        return ( bytes + 1023 ) / 1024;
+    }
+
+    private void println( String event, String message )
+    {
+        print( event, message );
+        out.println();
+    }
+
+    private void print( String event, String message )
+    {
+        out.print( "Aether Transfer - " + event );
+        if ( message != null )
+        {
+            out.print( ": " );
+            out.print( message );
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5324/07.20.3-SNAPSHOT/maven-metadata.xml
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5324/07.20.3-SNAPSHOT/maven-metadata.xml b/maven-resolver-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5324/07.20.3-SNAPSHOT/maven-metadata.xml
new file mode 100644
index 0000000..9f0a7fe
--- /dev/null
+++ b/maven-resolver-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5324/07.20.3-SNAPSHOT/maven-metadata.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+-->
+
+<metadata xmlns="http://maven.apache.org/METADATA/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/METADATA/1.1.0 http://maven.apache.org/xsd/metadata-1.1.0.xsd"
+  modelVersion="1.1.0">
+  <groupId>org.apache.maven.its</groupId>
+  <artifactId>dep-mng5324</artifactId>
+  <version>07.20.3-SNAPSHOT</version><!-- metadata for artifact snapshot -->
+  <versioning>
+    <snapshot>
+      <timestamp>20120809.112920</timestamp>
+      <buildNumber>97</buildNumber>
+    </snapshot>
+    <lastUpdated>20120809112920</lastUpdated>
+    <snapshotVersions>
+      <snapshotVersion>
+        <classifier>classifierA</classifier>
+        <extension>jar</extension>
+        <value>07.20.3-20120809.112124-88</value>
+        <updated>20120809112124</updated>
+      </snapshotVersion>
+      <snapshotVersion>
+        <classifier>classifierB</classifier>
+        <extension>jar</extension>
+        <value>07.20.3-20120809.112920-97</value>
+        <updated>20120809112920</updated>
+      </snapshotVersion>
+    </snapshotVersions>
+  </versioning>
+</metadata>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5459/0.4.0-SNAPSHOT/maven-metadata.xml
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5459/0.4.0-SNAPSHOT/maven-metadata.xml b/maven-resolver-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5459/0.4.0-SNAPSHOT/maven-metadata.xml
new file mode 100644
index 0000000..923f26f
--- /dev/null
+++ b/maven-resolver-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5459/0.4.0-SNAPSHOT/maven-metadata.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+-->
+
+<metadata xmlns="http://maven.apache.org/METADATA/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/METADATA/1.1.0 http://maven.apache.org/xsd/metadata-1.1.0.xsd"
+  modelVersion="1.1.0">
+  <groupId>org.apache.maven.its</groupId>
+  <artifactId>dep-mng5459</artifactId>
+  <version>0.4.0-SNAPSHOT</version>
+  <versioning>
+    <snapshot>
+      <timestamp>20130404.090532</timestamp>
+      <buildNumber>2</buildNumber>
+    </snapshot>
+    <lastUpdated>20130404093657</lastUpdated>
+    <snapshotVersions>
+      <snapshotVersion>
+        <extension>pom</extension>
+        <value>0.4.0-20130404.090532-2</value>
+        <updated>20130404090532</updated>
+      </snapshotVersion>
+      <snapshotVersion>
+        <extension>jar</extension>
+        <value>0.4.0-20130404.093655-3</value>
+        <updated>20130404093655</updated>
+      </snapshotVersion>
+    </snapshotVersions>
+  </versioning>
+</metadata>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0-classifier.zip
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0-classifier.zip b/maven-resolver-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0-classifier.zip
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.jar
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.jar b/maven-resolver-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.jar
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.pom
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.pom b/maven-resolver-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.pom
new file mode 100644
index 0000000..f8b72af
--- /dev/null
+++ b/maven-resolver-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.pom
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>ut.simple</groupId>
+    <artifactId>parent</artifactId>
+    <version>1.0</version>
+  </parent>
+
+  <artifactId>artifact</artifactId>
+
+  <name>Simple Unit Test Artifact</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>ut.simple</groupId>
+      <artifactId>dependency</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>ut.simple</groupId>
+      <artifactId>dependency</artifactId>
+      <version>1.0</version>
+      <classifier>sources</classifier>
+    </dependency>
+  </dependencies>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.zip
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.zip b/maven-resolver-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.zip
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/resources/repo/ut/simple/artifact/maven-metadata.xml
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/resources/repo/ut/simple/artifact/maven-metadata.xml b/maven-resolver-provider/src/test/resources/repo/ut/simple/artifact/maven-metadata.xml
new file mode 100644
index 0000000..2de7ecc
--- /dev/null
+++ b/maven-resolver-provider/src/test/resources/repo/ut/simple/artifact/maven-metadata.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+-->
+
+<metadata xmlns="http://maven.apache.org/METADATA/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/METADATA/1.1.0 http://maven.apache.org/xsd/metadata-1.1.0.xsd">
+  <groupId>ut.simple</groupId>
+  <artifactId>artifact</artifactId>
+  <versioning>
+    <latest>1.0</latest>
+    <release>1.0</release>
+    <versions>
+      <version>1.0</version>
+    </versions>
+    <lastUpdated>20111123122038</lastUpdated>
+  </versioning>
+</metadata>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0-sources.jar
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0-sources.jar b/maven-resolver-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0-sources.jar
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0.jar
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0.jar b/maven-resolver-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0.jar
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0.pom
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0.pom b/maven-resolver-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0.pom
new file mode 100644
index 0000000..c021dfa
--- /dev/null
+++ b/maven-resolver-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0.pom
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>ut.simple</groupId>
+  <artifactId>dependency</artifactId>
+  <version>1.0</version>
+
+  <name>Simple Unit Test Dependency</name>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/resources/repo/ut/simple/dependency/maven-metadata.xml
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/resources/repo/ut/simple/dependency/maven-metadata.xml b/maven-resolver-provider/src/test/resources/repo/ut/simple/dependency/maven-metadata.xml
new file mode 100644
index 0000000..8a97c34
--- /dev/null
+++ b/maven-resolver-provider/src/test/resources/repo/ut/simple/dependency/maven-metadata.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+-->
+
+<metadata xmlns="http://maven.apache.org/METADATA/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/METADATA/1.1.0 http://maven.apache.org/xsd/metadata-1.1.0.xsd">
+  <groupId>ut.simple</groupId>
+  <artifactId>dependency</artifactId>
+  <versioning>
+    <latest>1.0</latest>
+    <release>1.0</release>
+    <versions>
+      <version>1.0</version>
+    </versions>
+    <lastUpdated>20111123122038</lastUpdated>
+  </versioning>
+</metadata>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/resources/repo/ut/simple/parent/1.0/parent-1.0.pom
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/resources/repo/ut/simple/parent/1.0/parent-1.0.pom b/maven-resolver-provider/src/test/resources/repo/ut/simple/parent/1.0/parent-1.0.pom
new file mode 100644
index 0000000..ed64c9e
--- /dev/null
+++ b/maven-resolver-provider/src/test/resources/repo/ut/simple/parent/1.0/parent-1.0.pom
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>ut.simple</groupId>
+  <artifactId>parent</artifactId>
+  <version>1.0</version>
+  <packaging>pom</packaging>
+
+  <name>Simple Unit Test Parent</name>
+
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>ut.simple</groupId>
+        <artifactId>dependency</artifactId>
+        <version>1.0</version>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/resources/repo/ut/simple/parent/maven-metadata.xml
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/resources/repo/ut/simple/parent/maven-metadata.xml b/maven-resolver-provider/src/test/resources/repo/ut/simple/parent/maven-metadata.xml
new file mode 100644
index 0000000..7199d52
--- /dev/null
+++ b/maven-resolver-provider/src/test/resources/repo/ut/simple/parent/maven-metadata.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+-->
+
+<metadata xmlns="http://maven.apache.org/METADATA/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/METADATA/1.1.0 http://maven.apache.org/xsd/metadata-1.1.0.xsd">
+  <groupId>ut.simple</groupId>
+  <artifactId>parent</artifactId>
+  <versioning>
+    <latest>1.0</latest>
+    <release>1.0</release>
+    <versions>
+      <version>1.0</version>
+    </versions>
+    <lastUpdated>20111123122038</lastUpdated>
+  </versioning>
+</metadata>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 0e3b9a7..36bdf5b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -86,7 +86,7 @@ under the License.
     <module>maven-settings</module>
     <module>maven-settings-builder</module>
     <module>maven-artifact</module>
-    <module>maven-aether-provider</module>
+    <module>maven-resolver-provider</module>
     <module>maven-repository-metadata</module>
     <module>maven-slf4j-provider</module>
     <module>maven-embedder</module>
@@ -209,7 +209,7 @@ under the License.
       </dependency>
       <dependency>
         <groupId>org.apache.maven</groupId>
-        <artifactId>maven-aether-provider</artifactId>
+        <artifactId>maven-resolver-provider</artifactId>
         <version>${project.version}</version>
       </dependency>
       <dependency>


[22/46] maven git commit: [MNG-5968] Default plugin version updates

Posted by sc...@apache.org.
[MNG-5968] Default plugin version updates


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/0284dda8
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/0284dda8
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/0284dda8

Branch: refs/heads/MNG-5984
Commit: 0284dda81beb43b54116326f9a6efd439d40c922
Parents: 37fef3d
Author: Christian Schulte <cs...@apache.org>
Authored: Sat Feb 11 19:21:03 2017 +0100
Committer: Michael Osipov <mi...@apache.org>
Committed: Sun Feb 12 01:14:25 2017 +0100

----------------------------------------------------------------------
 pom.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/0284dda8/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index d4d371b..b16ea59 100644
--- a/pom.xml
+++ b/pom.xml
@@ -487,7 +487,7 @@ under the License.
         <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>buildnumber-maven-plugin</artifactId>
-          <version>1.2</version>
+          <version>1.4</version>
         </plugin>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
@@ -544,7 +544,7 @@ under the License.
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>animal-sniffer-maven-plugin</artifactId>
-        <version>1.14</version>
+        <version>1.15</version>
         <configuration>
           <signature>
             <groupId>org.codehaus.mojo.signature</groupId>
@@ -565,7 +565,7 @@ under the License.
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-doap-plugin</artifactId>
-        <version>1.1</version>
+        <version>1.2</version>
         <configuration>
           <asfExtOptions>
             <charter>The mission of the Apache Maven project is to create and maintain software


[04/46] maven git commit: [MNG-6110] renamed 'maven-aether-provider' to 'maven-resolver-provider'

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java
new file mode 100644
index 0000000..1b11cb3
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java
@@ -0,0 +1,145 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.Properties;
+
+import org.eclipse.aether.DefaultRepositorySystemSession;
+import org.eclipse.aether.artifact.DefaultArtifactType;
+import org.eclipse.aether.collection.DependencyGraphTransformer;
+import org.eclipse.aether.collection.DependencyManager;
+import org.eclipse.aether.collection.DependencySelector;
+import org.eclipse.aether.collection.DependencyTraverser;
+import org.eclipse.aether.impl.ArtifactDescriptorReader;
+import org.eclipse.aether.impl.DefaultServiceLocator;
+import org.eclipse.aether.impl.MetadataGeneratorFactory;
+import org.eclipse.aether.impl.VersionRangeResolver;
+import org.eclipse.aether.impl.VersionResolver;
+import org.eclipse.aether.util.artifact.DefaultArtifactTypeRegistry;
+import org.eclipse.aether.util.graph.manager.ClassicDependencyManager;
+import org.eclipse.aether.util.graph.selector.AndDependencySelector;
+import org.eclipse.aether.util.graph.selector.ExclusionDependencySelector;
+import org.eclipse.aether.util.graph.selector.OptionalDependencySelector;
+import org.eclipse.aether.util.graph.selector.ScopeDependencySelector;
+import org.eclipse.aether.util.graph.transformer.ChainedDependencyGraphTransformer;
+import org.eclipse.aether.util.graph.transformer.ConflictResolver;
+import org.eclipse.aether.util.graph.transformer.JavaDependencyContextRefiner;
+import org.eclipse.aether.util.graph.transformer.JavaScopeDeriver;
+import org.eclipse.aether.util.graph.transformer.JavaScopeSelector;
+import org.eclipse.aether.util.graph.transformer.NearestVersionSelector;
+import org.eclipse.aether.util.graph.transformer.SimpleOptionalitySelector;
+import org.eclipse.aether.util.graph.traverser.FatArtifactTraverser;
+import org.eclipse.aether.util.repository.SimpleArtifactDescriptorPolicy;
+
+/**
+ * A utility class to assist in setting up a Maven-like repository system. <em>Note:</em> This component is meant to
+ * assist those clients that employ the repository system outside of an IoC container, Maven plugins should instead
+ * always use regular dependency injection to acquire the repository system.
+ *
+ * @author Benjamin Bentmann
+ */
+public final class MavenRepositorySystemUtils
+{
+
+    private MavenRepositorySystemUtils()
+    {
+        // hide constructor
+    }
+
+    /**
+     * Creates a new service locator that already knows about all service implementations included in this library. To
+     * acquire a complete repository system, clients need to add some repository connectors for remote transfers.
+     *
+     * @return The new service locator, never {@code null}.
+     */
+    public static DefaultServiceLocator newServiceLocator()
+    {
+        DefaultServiceLocator locator = new DefaultServiceLocator();
+        locator.addService( ArtifactDescriptorReader.class, DefaultArtifactDescriptorReader.class );
+        locator.addService( VersionResolver.class, DefaultVersionResolver.class );
+        locator.addService( VersionRangeResolver.class, DefaultVersionRangeResolver.class );
+        locator.addService( MetadataGeneratorFactory.class, SnapshotMetadataGeneratorFactory.class );
+        locator.addService( MetadataGeneratorFactory.class, VersionsMetadataGeneratorFactory.class );
+        return locator;
+    }
+
+    /**
+     * Creates a new Maven-like repository system session by initializing the session with values typical for
+     * Maven-based resolution. In more detail, this method configures settings relevant for the processing of dependency
+     * graphs, most other settings remain at their generic default value. Use the various setters to further configure
+     * the session with authentication, mirror, proxy and other information required for your environment.
+     *
+     * @return The new repository system session, never {@code null}.
+     */
+    public static DefaultRepositorySystemSession newSession()
+    {
+        DefaultRepositorySystemSession session = new DefaultRepositorySystemSession();
+
+        DependencyTraverser depTraverser = new FatArtifactTraverser();
+        session.setDependencyTraverser( depTraverser );
+
+        DependencyManager depManager = new ClassicDependencyManager();
+        session.setDependencyManager( depManager );
+
+        DependencySelector depFilter =
+            new AndDependencySelector( new ScopeDependencySelector( "test", "provided" ),
+                                       new OptionalDependencySelector(), new ExclusionDependencySelector() );
+        session.setDependencySelector( depFilter );
+
+        DependencyGraphTransformer transformer =
+            new ConflictResolver( new NearestVersionSelector(), new JavaScopeSelector(),
+                                  new SimpleOptionalitySelector(), new JavaScopeDeriver() );
+        new ChainedDependencyGraphTransformer( transformer, new JavaDependencyContextRefiner() );
+        session.setDependencyGraphTransformer( transformer );
+
+        DefaultArtifactTypeRegistry stereotypes = new DefaultArtifactTypeRegistry();
+        stereotypes.add( new DefaultArtifactType( "pom" ) );
+        stereotypes.add( new DefaultArtifactType( "maven-plugin", "jar", "", "java" ) );
+        stereotypes.add( new DefaultArtifactType( "jar", "jar", "", "java" ) );
+        stereotypes.add( new DefaultArtifactType( "ejb", "jar", "", "java" ) );
+        stereotypes.add( new DefaultArtifactType( "ejb-client", "jar", "client", "java" ) );
+        stereotypes.add( new DefaultArtifactType( "test-jar", "jar", "tests", "java" ) );
+        stereotypes.add( new DefaultArtifactType( "javadoc", "jar", "javadoc", "java" ) );
+        stereotypes.add( new DefaultArtifactType( "java-source", "jar", "sources", "java", false, false ) );
+        stereotypes.add( new DefaultArtifactType( "war", "war", "", "java", false, true ) );
+        stereotypes.add( new DefaultArtifactType( "ear", "ear", "", "java", false, true ) );
+        stereotypes.add( new DefaultArtifactType( "rar", "rar", "", "java", false, true ) );
+        stereotypes.add( new DefaultArtifactType( "par", "par", "", "java", false, true ) );
+        session.setArtifactTypeRegistry( stereotypes );
+
+        session.setArtifactDescriptorPolicy( new SimpleArtifactDescriptorPolicy( true, true ) );
+
+        final Properties systemProperties = new Properties();
+        
+        // MNG-5670 guard against ConcurrentModificationException
+        // MNG-6053 guard against key without value
+        Properties sysProp = System.getProperties();
+        synchronized ( sysProp )
+        {
+            systemProperties.putAll( sysProp );
+        }
+
+        session.setSystemProperties( systemProperties );
+        session.setConfigProperties( systemProperties );
+
+        return session;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenResolverModule.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenResolverModule.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenResolverModule.java
new file mode 100644
index 0000000..070b91c
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenResolverModule.java
@@ -0,0 +1,70 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+import javax.inject.Named;
+import javax.inject.Singleton;
+import com.google.inject.AbstractModule;
+import com.google.inject.Provides;
+import com.google.inject.name.Names;
+import org.apache.maven.model.building.DefaultModelBuilderFactory;
+import org.apache.maven.model.building.ModelBuilder;
+import org.eclipse.aether.impl.ArtifactDescriptorReader;
+import org.eclipse.aether.impl.MetadataGeneratorFactory;
+import org.eclipse.aether.impl.VersionRangeResolver;
+import org.eclipse.aether.impl.VersionResolver;
+import org.eclipse.aether.impl.guice.AetherModule;
+
+public final class MavenResolverModule
+    extends AbstractModule
+{
+
+    @Override
+    protected void configure()
+    {
+        install( new AetherModule() );
+        bind( ArtifactDescriptorReader.class ).to( DefaultArtifactDescriptorReader.class ).in( Singleton.class );
+        bind( VersionResolver.class ).to( DefaultVersionResolver.class ).in( Singleton.class );
+        bind( VersionRangeResolver.class ).to( DefaultVersionRangeResolver.class ).in( Singleton.class );
+        bind( MetadataGeneratorFactory.class ).annotatedWith( Names.named( "snapshot" ) )
+            .to( SnapshotMetadataGeneratorFactory.class ).in( Singleton.class );
+
+        bind( MetadataGeneratorFactory.class ).annotatedWith( Names.named( "versions" ) )
+            .to( VersionsMetadataGeneratorFactory.class ).in( Singleton.class );
+
+        bind( ModelBuilder.class ).toInstance( new DefaultModelBuilderFactory().newInstance() );
+    }
+
+    @Provides
+    @Singleton
+    Set<MetadataGeneratorFactory> provideMetadataGeneratorFactories(
+        @Named( "snapshot" ) MetadataGeneratorFactory snapshot,
+        @Named( "versions" ) MetadataGeneratorFactory versions )
+    {
+        Set<MetadataGeneratorFactory> factories = new HashSet<>( 2 );
+        factories.add( snapshot );
+        factories.add( versions );
+        return Collections.unmodifiableSet( factories );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenSnapshotMetadata.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenSnapshotMetadata.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenSnapshotMetadata.java
new file mode 100644
index 0000000..e4c9a7e
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenSnapshotMetadata.java
@@ -0,0 +1,100 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.apache.maven.artifact.repository.metadata.Metadata;
+import org.eclipse.aether.artifact.Artifact;
+
+/**
+ * @author Herv� Boutemy
+ */
+abstract class MavenSnapshotMetadata
+    extends MavenMetadata
+{
+    static final String SNAPSHOT = "SNAPSHOT";
+
+    protected final Collection<Artifact> artifacts = new ArrayList<>();
+
+    protected final boolean legacyFormat;
+
+    protected MavenSnapshotMetadata( Metadata metadata, File file, boolean legacyFormat )
+    {
+        super( metadata, file );
+        this.legacyFormat = legacyFormat;
+    }
+
+    protected static Metadata createRepositoryMetadata( Artifact artifact, boolean legacyFormat )
+    {
+        Metadata metadata = new Metadata();
+        if ( !legacyFormat )
+        {
+            metadata.setModelVersion( "1.1.0" );
+        }
+        metadata.setGroupId( artifact.getGroupId() );
+        metadata.setArtifactId( artifact.getArtifactId() );
+        metadata.setVersion( artifact.getBaseVersion() );
+
+        return metadata;
+    }
+
+    public void bind( Artifact artifact )
+    {
+        artifacts.add( artifact );
+    }
+
+    public Object getKey()
+    {
+        return getGroupId() + ':' + getArtifactId() + ':' + getVersion();
+    }
+
+    public static Object getKey( Artifact artifact )
+    {
+        return artifact.getGroupId() + ':' + artifact.getArtifactId() + ':' + artifact.getBaseVersion();
+    }
+
+    protected String getKey( String classifier, String extension )
+    {
+        return classifier + ':' + extension;
+    }
+
+    public String getGroupId()
+    {
+        return metadata.getGroupId();
+    }
+
+    public String getArtifactId()
+    {
+        return metadata.getArtifactId();
+    }
+
+    public String getVersion()
+    {
+        return metadata.getVersion();
+    }
+
+    public Nature getNature()
+    {
+        return Nature.SNAPSHOT;
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenWorkspaceReader.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenWorkspaceReader.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenWorkspaceReader.java
new file mode 100644
index 0000000..270cf58
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenWorkspaceReader.java
@@ -0,0 +1,32 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.model.Model;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.repository.WorkspaceReader;
+
+public interface MavenWorkspaceReader
+    extends WorkspaceReader
+{
+
+    Model findModel( Artifact artifact );
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RelocatedArtifact.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RelocatedArtifact.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RelocatedArtifact.java
new file mode 100644
index 0000000..c6ef3aa
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RelocatedArtifact.java
@@ -0,0 +1,114 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.File;
+import java.util.Map;
+
+import org.apache.commons.lang3.Validate;
+import org.eclipse.aether.artifact.AbstractArtifact;
+import org.eclipse.aether.artifact.Artifact;
+
+/**
+ * @author Benjamin Bentmann
+ */
+final class RelocatedArtifact
+    extends AbstractArtifact
+{
+
+    private final Artifact artifact;
+
+    private final String groupId;
+
+    private final String artifactId;
+
+    private final String version;
+
+    public RelocatedArtifact( Artifact artifact, String groupId, String artifactId, String version )
+    {
+        this.artifact = Validate.notNull( artifact, "artifact cannot be null" );
+        // TODO Use StringUtils here
+        this.groupId = ( groupId != null && groupId.length() > 0 ) ? groupId : null;
+        this.artifactId = ( artifactId != null && artifactId.length() > 0 ) ? artifactId : null;
+        this.version = ( version != null && version.length() > 0 ) ? version : null;
+    }
+
+    public String getGroupId()
+    {
+        if ( groupId != null )
+        {
+            return groupId;
+        }
+        else
+        {
+            return artifact.getGroupId();
+        }
+    }
+
+    public String getArtifactId()
+    {
+        if ( artifactId != null )
+        {
+            return artifactId;
+        }
+        else
+        {
+            return artifact.getArtifactId();
+        }
+    }
+
+    public String getVersion()
+    {
+        if ( version != null )
+        {
+            return version;
+        }
+        else
+        {
+            return artifact.getVersion();
+        }
+    }
+
+    public String getClassifier()
+    {
+        return artifact.getClassifier();
+    }
+
+    public String getExtension()
+    {
+        return artifact.getExtension();
+    }
+
+    public File getFile()
+    {
+        return artifact.getFile();
+    }
+
+    public String getProperty( String key, String defaultValue )
+    {
+        return artifact.getProperty( key, defaultValue );
+    }
+
+    public Map<String, String> getProperties()
+    {
+        return artifact.getProperties();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadata.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadata.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadata.java
new file mode 100644
index 0000000..1e791d8
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadata.java
@@ -0,0 +1,157 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.File;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.TimeZone;
+
+import org.apache.maven.artifact.repository.metadata.Metadata;
+import org.apache.maven.artifact.repository.metadata.Snapshot;
+import org.apache.maven.artifact.repository.metadata.SnapshotVersion;
+import org.apache.maven.artifact.repository.metadata.Versioning;
+import org.eclipse.aether.artifact.Artifact;
+
+/**
+ * @author Benjamin Bentmann
+ */
+final class RemoteSnapshotMetadata
+    extends MavenSnapshotMetadata
+{
+    public static final String DEFAULT_SNAPSHOT_TIMESTAMP_FORMAT = "yyyyMMdd.HHmmss";
+
+    public static final TimeZone DEFAULT_SNAPSHOT_TIME_ZONE = TimeZone.getTimeZone( "Etc/UTC" );
+
+    private final Map<String, SnapshotVersion> versions = new LinkedHashMap<>();
+
+    public RemoteSnapshotMetadata( Artifact artifact, boolean legacyFormat )
+    {
+        super( createRepositoryMetadata( artifact, legacyFormat ), null, legacyFormat );
+    }
+
+    private RemoteSnapshotMetadata( Metadata metadata, File file, boolean legacyFormat )
+    {
+        super( metadata, file, legacyFormat );
+    }
+
+    public MavenMetadata setFile( File file )
+    {
+        return new RemoteSnapshotMetadata( metadata, file, legacyFormat );
+    }
+
+    public String getExpandedVersion( Artifact artifact )
+    {
+        String key = getKey( artifact.getClassifier(), artifact.getExtension() );
+        return versions.get( key ).getVersion();
+    }
+
+    @Override
+    protected void merge( Metadata recessive )
+    {
+        Snapshot snapshot;
+        String lastUpdated;
+
+        if ( metadata.getVersioning() == null )
+        {
+            DateFormat utcDateFormatter = new SimpleDateFormat( DEFAULT_SNAPSHOT_TIMESTAMP_FORMAT );
+            utcDateFormatter.setCalendar( new GregorianCalendar() );
+            utcDateFormatter.setTimeZone( DEFAULT_SNAPSHOT_TIME_ZONE );
+
+            snapshot = new Snapshot();
+            snapshot.setBuildNumber( getBuildNumber( recessive ) + 1 );
+            snapshot.setTimestamp( utcDateFormatter.format( new Date() ) );
+
+            Versioning versioning = new Versioning();
+            versioning.setSnapshot( snapshot );
+            versioning.setLastUpdated( snapshot.getTimestamp().replace( ".", "" ) );
+            lastUpdated = versioning.getLastUpdated();
+
+            metadata.setVersioning( versioning );
+        }
+        else
+        {
+            snapshot = metadata.getVersioning().getSnapshot();
+            lastUpdated = metadata.getVersioning().getLastUpdated();
+        }
+
+        for ( Artifact artifact : artifacts )
+        {
+            String version = artifact.getVersion();
+
+            if ( version.endsWith( SNAPSHOT ) )
+            {
+                String qualifier = snapshot.getTimestamp() + '-' + snapshot.getBuildNumber();
+                version = version.substring( 0, version.length() - SNAPSHOT.length() ) + qualifier;
+            }
+
+            SnapshotVersion sv = new SnapshotVersion();
+            sv.setClassifier( artifact.getClassifier() );
+            sv.setExtension( artifact.getExtension() );
+            sv.setVersion( version );
+            sv.setUpdated( lastUpdated );
+
+            versions.put( getKey( sv.getClassifier(), sv.getExtension() ), sv );
+        }
+
+        artifacts.clear();
+
+        Versioning versioning = recessive.getVersioning();
+        if ( versioning != null )
+        {
+            for ( SnapshotVersion sv : versioning.getSnapshotVersions() )
+            {
+                String key = getKey( sv.getClassifier(), sv.getExtension() );
+                if ( !versions.containsKey( key ) )
+                {
+                    versions.put( key, sv );
+                }
+            }
+        }
+
+        if ( !legacyFormat )
+        {
+            metadata.getVersioning().setSnapshotVersions( new ArrayList<>( versions.values() ) );
+        }
+    }
+
+    private static int getBuildNumber( Metadata metadata )
+    {
+        int number = 0;
+
+        Versioning versioning = metadata.getVersioning();
+        if ( versioning != null )
+        {
+            Snapshot snapshot = versioning.getSnapshot();
+            if ( snapshot != null && snapshot.getBuildNumber() > 0 )
+            {
+                number = snapshot.getBuildNumber();
+            }
+        }
+
+        return number;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataGenerator.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataGenerator.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataGenerator.java
new file mode 100644
index 0000000..8258966
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataGenerator.java
@@ -0,0 +1,107 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.deployment.DeployRequest;
+import org.eclipse.aether.impl.MetadataGenerator;
+import org.eclipse.aether.metadata.Metadata;
+import org.eclipse.aether.util.ConfigUtils;
+
+/**
+ * @author Benjamin Bentmann
+ */
+class RemoteSnapshotMetadataGenerator
+    implements MetadataGenerator
+{
+
+    private final Map<Object, RemoteSnapshotMetadata> snapshots;
+
+    private final boolean legacyFormat;
+
+    public RemoteSnapshotMetadataGenerator( RepositorySystemSession session, DeployRequest request )
+    {
+        legacyFormat = ConfigUtils.getBoolean( session.getConfigProperties(), false, "maven.metadata.legacy" );
+
+        snapshots = new LinkedHashMap<>();
+
+        /*
+         * NOTE: This should be considered a quirk to support interop with Maven's legacy ArtifactDeployer which
+         * processes one artifact at a time and hence cannot associate the artifacts from the same project to use the
+         * same timestamp+buildno for the snapshot versions. Allowing the caller to pass in metadata from a previous
+         * deployment allows to re-establish the association between the artifacts of the same project.
+         */
+        for ( Metadata metadata : request.getMetadata() )
+        {
+            if ( metadata instanceof RemoteSnapshotMetadata )
+            {
+                RemoteSnapshotMetadata snapshotMetadata = (RemoteSnapshotMetadata) metadata;
+                snapshots.put( snapshotMetadata.getKey(), snapshotMetadata );
+            }
+        }
+    }
+
+    public Collection<? extends Metadata> prepare( Collection<? extends Artifact> artifacts )
+    {
+        for ( Artifact artifact : artifacts )
+        {
+            if ( artifact.isSnapshot() )
+            {
+                Object key = RemoteSnapshotMetadata.getKey( artifact );
+                RemoteSnapshotMetadata snapshotMetadata = snapshots.get( key );
+                if ( snapshotMetadata == null )
+                {
+                    snapshotMetadata = new RemoteSnapshotMetadata( artifact, legacyFormat );
+                    snapshots.put( key, snapshotMetadata );
+                }
+                snapshotMetadata.bind( artifact );
+            }
+        }
+
+        return snapshots.values();
+    }
+
+    public Artifact transformArtifact( Artifact artifact )
+    {
+        if ( artifact.isSnapshot() && artifact.getVersion().equals( artifact.getBaseVersion() ) )
+        {
+            Object key = RemoteSnapshotMetadata.getKey( artifact );
+            RemoteSnapshotMetadata snapshotMetadata = snapshots.get( key );
+            if ( snapshotMetadata != null )
+            {
+                artifact = artifact.setVersion( snapshotMetadata.getExpandedVersion( artifact ) );
+            }
+        }
+
+        return artifact;
+    }
+
+    public Collection<? extends Metadata> finish( Collection<? extends Artifact> artifacts )
+    {
+        return Collections.emptyList();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/SnapshotMetadataGeneratorFactory.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/SnapshotMetadataGeneratorFactory.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/SnapshotMetadataGeneratorFactory.java
new file mode 100644
index 0000000..79ffaad
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/SnapshotMetadataGeneratorFactory.java
@@ -0,0 +1,52 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.codehaus.plexus.component.annotations.Component;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.deployment.DeployRequest;
+import org.eclipse.aether.impl.MetadataGenerator;
+import org.eclipse.aether.impl.MetadataGeneratorFactory;
+import org.eclipse.aether.installation.InstallRequest;
+
+/**
+ * @author Benjamin Bentmann
+ */
+@Component( role = MetadataGeneratorFactory.class, hint = "snapshot" )
+public class SnapshotMetadataGeneratorFactory
+    implements MetadataGeneratorFactory
+{
+
+    public MetadataGenerator newInstance( RepositorySystemSession session, InstallRequest request )
+    {
+        return new LocalSnapshotMetadataGenerator( session, request );
+    }
+
+    public MetadataGenerator newInstance( RepositorySystemSession session, DeployRequest request )
+    {
+        return new RemoteSnapshotMetadataGenerator( session, request );
+    }
+
+    public float getPriority()
+    {
+        return 10;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadata.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadata.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadata.java
new file mode 100644
index 0000000..f5e13be
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadata.java
@@ -0,0 +1,133 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedHashSet;
+
+import org.apache.maven.artifact.repository.metadata.Metadata;
+import org.apache.maven.artifact.repository.metadata.Versioning;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.artifact.ArtifactProperties;
+
+/**
+ * @author Benjamin Bentmann
+ */
+final class VersionsMetadata
+    extends MavenMetadata
+{
+
+    private final Artifact artifact;
+
+    public VersionsMetadata( Artifact artifact )
+    {
+        super( createRepositoryMetadata( artifact ), null );
+        this.artifact = artifact;
+    }
+
+    public VersionsMetadata( Artifact artifact, File file )
+    {
+        super( createRepositoryMetadata( artifact ), file );
+        this.artifact = artifact;
+    }
+
+    private static Metadata createRepositoryMetadata( Artifact artifact )
+    {
+        Metadata metadata = new Metadata();
+        metadata.setGroupId( artifact.getGroupId() );
+        metadata.setArtifactId( artifact.getArtifactId() );
+
+        Versioning versioning = new Versioning();
+        versioning.addVersion( artifact.getBaseVersion() );
+        if ( !artifact.isSnapshot() )
+        {
+            versioning.setRelease( artifact.getBaseVersion() );
+        }
+        if ( "maven-plugin".equals( artifact.getProperty( ArtifactProperties.TYPE, "" ) ) )
+        {
+            versioning.setLatest( artifact.getBaseVersion() );
+        }
+
+        metadata.setVersioning( versioning );
+
+        return metadata;
+    }
+
+    @Override
+    protected void merge( Metadata recessive )
+    {
+        Versioning versioning = metadata.getVersioning();
+        versioning.updateTimestamp();
+
+        if ( recessive.getVersioning() != null )
+        {
+            if ( versioning.getLatest() == null )
+            {
+                versioning.setLatest( recessive.getVersioning().getLatest() );
+            }
+            if ( versioning.getRelease() == null )
+            {
+                versioning.setRelease( recessive.getVersioning().getRelease() );
+            }
+
+            Collection<String> versions = new LinkedHashSet<>( recessive.getVersioning().getVersions() );
+            versions.addAll( versioning.getVersions() );
+            versioning.setVersions( new ArrayList<>( versions ) );
+        }
+    }
+
+    public Object getKey()
+    {
+        return getGroupId() + ':' + getArtifactId();
+    }
+
+    public static Object getKey( Artifact artifact )
+    {
+        return artifact.getGroupId() + ':' + artifact.getArtifactId();
+    }
+
+    public MavenMetadata setFile( File file )
+    {
+        return new VersionsMetadata( artifact, file );
+    }
+
+    public String getGroupId()
+    {
+        return artifact.getGroupId();
+    }
+
+    public String getArtifactId()
+    {
+        return artifact.getArtifactId();
+    }
+
+    public String getVersion()
+    {
+        return "";
+    }
+
+    public Nature getNature()
+    {
+        return artifact.isSnapshot() ? Nature.RELEASE_OR_SNAPSHOT : Nature.RELEASE;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGenerator.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGenerator.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGenerator.java
new file mode 100644
index 0000000..5173001
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGenerator.java
@@ -0,0 +1,108 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.deployment.DeployRequest;
+import org.eclipse.aether.impl.MetadataGenerator;
+import org.eclipse.aether.installation.InstallRequest;
+import org.eclipse.aether.metadata.Metadata;
+
+/**
+ * @author Benjamin Bentmann
+ */
+class VersionsMetadataGenerator
+    implements MetadataGenerator
+{
+
+    private Map<Object, VersionsMetadata> versions;
+
+    private Map<Object, VersionsMetadata> processedVersions;
+
+    public VersionsMetadataGenerator( RepositorySystemSession session, InstallRequest request )
+    {
+        this( session, request.getMetadata() );
+    }
+
+    public VersionsMetadataGenerator( RepositorySystemSession session, DeployRequest request )
+    {
+        this( session, request.getMetadata() );
+    }
+
+    private VersionsMetadataGenerator( RepositorySystemSession session, Collection<? extends Metadata> metadatas )
+    {
+        versions = new LinkedHashMap<>();
+        processedVersions = new LinkedHashMap<>();
+
+        /*
+         * NOTE: This should be considered a quirk to support interop with Maven's legacy ArtifactDeployer which
+         * processes one artifact at a time and hence cannot associate the artifacts from the same project to use the
+         * same version index. Allowing the caller to pass in metadata from a previous deployment allows to re-establish
+         * the association between the artifacts of the same project.
+         */
+        for ( Iterator<? extends Metadata> it = metadatas.iterator(); it.hasNext(); )
+        {
+            Metadata metadata = it.next();
+            if ( metadata instanceof VersionsMetadata )
+            {
+                it.remove();
+                VersionsMetadata versionsMetadata = (VersionsMetadata) metadata;
+                processedVersions.put( versionsMetadata.getKey(), versionsMetadata );
+            }
+        }
+    }
+
+    public Collection<? extends Metadata> prepare( Collection<? extends Artifact> artifacts )
+    {
+        return Collections.emptyList();
+    }
+
+    public Artifact transformArtifact( Artifact artifact )
+    {
+        return artifact;
+    }
+
+    public Collection<? extends Metadata> finish( Collection<? extends Artifact> artifacts )
+    {
+        for ( Artifact artifact : artifacts )
+        {
+            Object key = VersionsMetadata.getKey( artifact );
+            if ( processedVersions.get( key ) == null )
+            {
+                VersionsMetadata versionsMetadata = versions.get( key );
+                if ( versionsMetadata == null )
+                {
+                    versionsMetadata = new VersionsMetadata( artifact );
+                    versions.put( key, versionsMetadata );
+                }
+            }
+        }
+
+        return versions.values();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGeneratorFactory.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGeneratorFactory.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGeneratorFactory.java
new file mode 100644
index 0000000..47ef360
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGeneratorFactory.java
@@ -0,0 +1,52 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.codehaus.plexus.component.annotations.Component;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.deployment.DeployRequest;
+import org.eclipse.aether.impl.MetadataGenerator;
+import org.eclipse.aether.impl.MetadataGeneratorFactory;
+import org.eclipse.aether.installation.InstallRequest;
+
+/**
+ * @author Benjamin Bentmann
+ */
+@Component( role = MetadataGeneratorFactory.class, hint = "versions" )
+public class VersionsMetadataGeneratorFactory
+    implements MetadataGeneratorFactory
+{
+
+    public MetadataGenerator newInstance( RepositorySystemSession session, InstallRequest request )
+    {
+        return new VersionsMetadataGenerator( session, request );
+    }
+
+    public MetadataGenerator newInstance( RepositorySystemSession session, DeployRequest request )
+    {
+        return new VersionsMetadataGenerator( session, request );
+    }
+
+    public float getPriority()
+    {
+        return 5;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/package-info.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/package-info.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/package-info.java
new file mode 100644
index 0000000..7309c2b
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/package-info.java
@@ -0,0 +1,25 @@
+// CHECKSTYLE_OFF: RegexpHeader
+/**
+ * <a href="https://maven.apache.org/resolver/">Maven Resolver</a> extensions for utilizing the Maven POM and Maven
+ * repository metadata.
+ */
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/site/apt/index.apt b/maven-resolver-provider/src/site/apt/index.apt
new file mode 100644
index 0000000..b50ea1d
--- /dev/null
+++ b/maven-resolver-provider/src/site/apt/index.apt
@@ -0,0 +1,33 @@
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you under the Apache License, Version 2.0 (the
+~~ "License"); you may not use this file except in compliance
+~~ with the License.  You may obtain a copy of the License at
+~~
+~~ http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing,
+~~ software distributed under the License is distributed on an
+~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+~~ KIND, either express or implied.  See the License for the
+~~ specific language governing permissions and limitations
+~~ under the License.
+
+ -----
+ Introduction
+ -----
+ Herv� Boutemy
+ -----
+ 2012-09-29
+ -----
+
+Maven Artifact Resolver Provider
+
+ Maven Artifact Resolver Provider is a {{{/resolver/}Maven Artifact Resolver}} extension to support
+ Maven POMs and local+remote repositories.
+
+ Main component is <<<MavenRepositorySystemUtils>>>
+ ({{{./apidocs/org/apache/maven/repository/internal/MavenRepositorySystemUtils.html}javadoc}},
+ {{{./xref/org/apache/maven/repository/internal/MavenRepositorySystemUtils.html}source}}).

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/site/site.xml
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/site/site.xml b/maven-resolver-provider/src/site/site.xml
new file mode 100644
index 0000000..3a16bf9
--- /dev/null
+++ b/maven-resolver-provider/src/site/site.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 http://maven.apache.org/xsd/decoration-1.0.0.xsd">
+  <body>
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+      <item name="JavaDocs" href="apidocs/index.html"/>
+      <item name="Source Xref" href="xref/index.html"/>
+      <!--item name="FAQ" href="faq.html"/-->
+    </menu>
+
+    <menu ref="parent"/>
+    <menu ref="reports"/>
+  </body>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
new file mode 100644
index 0000000..b81450c
--- /dev/null
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
@@ -0,0 +1,87 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.net.MalformedURLException;
+
+import org.apache.maven.repository.internal.util.ConsoleRepositoryListener;
+import org.apache.maven.repository.internal.util.ConsoleTransferListener;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.PlexusConstants;
+import org.codehaus.plexus.PlexusTestCase;
+import org.eclipse.aether.DefaultRepositorySystemSession;
+import org.eclipse.aether.RepositorySystem;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.repository.LocalRepository;
+import org.eclipse.aether.repository.RemoteRepository;
+
+public abstract class AbstractRepositoryTestCase
+    extends PlexusTestCase
+{
+    protected RepositorySystem system;
+
+    protected RepositorySystemSession session;
+
+    @Override
+    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
+    {
+        super.customizeContainerConfiguration( containerConfiguration );
+        containerConfiguration.setAutoWiring( true );
+        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
+    }
+
+    @Override
+    protected void setUp()
+        throws Exception
+    {
+        super.setUp();
+        system = lookup( RepositorySystem.class );
+        session = newMavenRepositorySystemSession( system );
+    }
+
+    @Override
+    protected void tearDown()
+        throws Exception
+    {
+        session = null;
+        system = null;
+        super.tearDown();
+    }
+
+    public static RepositorySystemSession newMavenRepositorySystemSession( RepositorySystem system )
+    {
+        DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession();
+
+        LocalRepository localRepo = new LocalRepository( "target/local-repo" );
+        session.setLocalRepositoryManager( system.newLocalRepositoryManager( session, localRepo ) );
+
+        session.setTransferListener( new ConsoleTransferListener() );
+        session.setRepositoryListener( new ConsoleRepositoryListener() );
+
+        return session;
+    }
+
+    public static RemoteRepository newTestRepository()
+        throws MalformedURLException
+    {
+        return new RemoteRepository.Builder( "repo", "default",
+                                             getTestFile( "target/test-classes/repo" ).toURI().toURL().toString() ).build();
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java
new file mode 100644
index 0000000..e873138
--- /dev/null
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java
@@ -0,0 +1,77 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
+import org.eclipse.aether.RepositoryEvent;
+import org.eclipse.aether.RepositoryEvent.EventType;
+import org.eclipse.aether.artifact.DefaultArtifact;
+import org.eclipse.aether.impl.ArtifactDescriptorReader;
+import org.eclipse.aether.impl.RepositoryEventDispatcher;
+import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
+import org.mockito.ArgumentCaptor;
+
+public class DefaultArtifactDescriptorReaderTest
+    extends AbstractRepositoryTestCase
+{
+
+    public void testMng5459()
+        throws Exception
+    {
+        // prepare
+        DefaultArtifactDescriptorReader reader = (DefaultArtifactDescriptorReader) lookup( ArtifactDescriptorReader.class );
+
+        RepositoryEventDispatcher eventDispatcher = mock( RepositoryEventDispatcher.class );
+
+        ArgumentCaptor<RepositoryEvent> event = ArgumentCaptor.forClass( RepositoryEvent.class );
+
+        reader.setRepositoryEventDispatcher( eventDispatcher );
+
+        ArtifactDescriptorRequest request = new ArtifactDescriptorRequest();
+
+        request.addRepository( newTestRepository() );
+
+        request.setArtifact( new DefaultArtifact( "org.apache.maven.its", "dep-mng5459", "jar", "0.4.0-SNAPSHOT" ) );
+
+        // execute
+        reader.readArtifactDescriptor( session, request );
+
+        // verify
+        verify( eventDispatcher ).dispatch( event.capture() );
+
+        boolean missingArtifactDescriptor = false;
+
+        for( RepositoryEvent evt : event.getAllValues() )
+        {
+            if ( EventType.ARTIFACT_DESCRIPTOR_MISSING.equals( evt.getType() ) )
+            {
+                assertEquals( "Could not find artifact org.apache.maven.its:dep-mng5459:pom:0.4.0-20130404.090532-2 in repo (" + newTestRepository().getUrl() + ")", evt.getException().getMessage() );
+                missingArtifactDescriptor = true;
+            }
+        }
+
+        if( !missingArtifactDescriptor )
+        {
+            fail( "Expected missing artifact descriptor for org.apache.maven.its:dep-mng5459:pom:0.4.0-20130404.090532-2" );
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java
new file mode 100644
index 0000000..90dd6a4
--- /dev/null
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java
@@ -0,0 +1,96 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.impl.VersionResolver;
+import org.eclipse.aether.resolution.VersionRequest;
+import org.eclipse.aether.resolution.VersionResult;
+import org.eclipse.aether.artifact.DefaultArtifact;
+
+public class DefaultVersionResolverTest
+    extends AbstractRepositoryTestCase
+{
+    private DefaultVersionResolver versionResolver;
+
+    @Override
+    protected void setUp()
+        throws Exception
+    {
+        super.setUp();
+        // be sure we're testing the right class, i.e. DefaultVersionResolver.class
+        versionResolver = (DefaultVersionResolver) lookup( VersionResolver.class, "default" );
+    }
+
+    @Override
+    protected void tearDown()
+        throws Exception
+    {
+        versionResolver = null;
+        super.tearDown();
+    }
+
+    public void testResolveSeparateInstalledClassifiedNonUniqueVersionedArtifacts()
+        throws Exception
+    {
+        VersionRequest requestB = new VersionRequest();
+        requestB.addRepository( newTestRepository() );
+        Artifact artifactB =
+            new DefaultArtifact( "org.apache.maven.its", "dep-mng5324", "classifierB", "jar", "07.20.3-SNAPSHOT" );
+        requestB.setArtifact( artifactB );
+
+        VersionResult resultB = versionResolver.resolveVersion( session, requestB );
+        assertEquals( "07.20.3-20120809.112920-97", resultB.getVersion() );
+
+        VersionRequest requestA = new VersionRequest();
+        requestA.addRepository( newTestRepository() );
+
+        Artifact artifactA =
+            new DefaultArtifact( "org.apache.maven.its", "dep-mng5324", "classifierA", "jar", "07.20.3-SNAPSHOT" );
+        requestA.setArtifact( artifactA );
+
+        VersionResult resultA = versionResolver.resolveVersion( session, requestA );
+        assertEquals( "07.20.3-20120809.112124-88", resultA.getVersion() );
+    }
+
+    public void testResolveSeparateInstalledClassifiedNonVersionedArtifacts()
+        throws Exception
+    {
+        VersionRequest requestA = new VersionRequest();
+        requestA.addRepository( newTestRepository() );
+        String versionA = "07.20.3-20120809.112124-88";
+        Artifact artifactA =
+            new DefaultArtifact( "org.apache.maven.its", "dep-mng5324", "classifierA", "jar", versionA );
+        requestA.setArtifact( artifactA );
+
+        VersionResult resultA = versionResolver.resolveVersion( session, requestA );
+        assertEquals( versionA, resultA.getVersion() );
+
+        VersionRequest requestB = new VersionRequest();
+        requestB.addRepository( newTestRepository() );
+        String versionB = "07.20.3-20120809.112920-97";
+        Artifact artifactB =
+            new DefaultArtifact( "org.apache.maven.its", "dep-mng5324", "classifierB", "jar", versionB );
+        requestB.setArtifact( artifactB );
+
+        VersionResult resultB = versionResolver.resolveVersion( session, requestB );
+        assertEquals( versionB, resultB.getVersion() );
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/MavenRepositorySystemUtilsTest.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/MavenRepositorySystemUtilsTest.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/MavenRepositorySystemUtilsTest.java
new file mode 100644
index 0000000..768835a
--- /dev/null
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/MavenRepositorySystemUtilsTest.java
@@ -0,0 +1,45 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.eclipse.aether.RepositorySystem;
+import org.eclipse.aether.impl.MetadataGeneratorFactory;
+import org.eclipse.aether.spi.locator.ServiceLocator;
+
+import junit.framework.TestCase;
+
+public class MavenRepositorySystemUtilsTest
+    extends TestCase
+{
+
+    public void testGetRepositorySystem()
+    {
+        ServiceLocator locator = MavenRepositorySystemUtils.newServiceLocator();
+        RepositorySystem repoSys = locator.getService( RepositorySystem.class );
+        assertNotNull( repoSys );
+    }
+
+    public void testGetMetadataGeneratorFactories()
+    {
+        ServiceLocator locator = MavenRepositorySystemUtils.newServiceLocator();
+        assertEquals( 2, locator.getServices( MetadataGeneratorFactory.class ).size() );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataTest.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataTest.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataTest.java
new file mode 100644
index 0000000..278231f
--- /dev/null
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataTest.java
@@ -0,0 +1,82 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import static org.junit.Assert.assertTrue;
+
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.HashSet;
+import java.util.Locale;
+import java.util.Set;
+
+import org.apache.maven.artifact.repository.metadata.Metadata;
+import org.eclipse.aether.artifact.DefaultArtifact;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class RemoteSnapshotMetadataTest
+{
+    private Locale defaultLocale;
+
+    @Before
+    public void setLocaleToUseBuddhistCalendar()
+    {
+        defaultLocale = Locale.getDefault();
+        Locale.setDefault( new Locale( "th", "TH" ) );
+    }
+
+    @After
+    public void restoreLocale()
+    {
+        Locale.setDefault( defaultLocale );
+    }
+
+    static String gregorianDate()
+    {
+        SimpleDateFormat df = new SimpleDateFormat( "yyyyMMdd" );
+        df.setCalendar( new GregorianCalendar() );
+        df.setTimeZone( RemoteSnapshotMetadata.DEFAULT_SNAPSHOT_TIME_ZONE );
+        return df.format( new Date() );
+    }
+
+    @Test
+    public void gregorianCalendarIsUsed()
+    {
+        String dateBefore = gregorianDate();
+
+        RemoteSnapshotMetadata metadata = new RemoteSnapshotMetadata(
+                new DefaultArtifact( "a:b:1-SNAPSHOT" ), false);
+        metadata.merge( new Metadata() );
+
+        String dateAfter = gregorianDate();
+
+        String ts = metadata.metadata.getVersioning().getSnapshot().getTimestamp();
+        String datePart = ts.replaceAll( "\\..*", "" );
+
+        /* Allow for this test running across midnight */
+        Set<String> expected = new HashSet<String>( Arrays.asList( dateBefore, dateAfter ) );
+        assertTrue( "Expected " + datePart + " to be in " + expected,
+                expected.contains( datePart ) );
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java
new file mode 100644
index 0000000..db77a44
--- /dev/null
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java
@@ -0,0 +1,220 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.collection.CollectRequest;
+import org.eclipse.aether.collection.CollectResult;
+import org.eclipse.aether.graph.Dependency;
+import org.eclipse.aether.graph.DependencyNode;
+import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
+import org.eclipse.aether.resolution.ArtifactDescriptorResult;
+import org.eclipse.aether.resolution.ArtifactRequest;
+import org.eclipse.aether.resolution.ArtifactResult;
+import org.eclipse.aether.artifact.DefaultArtifact;
+
+public class RepositorySystemTest
+    extends AbstractRepositoryTestCase
+{
+    public void testResolveVersionRange()
+        throws Exception
+    {
+        //VersionRangeResult resolveVersionRange( RepositorySystemSession session, VersionRangeRequest request )
+        //                throws VersionRangeResolutionException;
+
+    }
+
+    public void testResolveVersion()
+        throws Exception
+    {
+        //VersionResult resolveVersion( RepositorySystemSession session, VersionRequest request )
+        //                throws VersionResolutionException;
+    }
+
+    public void testReadArtifactDescriptor()
+        throws Exception
+    {
+        Artifact artifact = new DefaultArtifact( "ut.simple:artifact:extension:classifier:1.0" );
+
+        ArtifactDescriptorRequest request = new ArtifactDescriptorRequest();
+        request.setArtifact( artifact );
+        request.addRepository( newTestRepository() );
+
+        ArtifactDescriptorResult result = system.readArtifactDescriptor( session, request );
+
+        List<Dependency> deps = result.getDependencies();
+        assertEquals( 2, deps.size() );
+        checkUtSimpleArtifactDependencies( deps.get( 0 ), deps.get( 1 ) );
+    }
+
+    /**
+     * check ut.simple:artifact:1.0 dependencies
+     */
+    private void checkUtSimpleArtifactDependencies( Dependency dep1, Dependency dep2 )
+    {
+        assertEquals( "compile", dep1.getScope() );
+        assertFalse( dep1.isOptional() );
+        assertEquals( 0, dep1.getExclusions().size() );
+        Artifact depArtifact = dep1.getArtifact();
+        assertEquals( "ut.simple", depArtifact.getGroupId() );
+        assertEquals( "dependency", depArtifact.getArtifactId() );
+        assertEquals( "1.0", depArtifact.getVersion() );
+        assertEquals( "1.0", depArtifact.getBaseVersion() );
+        assertNull( depArtifact.getFile() );
+        assertFalse( depArtifact.isSnapshot() );
+        assertEquals( "", depArtifact.getClassifier() );
+        assertEquals( "jar", depArtifact.getExtension() );
+        assertEquals( "java", depArtifact.getProperty( "language", null ) );
+        assertEquals( "jar", depArtifact.getProperty( "type", null ) );
+        assertEquals( "true", depArtifact.getProperty( "constitutesBuildPath", null ) );
+        assertEquals( "false", depArtifact.getProperty( "includesDependencies", null ) );
+        assertEquals( 4, depArtifact.getProperties().size() );
+
+        assertEquals( "compile", dep2.getScope() );
+        assertFalse( dep2.isOptional() );
+        assertEquals( 0, dep2.getExclusions().size() );
+        depArtifact = dep2.getArtifact();
+        assertEquals( "ut.simple", depArtifact.getGroupId() );
+        assertEquals( "dependency", depArtifact.getArtifactId() );
+        assertEquals( "1.0", depArtifact.getVersion() );
+        assertEquals( "1.0", depArtifact.getBaseVersion() );
+        assertNull( depArtifact.getFile() );
+        assertFalse( depArtifact.isSnapshot() );
+        assertEquals( "sources", depArtifact.getClassifier() );
+        assertEquals( "jar", depArtifact.getExtension() );
+        assertEquals( "java", depArtifact.getProperty( "language", null ) );
+        assertEquals( "jar", depArtifact.getProperty( "type", null ) ); // shouldn't it be java-sources given the classifier?
+        assertEquals( "true", depArtifact.getProperty( "constitutesBuildPath", null ) ); // shouldn't it be false given the classifier?
+        assertEquals( "false", depArtifact.getProperty( "includesDependencies", null ) );
+        assertEquals( 4, depArtifact.getProperties().size() );
+    }
+
+    public void testCollectDependencies()
+        throws Exception
+    {
+        Artifact artifact = new DefaultArtifact( "ut.simple:artifact:extension:classifier:1.0" );
+        // notice: extension and classifier not really used in this test...
+
+        CollectRequest collectRequest = new CollectRequest();
+        collectRequest.setRoot( new Dependency( artifact, null ) );
+        collectRequest.addRepository( newTestRepository() );
+
+        CollectResult collectResult = system.collectDependencies( session, collectRequest );
+
+        List<DependencyNode> nodes = collectResult.getRoot().getChildren();
+        assertEquals( 2, nodes.size() );
+        checkUtSimpleArtifactDependencies( nodes.get( 0 ).getDependency(), nodes.get( 1 ).getDependency() );
+    }
+
+    public void testResolveArtifact()
+        throws Exception
+    {
+        Artifact artifact = new DefaultArtifact( "ut.simple:artifact:1.0" );
+
+        ArtifactRequest artifactRequest = new ArtifactRequest();
+        artifactRequest.setArtifact( artifact );
+        artifactRequest.addRepository( newTestRepository() );
+
+        ArtifactResult artifactResult = system.resolveArtifact( session, artifactRequest );
+        checkArtifactResult( artifactResult, "artifact-1.0.jar" );
+
+        artifact = new DefaultArtifact( "ut.simple:artifact:zip:1.0" );
+        artifactRequest.setArtifact( artifact );
+        artifactResult = system.resolveArtifact( session, artifactRequest );
+        checkArtifactResult( artifactResult, "artifact-1.0.zip" );
+
+        artifact = new DefaultArtifact( "ut.simple:artifact:zip:classifier:1.0" );
+        artifactRequest.setArtifact( artifact );
+        artifactResult = system.resolveArtifact( session, artifactRequest );
+        checkArtifactResult( artifactResult, "artifact-1.0-classifier.zip" );
+    }
+
+    private void checkArtifactResult( ArtifactResult result, String filename )
+    {
+        assertFalse( result.isMissing() );
+        assertTrue( result.isResolved() );
+        Artifact artifact = result.getArtifact();
+        assertNotNull( artifact.getFile() );
+        assertEquals( filename, artifact.getFile().getName() );
+    }
+
+    public void testResolveArtifacts()
+        throws Exception
+    {
+        ArtifactRequest req1 = new ArtifactRequest();
+        req1.setArtifact( new DefaultArtifact( "ut.simple:artifact:1.0" ) );
+        req1.addRepository( newTestRepository() );
+
+        ArtifactRequest req2 = new ArtifactRequest();
+        req2.setArtifact( new DefaultArtifact( "ut.simple:artifact:zip:1.0" ) );
+        req2.addRepository( newTestRepository() );
+
+        ArtifactRequest req3 = new ArtifactRequest();
+        req3.setArtifact( new DefaultArtifact( "ut.simple:artifact:zip:classifier:1.0" ) );
+        req3.addRepository( newTestRepository() );
+
+        List<ArtifactRequest> requests = Arrays.asList( req1, req2, req3 );
+
+        List<ArtifactResult> results = system.resolveArtifacts( session, requests );
+
+        assertEquals( 3, results.size() );
+        checkArtifactResult( results.get( 0 ), "artifact-1.0.jar" );
+        checkArtifactResult( results.get( 1 ), "artifact-1.0.zip" );
+        checkArtifactResult( results.get( 2 ), "artifact-1.0-classifier.zip" );
+    }
+
+    public void testResolveMetadata()
+        throws Exception
+    {
+        //List<MetadataResult> resolveMetadata( RepositorySystemSession session,
+        //                                      Collection<? extends MetadataRequest> requests );
+    }
+
+    public void testInstall()
+        throws Exception
+    {
+        //InstallResult install( RepositorySystemSession session, InstallRequest request )
+        //                throws InstallationException;
+        // release, snapshot unique ou non unique, attachement
+    }
+
+    public void testDeploy()
+        throws Exception
+    {
+        //DeployResult deploy( RepositorySystemSession session, DeployRequest request )
+        //                throws DeploymentException;
+    }
+
+    public void testNewLocalRepositoryManager()
+        throws Exception
+    {
+        //LocalRepositoryManager newLocalRepositoryManager( LocalRepository localRepository );
+    }
+
+    public void testNewSyncContext()
+        throws Exception
+    {
+        //SyncContext newSyncContext( RepositorySystemSession session, boolean shared );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleRepositoryListener.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleRepositoryListener.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleRepositoryListener.java
new file mode 100644
index 0000000..2879a9f
--- /dev/null
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleRepositoryListener.java
@@ -0,0 +1,132 @@
+package org.apache.maven.repository.internal.util;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.PrintStream;
+
+import org.eclipse.aether.AbstractRepositoryListener;
+import org.eclipse.aether.RepositoryEvent;
+
+public class ConsoleRepositoryListener
+    extends AbstractRepositoryListener
+{
+
+    private PrintStream out;
+
+    public ConsoleRepositoryListener()
+    {
+        this( null );
+    }
+
+    public ConsoleRepositoryListener( PrintStream out )
+    {
+        this.out = ( out != null ) ? out : System.out;
+    }
+
+    public void artifactDeployed( RepositoryEvent event )
+    {
+        println( "artifactDeployed", event.getArtifact() + " to " + event.getRepository() );
+    }
+
+    public void artifactDeploying( RepositoryEvent event )
+    {
+        println( "artifactDeploying", event.getArtifact() + " to " + event.getRepository() );
+    }
+
+    public void artifactDescriptorInvalid( RepositoryEvent event )
+    {
+        println( "artifactDescriptorInvalid", "for " + event.getArtifact() + ": " + event.getException().getMessage() );
+    }
+
+    public void artifactDescriptorMissing( RepositoryEvent event )
+    {
+        println( "artifactDescriptorMissing", "for " + event.getArtifact() );
+    }
+
+    public void artifactInstalled( RepositoryEvent event )
+    {
+        println( "artifactInstalled", event.getArtifact() + " to " + event.getFile() );
+    }
+
+    public void artifactInstalling( RepositoryEvent event )
+    {
+        println( "artifactInstalling", event.getArtifact() + " to " + event.getFile() );
+    }
+
+    public void artifactResolved( RepositoryEvent event )
+    {
+        println( "artifactResolved", event.getArtifact() + " from " + event.getRepository() );
+    }
+
+    public void artifactDownloading( RepositoryEvent event )
+    {
+        println( "artifactDownloading", event.getArtifact() + " from " + event.getRepository() );
+    }
+
+    public void artifactDownloaded( RepositoryEvent event )
+    {
+        println( "artifactDownloaded", event.getArtifact() + " from " + event.getRepository() );
+    }
+
+    public void artifactResolving( RepositoryEvent event )
+    {
+        println( "artifactResolving", event.getArtifact().toString() );
+    }
+
+    public void metadataDeployed( RepositoryEvent event )
+    {
+        println( "metadataDeployed", event.getMetadata() + " to " + event.getRepository() );
+    }
+
+    public void metadataDeploying( RepositoryEvent event )
+    {
+        println( "metadataDeploying", event.getMetadata() + " to " + event.getRepository() );
+    }
+
+    public void metadataInstalled( RepositoryEvent event )
+    {
+        println( "metadataInstalled", event.getMetadata() + " to " + event.getFile() );
+    }
+
+    public void metadataInstalling( RepositoryEvent event )
+    {
+        println( "metadataInstalling", event.getMetadata() + " to " + event.getFile() );
+    }
+
+    public void metadataInvalid( RepositoryEvent event )
+    {
+        println( "metadataInvalid", event.getMetadata().toString() );
+    }
+
+    public void metadataResolved( RepositoryEvent event )
+    {
+        println( "metadataResolved", event.getMetadata() + " from " + event.getRepository() );
+    }
+
+    public void metadataResolving( RepositoryEvent event )
+    {
+        println( "metadataResolving", event.getMetadata() + " from " + event.getRepository() );
+    }
+
+    private void println( String event, String message )
+    {
+        out.println( "Aether Repository - " + event + ": " + message );
+    }
+}


[38/46] maven git commit: fixed documentation errors

Posted by sc...@apache.org.
fixed documentation errors

Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/0db5e32c
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/0db5e32c
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/0db5e32c

Branch: refs/heads/MNG-5984
Commit: 0db5e32cf59851086e895f1f541853b61df38121
Parents: dc9c4db
Author: Herv� Boutemy <hb...@apache.org>
Authored: Thu Feb 23 19:07:58 2017 +0100
Committer: Herv� Boutemy <hb...@apache.org>
Committed: Thu Feb 23 19:07:58 2017 +0100

----------------------------------------------------------------------
 .../src/main/java/org/apache/maven/cli/CLIManager.java       | 8 ++++----
 maven-model-builder/src/site/apt/index.apt                   | 6 ------
 2 files changed, 4 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/0db5e32c/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java b/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java
index 673f52d..a9038bf 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java
@@ -108,7 +108,7 @@ public class CLIManager
     {
         options = new Options();
         options.addOption( OptionBuilder.withLongOpt( "help" ).withDescription( "Display help information" ).create( HELP ) );
-        options.addOption( OptionBuilder.withLongOpt( "file" ).hasArg().withDescription( "Force the use of an alternate POM file (or directory with pom.xml, disables output color)" ).create( ALTERNATE_POM_FILE ) );
+        options.addOption( OptionBuilder.withLongOpt( "file" ).hasArg().withDescription( "Force the use of an alternate POM file (or directory with pom.xml)" ).create( ALTERNATE_POM_FILE ) );
         options.addOption( OptionBuilder.withLongOpt( "define" ).hasArg().withDescription( "Define a system property" ).create( SET_SYSTEM_PROPERTY ) );
         options.addOption( OptionBuilder.withLongOpt( "offline" ).withDescription( "Work offline" ).create( OFFLINE ) );
         options.addOption( OptionBuilder.withLongOpt( "version" ).withDescription( "Display version information" ).create( VERSION ) );
@@ -130,16 +130,16 @@ public class CLIManager
         options.addOption( OptionBuilder.withLongOpt( "fail-at-end" ).withDescription( "Only fail the build afterwards; allow all non-impacted builds to continue" ).create( FAIL_AT_END ) );
         options.addOption( OptionBuilder.withLongOpt( "fail-never" ).withDescription( "NEVER fail the build, regardless of project result" ).create( FAIL_NEVER ) );
         options.addOption( OptionBuilder.withLongOpt( "resume-from" ).hasArg().withDescription( "Resume reactor from specified project" ).create( RESUME_FROM ) );
-        options.addOption( OptionBuilder.withLongOpt( "projects" ).withDescription( "Comma-delimited list of specified reactor projects to build instead of all projects. A project can be specified by [groupId]:artifactId or by its relative path." ).hasArg().create( PROJECT_LIST ) );
+        options.addOption( OptionBuilder.withLongOpt( "projects" ).withDescription( "Comma-delimited list of specified reactor projects to build instead of all projects. A project can be specified by [groupId]:artifactId or by its relative path" ).hasArg().create( PROJECT_LIST ) );
         options.addOption( OptionBuilder.withLongOpt( "also-make" ).withDescription( "If project list is specified, also build projects required by the list" ).create( ALSO_MAKE ) );
         options.addOption( OptionBuilder.withLongOpt( "also-make-dependents" ).withDescription( "If project list is specified, also build projects that depend on projects on the list" ).create( ALSO_MAKE_DEPENDENTS ) );
-        options.addOption( OptionBuilder.withLongOpt( "log-file" ).hasArg().withDescription( "Log file where all build output will go." ).create( LOG_FILE ) );
+        options.addOption( OptionBuilder.withLongOpt( "log-file" ).hasArg().withDescription( "Log file where all build output will go (disables output color)" ).create( LOG_FILE ) );
         options.addOption( OptionBuilder.withLongOpt( "show-version" ).withDescription( "Display version information WITHOUT stopping build" ).create( SHOW_VERSION ) );
         options.addOption( OptionBuilder.withLongOpt( "encrypt-master-password" ).hasOptionalArg().withDescription( "Encrypt master security password" ).create( ENCRYPT_MASTER_PASSWORD ) );
         options.addOption( OptionBuilder.withLongOpt( "encrypt-password" ).hasOptionalArg().withDescription( "Encrypt server password" ).create( ENCRYPT_PASSWORD ) );
         options.addOption( OptionBuilder.withLongOpt( "threads" ).hasArg().withDescription( "Thread count, for instance 2.0C where C is core multiplied" ).create( THREADS ) );
         options.addOption( OptionBuilder.withLongOpt( "legacy-local-repository" ).withDescription( "Use Maven 2 Legacy Local Repository behaviour, ie no use of _remote.repositories. Can also be activated by using -Dmaven.legacyLocalRepo=true" ).create( LEGACY_LOCAL_REPOSITORY ) );
-        options.addOption( OptionBuilder.withLongOpt( "builder" ).hasArg().withDescription( "The id of the build strategy to use." ).create( BUILDER ) );
+        options.addOption( OptionBuilder.withLongOpt( "builder" ).hasArg().withDescription( "The id of the build strategy to use" ).create( BUILDER ) );
 
         // Adding this back in for compatibility with the verifier that hard codes this option.
         options.addOption( OptionBuilder.withLongOpt( "no-plugin-registry" ).withDescription( "Ineffective, only kept for backward compatibility" ).create( "npr" ) );

http://git-wip-us.apache.org/repos/asf/maven/blob/0db5e32c/maven-model-builder/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/site/apt/index.apt b/maven-model-builder/src/site/apt/index.apt
index 280c3b1..a14b4e3 100644
--- a/maven-model-builder/src/site/apt/index.apt
+++ b/maven-model-builder/src/site/apt/index.apt
@@ -57,12 +57,6 @@ Maven Model Builder
 
    ** parent resolution until {{{./super-pom.html}super-pom}}
 
-   []
-
- * phase 2, with optional plugin processing
-
-   ** dependency management import (for dependencies of type <<<pom>>> in the <<<\<dependencyManagement\>>>> section)
-
    ** inheritance assembly (see {{{./index.html#Inheritance_Assembly}below}})
 
    ** model interpolation (see {{{./index.html#Model_Interpolation}below}})


[13/46] maven git commit: [MNG-6146] Several small stylistic and spelling improvements to code and documentation

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
index 988df76..ba5e3a0 100644
--- a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
@@ -94,7 +94,7 @@ public class PomConstructionTest
     }
 
     /**
-     * Tests that modules is not overriden by profile
+     * Tests that modules is not overridden by profile
      *
      * @throws Exception
      */
@@ -207,7 +207,7 @@ public class PomConstructionTest
     {
         try
         {
-            buildPom( "unique-dependency-key/dep-mngt" );
+            buildPom( "unique-dependency-key/dep-mgmt" );
             fail( "Non-unique dependency keys did not cause validation error" );
         }
         catch ( ProjectBuildingException e )
@@ -235,7 +235,7 @@ public class PomConstructionTest
     {
         try
         {
-            buildPom( "unique-dependency-key/dep-mngt-in-profile" );
+            buildPom( "unique-dependency-key/dep-mgmt-in-profile" );
             fail( "Non-unique dependency keys did not cause validation error" );
         }
         catch ( ProjectBuildingException e )
@@ -414,7 +414,7 @@ public class PomConstructionTest
     public void testOrderOfGoalsFromPluginExecutionWithoutPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "plugin-exec-goals-order/wo-plugin-mngt" );
+        PomTestWrapper pom = buildPom( "plugin-exec-goals-order/wo-plugin-mgmt" );
         assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/executions[1]/goals" ) ).size() );
         assertEquals( "b", pom.getValue( "build/plugins[1]/executions[1]/goals[1]" ) );
         assertEquals( "a", pom.getValue( "build/plugins[1]/executions[1]/goals[2]" ) );
@@ -427,7 +427,7 @@ public class PomConstructionTest
     public void testOrderOfGoalsFromPluginExecutionWithPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "plugin-exec-goals-order/w-plugin-mngt" );
+        PomTestWrapper pom = buildPom( "plugin-exec-goals-order/w-plugin-mgmt" );
         assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/executions[1]/goals" ) ).size() );
         assertEquals( "b", pom.getValue( "build/plugins[1]/executions[1]/goals[1]" ) );
         assertEquals( "a", pom.getValue( "build/plugins[1]/executions[1]/goals[2]" ) );
@@ -439,7 +439,7 @@ public class PomConstructionTest
     public void testOrderOfPluginExecutionsWithoutPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "plugin-exec-order/wo-plugin-mngt" );
+        PomTestWrapper pom = buildPom( "plugin-exec-order/wo-plugin-mgmt" );
         assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
         assertEquals( "b", pom.getValue( "build/plugins[1]/executions[1]/id" ) );
         assertEquals( "a", pom.getValue( "build/plugins[1]/executions[2]/id" ) );
@@ -452,7 +452,7 @@ public class PomConstructionTest
     public void testOrderOfPluginExecutionsWithPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "plugin-exec-order/w-plugin-mngt" );
+        PomTestWrapper pom = buildPom( "plugin-exec-order/w-plugin-mgmt" );
         assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
         assertEquals( "b", pom.getValue( "build/plugins[1]/executions[1]/id" ) );
         assertEquals( "a", pom.getValue( "build/plugins[1]/executions[2]/id" ) );
@@ -488,7 +488,7 @@ public class PomConstructionTest
     public void testOrderOfMergedPluginExecutionsWithoutPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "merged-plugin-exec-order/wo-plugin-mngt/sub" );
+        PomTestWrapper pom = buildPom( "merged-plugin-exec-order/wo-plugin-mgmt/sub" );
         assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
         assertEquals( "parent-1", pom.getValue( "build/plugins[1]/executions[1]/goals[1]" ) );
         assertEquals( "parent-2", pom.getValue( "build/plugins[1]/executions[2]/goals[1]" ) );
@@ -500,7 +500,7 @@ public class PomConstructionTest
     public void testOrderOfMergedPluginExecutionsWithPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "merged-plugin-exec-order/w-plugin-mngt/sub" );
+        PomTestWrapper pom = buildPom( "merged-plugin-exec-order/w-plugin-mgmt/sub" );
         assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
         assertEquals( "parent-1", pom.getValue( "build/plugins[1]/executions[1]/goals[1]" ) );
         assertEquals( "parent-2", pom.getValue( "build/plugins[1]/executions[2]/goals[1]" ) );
@@ -522,7 +522,7 @@ public class PomConstructionTest
     public void testOrderOfMergedPluginExecutionGoalsWithoutPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "merged-plugin-exec-goals-order/wo-plugin-mngt/sub" );
+        PomTestWrapper pom = buildPom( "merged-plugin-exec-goals-order/wo-plugin-mgmt/sub" );
 
         assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/executions[1]/goals" ) ).size() );
         assertEquals( "child-a", pom.getValue( "build/plugins[1]/executions[1]/goals[1]" ) );
@@ -535,7 +535,7 @@ public class PomConstructionTest
     public void testOrderOfMergedPluginExecutionGoalsWithPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "merged-plugin-exec-goals-order/w-plugin-mngt/sub" );
+        PomTestWrapper pom = buildPom( "merged-plugin-exec-goals-order/w-plugin-mgmt/sub" );
         assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/executions[1]/goals" ) ).size() );
         assertEquals( "child-a", pom.getValue( "build/plugins[1]/executions[1]/goals[1]" ) );
         assertEquals( "merged", pom.getValue( "build/plugins[1]/executions[1]/goals[2]" ) );
@@ -548,7 +548,7 @@ public class PomConstructionTest
     public void testOverridingOfInheritedPluginExecutionsWithoutPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "plugin-exec-merging/wo-plugin-mngt/sub" );
+        PomTestWrapper pom = buildPom( "plugin-exec-merging/wo-plugin-mgmt/sub" );
         assertEquals( 2, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
         assertEquals( "child-default", pom.getValue( "build/plugins[1]/executions[@id='default']/phase" ) );
         assertEquals( "child-non-default", pom.getValue( "build/plugins[1]/executions[@id='non-default']/phase" ) );
@@ -558,7 +558,7 @@ public class PomConstructionTest
     public void testOverridingOfInheritedPluginExecutionsWithPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "plugin-exec-merging/w-plugin-mngt/sub" );
+        PomTestWrapper pom = buildPom( "plugin-exec-merging/w-plugin-mgmt/sub" );
         assertEquals( 2, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
         assertEquals( "child-default", pom.getValue( "build/plugins[1]/executions[@id='default']/phase" ) );
         assertEquals( "child-non-default", pom.getValue( "build/plugins[1]/executions[@id='non-default']/phase" ) );
@@ -569,7 +569,7 @@ public class PomConstructionTest
     public void testOrderOfMergedPluginDependenciesWithoutPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "merged-plugin-class-path-order/wo-plugin-mngt/sub" );
+        PomTestWrapper pom = buildPom( "merged-plugin-class-path-order/wo-plugin-mgmt/sub" );
 
         assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/dependencies" ) ).size() );
         assertNotNull( pom.getValue( "build/plugins[1]/dependencies[1]" ) );
@@ -588,7 +588,7 @@ public class PomConstructionTest
     public void testOrderOfMergedPluginDependenciesWithPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "merged-plugin-class-path-order/w-plugin-mngt/sub" );
+        PomTestWrapper pom = buildPom( "merged-plugin-class-path-order/w-plugin-mgmt/sub" );
         assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/dependencies" ) ).size() );
         assertEquals( "c", pom.getValue( "build/plugins[1]/dependencies[1]/artifactId" ) );
         assertEquals( "1", pom.getValue( "build/plugins[1]/dependencies[1]/version" ) );
@@ -769,7 +769,7 @@ public class PomConstructionTest
     public void testOrderOfPluginConfigurationElementsWithoutPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "plugin-config-order/wo-plugin-mngt" );
+        PomTestWrapper pom = buildPom( "plugin-config-order/wo-plugin-mgmt" );
         assertEquals( "one", pom.getValue( "build/plugins[1]/configuration/stringParams/stringParam[1]" ) );
         assertEquals( "two", pom.getValue( "build/plugins[1]/configuration/stringParams/stringParam[2]" ) );
         assertEquals( "three", pom.getValue( "build/plugins[1]/configuration/stringParams/stringParam[3]" ) );
@@ -780,7 +780,7 @@ public class PomConstructionTest
     public void testOrderOfPluginConfigurationElementsWithPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "plugin-config-order/w-plugin-mngt" );
+        PomTestWrapper pom = buildPom( "plugin-config-order/w-plugin-mgmt" );
         assertEquals( "one", pom.getValue( "build/plugins[1]/configuration/stringParams/stringParam[1]" ) );
         assertEquals( "two", pom.getValue( "build/plugins[1]/configuration/stringParams/stringParam[2]" ) );
         assertEquals( "three", pom.getValue( "build/plugins[1]/configuration/stringParams/stringParam[3]" ) );
@@ -790,7 +790,7 @@ public class PomConstructionTest
     public void testOrderOfPluginExecutionConfigurationElementsWithoutPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "plugin-exec-config-order/wo-plugin-mngt" );
+        PomTestWrapper pom = buildPom( "plugin-exec-config-order/wo-plugin-mgmt" );
         String prefix = "build/plugins[1]/executions[1]/configuration/";
         assertEquals( "one", pom.getValue( prefix + "stringParams/stringParam[1]" ) );
         assertEquals( "two", pom.getValue( prefix + "stringParams/stringParam[2]" ) );
@@ -804,7 +804,7 @@ public class PomConstructionTest
     public void testOrderOfPluginExecutionConfigurationElementsWithPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "plugin-exec-config-order/w-plugin-mngt" );
+        PomTestWrapper pom = buildPom( "plugin-exec-config-order/w-plugin-mgmt" );
         String prefix = "build/plugins[1]/executions[1]/configuration/";
         assertEquals( "one", pom.getValue( prefix + "stringParams/stringParam[1]" ) );
         assertEquals( "two", pom.getValue( prefix + "stringParams/stringParam[2]" ) );
@@ -876,7 +876,7 @@ public class PomConstructionTest
     public void testMultiplePluginExecutionsWithAndWithoutIdsWithoutPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "plugin-exec-w-and-wo-id/wo-plugin-mngt" );
+        PomTestWrapper pom = buildPom( "plugin-exec-w-and-wo-id/wo-plugin-mgmt" );
         assertEquals( 2, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
         assertEquals( "log-string", pom.getValue( "build/plugins[1]/executions[1]/goals[1]" ) );
         assertEquals( "log-string", pom.getValue( "build/plugins[1]/executions[2]/goals[1]" ) );
@@ -885,7 +885,7 @@ public class PomConstructionTest
     public void testMultiplePluginExecutionsWithAndWithoutIdsWithPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "plugin-exec-w-and-wo-id/w-plugin-mngt" );
+        PomTestWrapper pom = buildPom( "plugin-exec-w-and-wo-id/w-plugin-mgmt" );
         assertEquals( 2, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
         assertEquals( "log-string", pom.getValue( "build/plugins[1]/executions[1]/goals[1]" ) );
         assertEquals( "log-string", pom.getValue( "build/plugins[1]/executions[2]/goals[1]" ) );
@@ -894,7 +894,7 @@ public class PomConstructionTest
     public void testDependencyOrderWithoutPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "dependency-order/wo-plugin-mngt" );
+        PomTestWrapper pom = buildPom( "dependency-order/wo-plugin-mgmt" );
         assertEquals( 4, ( (List<?>) pom.getValue( "dependencies" ) ).size() );
         assertEquals( "a", pom.getValue( "dependencies[1]/artifactId" ) );
         assertEquals( "c", pom.getValue( "dependencies[2]/artifactId" ) );
@@ -905,7 +905,7 @@ public class PomConstructionTest
     public void testDependencyOrderWithPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "dependency-order/w-plugin-mngt" );
+        PomTestWrapper pom = buildPom( "dependency-order/w-plugin-mgmt" );
         assertEquals( 4, ( (List<?>) pom.getValue( "dependencies" ) ).size() );
         assertEquals( "a", pom.getValue( "dependencies[1]/artifactId" ) );
         assertEquals( "c", pom.getValue( "dependencies[2]/artifactId" ) );
@@ -1033,7 +1033,7 @@ public class PomConstructionTest
     public void testPluginConfigurationUsingAttributesWithoutPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "plugin-config-attributes/wo-plugin-mngt" );
+        PomTestWrapper pom = buildPom( "plugin-config-attributes/wo-plugin-mgmt" );
         assertEquals( "src", pom.getValue( "build/plugins[1]/configuration/domParam/copy/@todir" ) );
         assertEquals( "true", pom.getValue( "build/plugins[1]/configuration/domParam/copy/@overwrite" ) );
         assertEquals( "target", pom.getValue( "build/plugins[1]/configuration/domParam/copy/fileset/@dir" ) );
@@ -1045,7 +1045,7 @@ public class PomConstructionTest
     public void testPluginConfigurationUsingAttributesWithPluginManagement()
         throws Exception
     {
-        PomTestWrapper pom = buildPom( "plugin-config-attributes/w-plugin-mngt" );
+        PomTestWrapper pom = buildPom( "plugin-config-attributes/w-plugin-mgmt" );
         assertEquals( "src", pom.getValue( "build/plugins[1]/configuration/domParam/copy/@todir" ) );
         assertEquals( "true", pom.getValue( "build/plugins[1]/configuration/domParam/copy/@overwrite" ) );
         assertEquals( "target", pom.getValue( "build/plugins[1]/configuration/domParam/copy/fileset/@dir" ) );
@@ -1518,7 +1518,7 @@ public class PomConstructionTest
     {
         Properties sysProps = new Properties();
         sysProps.setProperty( "system.property", "PASSED" );
-        PomTestWrapper pom = buildPom( "sytem-property-interpolation", sysProps );
+        PomTestWrapper pom = buildPom( "system-property-interpolation", sysProps );
         assertEquals( "PASSED", pom.getValue( "name" ) );
     }
 

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/java/org/apache/maven/project/ProjectSorterTest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/project/ProjectSorterTest.java b/maven-core/src/test/java/org/apache/maven/project/ProjectSorterTest.java
index eda9010..c145ee0 100644
--- a/maven-core/src/test/java/org/apache/maven/project/ProjectSorterTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/ProjectSorterTest.java
@@ -64,11 +64,11 @@ public class ProjectSorterTest
 
     private Dependency createDependency( String groupId, String artifactId, String version )
     {
-        Dependency depdendency = new Dependency();
-        depdendency.setGroupId( groupId );
-        depdendency.setArtifactId( artifactId );
-        depdendency.setVersion( version );
-        return depdendency;
+        Dependency dependency = new Dependency();
+        dependency.setGroupId( groupId );
+        dependency.setArtifactId( artifactId );
+        dependency.setVersion( version );
+        return dependency;
     }
 
     private Plugin createPlugin( MavenProject project )

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/java/org/apache/maven/toolchain/merge/MavenToolchainMergerTest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/toolchain/merge/MavenToolchainMergerTest.java b/maven-core/src/test/java/org/apache/maven/toolchain/merge/MavenToolchainMergerTest.java
index 536e1a6..5ad762a 100644
--- a/maven-core/src/test/java/org/apache/maven/toolchain/merge/MavenToolchainMergerTest.java
+++ b/maven-core/src/test/java/org/apache/maven/toolchain/merge/MavenToolchainMergerTest.java
@@ -84,7 +84,7 @@ public class MavenToolchainMergerTest
             PersistedToolchains jdksExtra = reader.read( jdksExtraIS );
             assertEquals( 2, jdks.getToolchains().size() );
 
-            // switch dominant with reccessive
+            // switch dominant with recessive
             merger.merge( jdksExtra, jdks, TrackableBase.USER_LEVEL );
             assertEquals( 4, jdksExtra.getToolchains().size() );
             assertEquals( 2, jdks.getToolchains().size() );
@@ -119,7 +119,7 @@ public class MavenToolchainMergerTest
             PersistedToolchains jdksExtend = reader.read( jdksExtendIS );
             assertEquals( 2, jdks.getToolchains().size() );
 
-            // switch dominant with reccessive
+            // switch dominant with recessive
             merger.merge( jdksExtend, jdks, TrackableBase.USER_LEVEL );
             assertEquals( 2, jdksExtend.getToolchains().size() );
             Xpp3Dom config0 = (Xpp3Dom) jdksExtend.getToolchains().get( 0 ).getConfiguration();

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/lifecycle/test/AppTest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/lifecycle/test/AppTest.java b/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/lifecycle/test/AppTest.java
index 469cb2c..b1ae1ed 100644
--- a/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/lifecycle/test/AppTest.java
+++ b/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/lifecycle/test/AppTest.java
@@ -29,7 +29,7 @@ public class AppTest
     }
 
     /**
-     * Rigourous Test :-)
+     * Rigorous Test :-)
      */
     public void testApp()
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/dependency-order/w-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/dependency-order/w-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/dependency-order/w-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..5882ab5
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/dependency-order/w-plugin-mgmt/pom.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng4003</groupId>
+  <artifactId>test</artifactId>
+  <version>1.0-SNAPSHOT</version>
+
+  <name>Maven Integration Test :: MNG-4003</name>
+  <description>
+    Verify that dependencies survive the project construction in the POM order.
+  </description>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven.its.mng4003</groupId>
+      <artifactId>a</artifactId>
+      <version>1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.its.mng4003</groupId>
+      <artifactId>c</artifactId>
+      <version>1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.its.mng4003</groupId>
+      <artifactId>b</artifactId>
+      <version>1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.its.mng4003</groupId>
+      <artifactId>d</artifactId>
+      <version>1</version>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <!-- NOTE: The combination with a plugin management section is an essential part of the test -->
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <artifactId>maven-clean-plugin</artifactId>
+          <version>2.3</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/dependency-order/w-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/dependency-order/w-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/dependency-order/w-plugin-mngt/pom.xml
deleted file mode 100644
index 5882ab5..0000000
--- a/maven-core/src/test/resources-project-builder/dependency-order/w-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng4003</groupId>
-  <artifactId>test</artifactId>
-  <version>1.0-SNAPSHOT</version>
-
-  <name>Maven Integration Test :: MNG-4003</name>
-  <description>
-    Verify that dependencies survive the project construction in the POM order.
-  </description>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven.its.mng4003</groupId>
-      <artifactId>a</artifactId>
-      <version>1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.its.mng4003</groupId>
-      <artifactId>c</artifactId>
-      <version>1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.its.mng4003</groupId>
-      <artifactId>b</artifactId>
-      <version>1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.its.mng4003</groupId>
-      <artifactId>d</artifactId>
-      <version>1</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <!-- NOTE: The combination with a plugin management section is an essential part of the test -->
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <artifactId>maven-clean-plugin</artifactId>
-          <version>2.3</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/dependency-order/wo-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/dependency-order/wo-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/dependency-order/wo-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..57bd6d0
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/dependency-order/wo-plugin-mgmt/pom.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng4003</groupId>
+  <artifactId>test</artifactId>
+  <version>1.0-SNAPSHOT</version>
+
+  <name>Maven Integration Test :: MNG-4003</name>
+  <description>
+    Verify that dependencies survive the project construction in the POM order.
+  </description>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven.its.mng4003</groupId>
+      <artifactId>a</artifactId>
+      <version>1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.its.mng4003</groupId>
+      <artifactId>c</artifactId>
+      <version>1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.its.mng4003</groupId>
+      <artifactId>b</artifactId>
+      <version>1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.its.mng4003</groupId>
+      <artifactId>d</artifactId>
+      <version>1</version>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <!-- NOTE: The combination with a plugin section is an essential part of the test -->
+    <plugins>
+      <plugin>
+        <artifactId>maven-clean-plugin</artifactId>
+        <version>2.3</version>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/dependency-order/wo-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/dependency-order/wo-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/dependency-order/wo-plugin-mngt/pom.xml
deleted file mode 100644
index 57bd6d0..0000000
--- a/maven-core/src/test/resources-project-builder/dependency-order/wo-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng4003</groupId>
-  <artifactId>test</artifactId>
-  <version>1.0-SNAPSHOT</version>
-
-  <name>Maven Integration Test :: MNG-4003</name>
-  <description>
-    Verify that dependencies survive the project construction in the POM order.
-  </description>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven.its.mng4003</groupId>
-      <artifactId>a</artifactId>
-      <version>1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.its.mng4003</groupId>
-      <artifactId>c</artifactId>
-      <version>1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.its.mng4003</groupId>
-      <artifactId>b</artifactId>
-      <version>1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.its.mng4003</groupId>
-      <artifactId>d</artifactId>
-      <version>1</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <!-- NOTE: The combination with a plugin section is an essential part of the test -->
-    <plugins>
-      <plugin>
-        <artifactId>maven-clean-plugin</artifactId>
-        <version>2.3</version>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..aba6bdf
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mgmt/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3906</groupId>
+  <artifactId>parent</artifactId>
+  <version>0.1</version>
+  <packaging>pom</packaging>
+
+  <name>Maven Integration Test :: MNG-3906</name>
+  <description>
+    Test that project-level plugin dependencies are properly merged during inheritance.
+  </description>
+
+  <build>
+  	<!-- NOTE: This parent uses plugin management -->
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.its.plugins</groupId>
+          <artifactId>maven-it-plugin-class-loader</artifactId>
+          <version>2.1-SNAPSHOT</version>
+          <dependencies>
+            <dependency>
+              <groupId>org.apache.maven.its.mng3906</groupId>
+              <artifactId>e</artifactId>
+              <version>1</version>
+            </dependency>
+            <dependency>
+              <groupId>org.apache.maven.its.mng3906</groupId>
+              <artifactId>a</artifactId>
+              <version>1</version>
+            </dependency>
+            <dependency>
+              <groupId>org.apache.maven.its.mng3906</groupId>
+              <artifactId>d</artifactId>
+              <version>1</version>
+            </dependency>
+          </dependencies>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mgmt/sub/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mgmt/sub/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mgmt/sub/pom.xml
new file mode 100644
index 0000000..1877ea5
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mgmt/sub/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.its.mng3906</groupId>
+    <artifactId>parent</artifactId>
+    <version>0.1</version>
+  </parent>
+
+  <artifactId>child</artifactId>
+
+  <name>Maven Integration Test :: MNG-3906</name>
+  <description>
+    Test that project-level plugin dependencies are properly merged during inheritance.
+  </description>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-class-loader</artifactId>
+        <version>2.1-SNAPSHOT</version>
+        <dependencies>
+          <dependency>
+            <groupId>org.apache.maven.its.mng3906</groupId>
+            <artifactId>c</artifactId>
+            <version>1</version>
+          </dependency>
+          <dependency>
+            <groupId>org.apache.maven.its.mng3906</groupId>
+            <artifactId>a</artifactId>
+            <version>2</version>
+          </dependency>
+          <dependency>
+            <groupId>org.apache.maven.its.mng3906</groupId>
+            <artifactId>b</artifactId>
+            <version>1</version>
+          </dependency>
+        </dependencies>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/pom.xml
deleted file mode 100644
index aba6bdf..0000000
--- a/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng3906</groupId>
-  <artifactId>parent</artifactId>
-  <version>0.1</version>
-  <packaging>pom</packaging>
-
-  <name>Maven Integration Test :: MNG-3906</name>
-  <description>
-    Test that project-level plugin dependencies are properly merged during inheritance.
-  </description>
-
-  <build>
-  	<!-- NOTE: This parent uses plugin management -->
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.its.plugins</groupId>
-          <artifactId>maven-it-plugin-class-loader</artifactId>
-          <version>2.1-SNAPSHOT</version>
-          <dependencies>
-            <dependency>
-              <groupId>org.apache.maven.its.mng3906</groupId>
-              <artifactId>e</artifactId>
-              <version>1</version>
-            </dependency>
-            <dependency>
-              <groupId>org.apache.maven.its.mng3906</groupId>
-              <artifactId>a</artifactId>
-              <version>1</version>
-            </dependency>
-            <dependency>
-              <groupId>org.apache.maven.its.mng3906</groupId>
-              <artifactId>d</artifactId>
-              <version>1</version>
-            </dependency>
-          </dependencies>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/sub/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/sub/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/sub/pom.xml
deleted file mode 100644
index 1877ea5..0000000
--- a/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/sub/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.maven.its.mng3906</groupId>
-    <artifactId>parent</artifactId>
-    <version>0.1</version>
-  </parent>
-
-  <artifactId>child</artifactId>
-
-  <name>Maven Integration Test :: MNG-3906</name>
-  <description>
-    Test that project-level plugin dependencies are properly merged during inheritance.
-  </description>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-class-loader</artifactId>
-        <version>2.1-SNAPSHOT</version>
-        <dependencies>
-          <dependency>
-            <groupId>org.apache.maven.its.mng3906</groupId>
-            <artifactId>c</artifactId>
-            <version>1</version>
-          </dependency>
-          <dependency>
-            <groupId>org.apache.maven.its.mng3906</groupId>
-            <artifactId>a</artifactId>
-            <version>2</version>
-          </dependency>
-          <dependency>
-            <groupId>org.apache.maven.its.mng3906</groupId>
-            <artifactId>b</artifactId>
-            <version>1</version>
-          </dependency>
-        </dependencies>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..10226cf
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mgmt/pom.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3906</groupId>
+  <artifactId>parent</artifactId>
+  <version>0.1</version>
+  <packaging>pom</packaging>
+
+  <name>Maven Integration Test :: MNG-3906</name>
+  <description>
+    Test that project-level plugin dependencies are properly merged during inheritance.
+  </description>
+
+  <build>
+    <!-- NOTE: This parent does not use plugin management -->
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-class-loader</artifactId>
+        <version>2.1-SNAPSHOT</version>
+        <dependencies>
+          <dependency>
+            <groupId>org.apache.maven.its.mng3906</groupId>
+            <artifactId>e</artifactId>
+            <version>1</version>
+          </dependency>
+          <dependency>
+            <groupId>org.apache.maven.its.mng3906</groupId>
+            <artifactId>a</artifactId>
+            <version>1</version>
+          </dependency>
+          <dependency>
+            <groupId>org.apache.maven.its.mng3906</groupId>
+            <artifactId>d</artifactId>
+            <version>1</version>
+          </dependency>
+        </dependencies>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mgmt/sub/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mgmt/sub/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mgmt/sub/pom.xml
new file mode 100644
index 0000000..1877ea5
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mgmt/sub/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.its.mng3906</groupId>
+    <artifactId>parent</artifactId>
+    <version>0.1</version>
+  </parent>
+
+  <artifactId>child</artifactId>
+
+  <name>Maven Integration Test :: MNG-3906</name>
+  <description>
+    Test that project-level plugin dependencies are properly merged during inheritance.
+  </description>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-class-loader</artifactId>
+        <version>2.1-SNAPSHOT</version>
+        <dependencies>
+          <dependency>
+            <groupId>org.apache.maven.its.mng3906</groupId>
+            <artifactId>c</artifactId>
+            <version>1</version>
+          </dependency>
+          <dependency>
+            <groupId>org.apache.maven.its.mng3906</groupId>
+            <artifactId>a</artifactId>
+            <version>2</version>
+          </dependency>
+          <dependency>
+            <groupId>org.apache.maven.its.mng3906</groupId>
+            <artifactId>b</artifactId>
+            <version>1</version>
+          </dependency>
+        </dependencies>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/pom.xml
deleted file mode 100644
index 10226cf..0000000
--- a/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng3906</groupId>
-  <artifactId>parent</artifactId>
-  <version>0.1</version>
-  <packaging>pom</packaging>
-
-  <name>Maven Integration Test :: MNG-3906</name>
-  <description>
-    Test that project-level plugin dependencies are properly merged during inheritance.
-  </description>
-
-  <build>
-    <!-- NOTE: This parent does not use plugin management -->
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-class-loader</artifactId>
-        <version>2.1-SNAPSHOT</version>
-        <dependencies>
-          <dependency>
-            <groupId>org.apache.maven.its.mng3906</groupId>
-            <artifactId>e</artifactId>
-            <version>1</version>
-          </dependency>
-          <dependency>
-            <groupId>org.apache.maven.its.mng3906</groupId>
-            <artifactId>a</artifactId>
-            <version>1</version>
-          </dependency>
-          <dependency>
-            <groupId>org.apache.maven.its.mng3906</groupId>
-            <artifactId>d</artifactId>
-            <version>1</version>
-          </dependency>
-        </dependencies>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/sub/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/sub/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/sub/pom.xml
deleted file mode 100644
index 1877ea5..0000000
--- a/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/sub/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.maven.its.mng3906</groupId>
-    <artifactId>parent</artifactId>
-    <version>0.1</version>
-  </parent>
-
-  <artifactId>child</artifactId>
-
-  <name>Maven Integration Test :: MNG-3906</name>
-  <description>
-    Test that project-level plugin dependencies are properly merged during inheritance.
-  </description>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-class-loader</artifactId>
-        <version>2.1-SNAPSHOT</version>
-        <dependencies>
-          <dependency>
-            <groupId>org.apache.maven.its.mng3906</groupId>
-            <artifactId>c</artifactId>
-            <version>1</version>
-          </dependency>
-          <dependency>
-            <groupId>org.apache.maven.its.mng3906</groupId>
-            <artifactId>a</artifactId>
-            <version>2</version>
-          </dependency>
-          <dependency>
-            <groupId>org.apache.maven.its.mng3906</groupId>
-            <artifactId>b</artifactId>
-            <version>1</version>
-          </dependency>
-        </dependencies>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..fc09dba
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mgmt/pom.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3937</groupId>
+  <artifactId>parent-2</artifactId>
+  <version>0.1</version>
+  <packaging>pom</packaging>
+
+  <name>Maven Integration Test :: MNG-3937</name>
+  <description>
+    Test that during inheritance/merging of a plugin execution the goals specified by child and parent are properly
+    ordered.
+  </description>
+
+  <build>
+    <!-- This project uses plugin management for the test plugin -->
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.its.plugins</groupId>
+          <artifactId>maven-it-plugin-a</artifactId>
+          <version>1.0-SNAPSHOT</version>
+          <executions>
+            <execution>
+              <id>merge</id>
+              <phase>validate</phase>
+              <goals>
+                <goal>parent-b</goal>
+                <goal>merged</goal>
+                <goal>parent-a</goal>
+              </goals>
+            </execution>
+          </executions>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mgmt/sub/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mgmt/sub/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mgmt/sub/pom.xml
new file mode 100644
index 0000000..2148aa9
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mgmt/sub/pom.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.its.mng3937</groupId>
+    <artifactId>parent-2</artifactId>
+    <version>0.1</version>
+  </parent>
+
+  <artifactId>child-2</artifactId>
+
+  <name>Maven Integration Test :: MNG-3937</name>
+  <description>
+    Test that during inheritance/merging of a plugin execution the goals specified by child and parent are properly
+    ordered.
+  </description>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-a</artifactId>
+        <version>1.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <id>merge</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>child-a</goal>
+              <goal>merged</goal>
+              <goal>child-b</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mngt/pom.xml
deleted file mode 100644
index fc09dba..0000000
--- a/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng3937</groupId>
-  <artifactId>parent-2</artifactId>
-  <version>0.1</version>
-  <packaging>pom</packaging>
-
-  <name>Maven Integration Test :: MNG-3937</name>
-  <description>
-    Test that during inheritance/merging of a plugin execution the goals specified by child and parent are properly
-    ordered.
-  </description>
-
-  <build>
-    <!-- This project uses plugin management for the test plugin -->
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.its.plugins</groupId>
-          <artifactId>maven-it-plugin-a</artifactId>
-          <version>1.0-SNAPSHOT</version>
-          <executions>
-            <execution>
-              <id>merge</id>
-              <phase>validate</phase>
-              <goals>
-                <goal>parent-b</goal>
-                <goal>merged</goal>
-                <goal>parent-a</goal>
-              </goals>
-            </execution>
-          </executions>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mngt/sub/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mngt/sub/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mngt/sub/pom.xml
deleted file mode 100644
index 2148aa9..0000000
--- a/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mngt/sub/pom.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.maven.its.mng3937</groupId>
-    <artifactId>parent-2</artifactId>
-    <version>0.1</version>
-  </parent>
-
-  <artifactId>child-2</artifactId>
-
-  <name>Maven Integration Test :: MNG-3937</name>
-  <description>
-    Test that during inheritance/merging of a plugin execution the goals specified by child and parent are properly
-    ordered.
-  </description>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-a</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <executions>
-          <execution>
-            <id>merge</id>
-            <phase>validate</phase>
-            <goals>
-              <goal>child-a</goal>
-              <goal>merged</goal>
-              <goal>child-b</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..b9c3f18
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mgmt/pom.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3937</groupId>
+  <artifactId>parent-1</artifactId>
+  <version>0.1</version>
+  <packaging>pom</packaging>
+
+  <name>Maven Integration Test :: MNG-3937</name>
+  <description>
+    Test that during inheritance/merging of a plugin execution the goals specified by child and parent are properly
+    ordered.
+  </description>
+
+  <build>
+    <!-- This project does not use plugin management for the test plugin -->
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-a</artifactId>
+        <version>1.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <id>merge</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>parent-b</goal>
+              <goal>merged</goal>
+              <goal>parent-a</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mgmt/sub/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mgmt/sub/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mgmt/sub/pom.xml
new file mode 100644
index 0000000..fab233b
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mgmt/sub/pom.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.its.mng3937</groupId>
+    <artifactId>parent-1</artifactId>
+    <version>0.1</version>
+  </parent>
+
+  <artifactId>child-1</artifactId>
+
+  <name>Maven Integration Test :: MNG-3937</name>
+  <description>
+    Test that during inheritance/merging of a plugin execution the goals specified by child and parent are properly
+    ordered.
+  </description>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-a</artifactId>
+        <version>1.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <id>merge</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>child-a</goal>
+              <goal>merged</goal>
+              <goal>child-b</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mngt/pom.xml
deleted file mode 100644
index b9c3f18..0000000
--- a/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng3937</groupId>
-  <artifactId>parent-1</artifactId>
-  <version>0.1</version>
-  <packaging>pom</packaging>
-
-  <name>Maven Integration Test :: MNG-3937</name>
-  <description>
-    Test that during inheritance/merging of a plugin execution the goals specified by child and parent are properly
-    ordered.
-  </description>
-
-  <build>
-    <!-- This project does not use plugin management for the test plugin -->
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-a</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <executions>
-          <execution>
-            <id>merge</id>
-            <phase>validate</phase>
-            <goals>
-              <goal>parent-b</goal>
-              <goal>merged</goal>
-              <goal>parent-a</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mngt/sub/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mngt/sub/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mngt/sub/pom.xml
deleted file mode 100644
index fab233b..0000000
--- a/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mngt/sub/pom.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.maven.its.mng3937</groupId>
-    <artifactId>parent-1</artifactId>
-    <version>0.1</version>
-  </parent>
-
-  <artifactId>child-1</artifactId>
-
-  <name>Maven Integration Test :: MNG-3937</name>
-  <description>
-    Test that during inheritance/merging of a plugin execution the goals specified by child and parent are properly
-    ordered.
-  </description>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-a</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <executions>
-          <execution>
-            <id>merge</id>
-            <phase>validate</phase>
-            <goals>
-              <goal>child-a</goal>
-              <goal>merged</goal>
-              <goal>child-b</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..ee4dedc
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mgmt/pom.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3925</groupId>
+  <artifactId>parent</artifactId>
+  <version>0.1</version>
+  <packaging>pom</packaging>
+
+  <name>Maven Integration Test :: MNG-3925</name>
+  <description>
+    Test that plugin executions (in the same phase) are properly ordered after inheritance/merge with
+    parent executions.
+  </description>
+
+  <build>
+    <!-- This project uses plugin management for the test plugin -->
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.its.plugins</groupId>
+          <artifactId>maven-it-plugin-a</artifactId>
+          <version>1.0-SNAPSHOT</version>
+          <executions>
+            <execution>
+              <id>parent-1</id>
+              <phase>validate</phase>
+              <goals>
+                <goal>parent-1</goal>
+              </goals>
+            </execution>
+            <execution>
+              <id>parent-2</id>
+              <phase>validate</phase>
+              <goals>
+                <goal>parent-2</goal>
+              </goals>
+            </execution>
+            <execution>
+              <!-- NOTE: <id> deliberately omitted to use default value -->
+              <phase>validate</phase>
+              <goals>
+                <goal>parent-default</goal>
+              </goals>
+            </execution>
+          </executions>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mgmt/sub/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mgmt/sub/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mgmt/sub/pom.xml
new file mode 100644
index 0000000..bf777db
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mgmt/sub/pom.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.its.mng3925</groupId>
+    <artifactId>parent</artifactId>
+    <version>0.1</version>
+  </parent>
+
+  <artifactId>child</artifactId>
+
+  <name>Maven Integration Test :: MNG-3925</name>
+  <description>
+    Test that plugin executions (in the same phase) are properly ordered after inheritance/merge with
+    parent executions.
+  </description>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-a</artifactId>
+        <version>1.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <id>child-1</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>child-1</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>child-2</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>child-2</goal>
+            </goals>
+          </execution>
+          <execution>
+            <!-- NOTE: <id> deliberately omitted to use default value -->
+            <phase>validate</phase>
+            <goals>
+              <goal>child-default</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mngt/pom.xml
deleted file mode 100644
index ee4dedc..0000000
--- a/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng3925</groupId>
-  <artifactId>parent</artifactId>
-  <version>0.1</version>
-  <packaging>pom</packaging>
-
-  <name>Maven Integration Test :: MNG-3925</name>
-  <description>
-    Test that plugin executions (in the same phase) are properly ordered after inheritance/merge with
-    parent executions.
-  </description>
-
-  <build>
-    <!-- This project uses plugin management for the test plugin -->
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.its.plugins</groupId>
-          <artifactId>maven-it-plugin-a</artifactId>
-          <version>1.0-SNAPSHOT</version>
-          <executions>
-            <execution>
-              <id>parent-1</id>
-              <phase>validate</phase>
-              <goals>
-                <goal>parent-1</goal>
-              </goals>
-            </execution>
-            <execution>
-              <id>parent-2</id>
-              <phase>validate</phase>
-              <goals>
-                <goal>parent-2</goal>
-              </goals>
-            </execution>
-            <execution>
-              <!-- NOTE: <id> deliberately omitted to use default value -->
-              <phase>validate</phase>
-              <goals>
-                <goal>parent-default</goal>
-              </goals>
-            </execution>
-          </executions>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mngt/sub/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mngt/sub/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mngt/sub/pom.xml
deleted file mode 100644
index bf777db..0000000
--- a/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mngt/sub/pom.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.maven.its.mng3925</groupId>
-    <artifactId>parent</artifactId>
-    <version>0.1</version>
-  </parent>
-
-  <artifactId>child</artifactId>
-
-  <name>Maven Integration Test :: MNG-3925</name>
-  <description>
-    Test that plugin executions (in the same phase) are properly ordered after inheritance/merge with
-    parent executions.
-  </description>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-a</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <executions>
-          <execution>
-            <id>child-1</id>
-            <phase>validate</phase>
-            <goals>
-              <goal>child-1</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>child-2</id>
-            <phase>validate</phase>
-            <goals>
-              <goal>child-2</goal>
-            </goals>
-          </execution>
-          <execution>
-            <!-- NOTE: <id> deliberately omitted to use default value -->
-            <phase>validate</phase>
-            <goals>
-              <goal>child-default</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..a816975
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mgmt/pom.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3925</groupId>
+  <artifactId>parent</artifactId>
+  <version>0.1</version>
+  <packaging>pom</packaging>
+
+  <name>Maven Integration Test :: MNG-3925</name>
+  <description>
+    Test that plugin executions (in the same phase) are properly ordered after inheritance/merge with
+    parent executions.
+  </description>
+
+  <build>
+    <!-- This project does not use plugin management for the test plugin -->
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-a</artifactId>
+        <version>1.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <id>parent-1</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>parent-1</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>parent-2</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>parent-2</goal>
+            </goals>
+          </execution>
+          <execution>
+            <!-- NOTE: <id> deliberately omitted to use default value -->
+            <phase>validate</phase>
+            <goals>
+              <goal>parent-default</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>


[02/46] maven git commit: [MNG-6140] renamed aether to resolver, added slf4j-provider

Posted by sc...@apache.org.
[MNG-6140] renamed aether to resolver, added slf4j-provider

Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/1cb2e92b
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/1cb2e92b
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/1cb2e92b

Branch: refs/heads/MNG-5984
Commit: 1cb2e92b5ad6bc2baa80c48b6357d5f42df4e48f
Parents: 8972072
Author: Herv� Boutemy <hb...@apache.org>
Authored: Mon Dec 26 19:21:29 2016 +0100
Committer: Herv� Boutemy <hb...@apache.org>
Committed: Wed Feb 1 07:59:53 2017 +0100

----------------------------------------------------------------------
 src/site/resources/images/maven-deps.png | Bin 73105 -> 69305 bytes
 src/site/xdoc/index.xml                  |  54 ++++++++++++++------------
 src/site/xdoc/maven-deps.odg             | Bin 32324 -> 18602 bytes
 3 files changed, 29 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/1cb2e92b/src/site/resources/images/maven-deps.png
----------------------------------------------------------------------
diff --git a/src/site/resources/images/maven-deps.png b/src/site/resources/images/maven-deps.png
index d23033f..a7084e8 100644
Binary files a/src/site/resources/images/maven-deps.png and b/src/site/resources/images/maven-deps.png differ

http://git-wip-us.apache.org/repos/asf/maven/blob/1cb2e92b/src/site/xdoc/index.xml
----------------------------------------------------------------------
diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml
index 4cd2f66..78c47fb 100644
--- a/src/site/xdoc/index.xml
+++ b/src/site/xdoc/index.xml
@@ -1,22 +1,22 @@
 <?xml version="1.0"?>
 
 <!--
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
 -->
 
 <document>
@@ -40,24 +40,28 @@
     process.</p>
 
       <p>
-        <img src="images/maven-deps.png" width="784" height="595" border="0" usemap="#Maven_dependencies" />
+        <img src="images/maven-deps.png" width="784" height="578" border="0" usemap="#Maven_dependencies" />
         <map name="Maven_dependencies">
           <area shape="rect" coords="228,1,361,36"    alt="apache-maven"  href="apache-maven/" />
           <area shape="rect" coords="228,58,361,95"   alt="maven-embedder" href="maven-embedder/" />
           <area shape="rect" coords="228,116,361,152" alt="maven-compat" href="maven-compat/" />
           <area shape="rect" coords="228,175,361,211" alt="maven-core" href="maven-core/" />
-          <area shape="rect" coords="118,233,275,269" alt="maven-aether-provider" href="maven-aether-provider/" />
+          <area shape="rect" coords="118,233,275,269" alt="maven-resolver-provider" href="maven-resolver-provider/" />
           <area shape="rect" coords="0,287,192,323"   alt="maven-repository-metadata" href="maven-repository-metadata/" />
           <area shape="rect" coords="245,342,343,378" alt="maven-plugin-api" href="maven-plugin-api/" />
           <area shape="rect" coords="253,401,336,436" alt="maven-artifact" href="maven-artifact/" />
-          <area shape="rect" coords="296,234,442,270" alt="maven-builder-support" href="maven-builder-support/" />
+          <area shape="rect" coords="299,230,446,265" alt="maven-builder-support" href="maven-builder-support/" />
           <area shape="rect" coords="382,176,528,211" alt="maven-settings-builder" href="maven-settings-builder/" />
-          <area shape="rect" coords="446,234,537,269" alt="maven-settings" href="maven-settings/" />
+          <area shape="rect" coords="449,229,532,266" alt="maven-settings" href="maven-settings/" />
           <area shape="rect" coords="388,284,521,319" alt="maven-model-builder" href="maven-model-builder/" />
           <area shape="rect" coords="409,342,500,378" alt="maven-model" href="maven-model/" />
-          <area shape="rect" coords="TODO"            alt="maven-slf4j-provider" href="maven-slf4j-provider/" />
-          <area shape="rect" coords="88,59,192,94"    alt="slf4j-api" href="http://www.slf4j.org/manual.html" />
+          <area shape="rect" coords="42,0,198,35"     alt="maven-slf4j-provider" href="maven-slf4j-provider/" />
+          <area shape="rect" coords="68,338,240,482"  alt="maven-resolver" href="https://maven.apache.org/resolver/" />
+          <area shape="rect" coords="70,57,171,93"    alt="slf4j-api" href="http://www.slf4j.org/manual.html" />
           <area shape="rect" coords="551,58,707,94"   alt="commons-cli" href="http://commons.apache.org/cli/" />
+          <area shape="rect" coords="88,175,205,211"  alt="maven-shared-utils" href="https://maven.apache.org/shared/maven-shared-utils/" />
+          <area shape="rect" coords="0,176,70,211"    alt="jansi" href="http://fusesource.github.io/jansi/" />
+          <area shape="rect" coords="0,229,71,266"    alt="jansi-native" href="https://github.com/fusesource/jansi-native" />
           <area shape="rect" coords="551,116,739,152" alt="wagon-provider-api" href="https://maven.apache.org/wagon/wagon-provider-api/" />
           <area shape="rect" coords="550,175,690,211" alt="plexus-sec-dispatcher" href="https://github.com/codehaus-plexus/plexus-sec-dispatcher" />
           <area shape="rect" coords="581,230,660,265" alt="plexus-cipher" href="https://github.com/codehaus-plexus/plexus-cipher" />
@@ -66,9 +70,9 @@
           <area shape="rect" coords="550,401,682,437" alt="plexus-classworlds" href="https://codehaus-plexus.github.io/plexus-classworlds" />
           <area shape="rect" coords="685,455,775,491" alt="plexus-utils" href="https://codehaus-plexus.github.io/plexus-utils" />
           <area shape="rect" coords="542,167,783,502" alt="plexus" href="https://codehaus-plexus.github.io/" />
-          <area shape="rect" coords="68,338,240,482"  alt="aether" href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.aether" />
-          <area shape="rect" coords="388,393,520,594" alt="sisu" href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.sisu" />
-          <area shape="rect" coords="519,518,621,554" alt="guice" href="http://code.google.com/p/google-guice/" />
+          <area shape="rect" coords="401,393,509,524" alt="sisu" href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.sisu" />
+          <area shape="rect" coords="416,543,493,577" alt="guice" href="http://code.google.com/p/google-guice/" />
+          <area shape="rect" coords="550,543,673,577" alt="javax.inject" href="http://docs.oracle.com/javaee/6/api/javax/inject/package-summary.html" />
         </map>
       </p>
     </section>

http://git-wip-us.apache.org/repos/asf/maven/blob/1cb2e92b/src/site/xdoc/maven-deps.odg
----------------------------------------------------------------------
diff --git a/src/site/xdoc/maven-deps.odg b/src/site/xdoc/maven-deps.odg
index 9d4193a..f95b83f 100644
Binary files a/src/site/xdoc/maven-deps.odg and b/src/site/xdoc/maven-deps.odg differ


[35/46] maven git commit: [MNG-6078] Perform a proper merge of the two sources of command line arguments

Posted by sc...@apache.org.
[MNG-6078] Perform a proper merge of the two sources of command line arguments

- Needed to extend Commons CLI's CommandLine just to perform the merged


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/dc9c4db4
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/dc9c4db4
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/dc9c4db4

Branch: refs/heads/MNG-5984
Commit: dc9c4db4494b62e2231bb67b39678decf6329852
Parents: 5885e70
Author: Stephen Connolly <st...@gmail.com>
Authored: Tue Feb 21 10:10:21 2017 +0000
Committer: Stephen Connolly <st...@gmail.com>
Committed: Thu Feb 23 12:44:34 2017 +0000

----------------------------------------------------------------------
 .../java/org/apache/maven/cli/MavenCli.java     | 25 +++---
 .../org/apache/maven/cli/MergedCommandLine.java | 75 ++++++++++++++++++
 .../java/org/apache/maven/cli/MavenCliTest.java | 83 +++++++++++++++-----
 3 files changed, 149 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/dc9c4db4/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
index f788a5f..8d38ab0 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
@@ -383,7 +383,7 @@ public class MavenCli
         CLIManager cliManager = new CLIManager();
 
         List<String> args = new ArrayList<>();
-
+        CommandLine mavenConfig = null;
         try
         {
             File configFile = new File( cliRequest.multiModuleProjectDirectory, MVN_MAVEN_CONFIG );
@@ -398,8 +398,8 @@ public class MavenCli
                     }
                 }
 
-                CommandLine config = cliManager.parse( args.toArray( new String[args.size()] ) );
-                List<?> unrecongized = config.getArgList();
+                mavenConfig = cliManager.parse( args.toArray( new String[args.size()] ) );
+                List<?> unrecongized = mavenConfig.getArgList();
                 if ( !unrecongized.isEmpty() )
                 {
                     throw new ParseException( "Unrecognized maven.config entries: " + unrecongized );
@@ -415,21 +415,14 @@ public class MavenCli
 
         try
         {
-            int index = 0;
-            for ( String arg : cliRequest.args )
+            if ( mavenConfig == null )
             {
-                if ( arg.startsWith( "-D" ) )
-                {
-                    // a property definition so needs to come last so that the last property wins
-                    args.add( arg );
-                }
-                else
-                {
-                    // not a property definition so needs to come first to override maven.config
-                    args.add( index++, arg );
-                }
+                cliRequest.commandLine = cliManager.parse( cliRequest.args );
+            }
+            else
+            {
+                cliRequest.commandLine = new MergedCommandLine( cliManager.parse( cliRequest.args ), mavenConfig );
             }
-            cliRequest.commandLine = cliManager.parse( args.toArray( new String[args.size()] ) );
         }
         catch ( ParseException e )
         {

http://git-wip-us.apache.org/repos/asf/maven/blob/dc9c4db4/maven-embedder/src/main/java/org/apache/maven/cli/MergedCommandLine.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MergedCommandLine.java b/maven-embedder/src/main/java/org/apache/maven/cli/MergedCommandLine.java
new file mode 100644
index 0000000..cb0a587
--- /dev/null
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/MergedCommandLine.java
@@ -0,0 +1,75 @@
+package org.apache.maven.cli;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.Option;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A {@link CommandLine} instance that represents a merged command line combining CLI arguments with those from the
+ * {@code .mvn/maven.config} while reflecting the handling of {@link CLIManager#SET_SYSTEM_PROPERTY} versus all the
+ * other command line options (last wins vs first wins respectively).
+ */
+class MergedCommandLine
+    extends CommandLine
+{
+    MergedCommandLine( CommandLine commandLine, CommandLine configFile )
+    {
+        // such a pity that Commons CLI does not offer either a builder or a formatter and we need to extend
+        // to perform the merge. A formatter would mean we could unparse and reparse (not ideal but would work).
+        // A builder would be ideal for this kind of merge like processing.
+        super();
+        // the args are easy, cli first then config file
+        for ( String arg : commandLine.getArgs() )
+        {
+            addArg( arg );
+        }
+        for ( String arg : configFile.getArgs() )
+        {
+            addArg( arg );
+        }
+        // now add all options, except for -D with cli first then config file
+        List<Option> setPropertyOptions = new ArrayList<>();
+        for ( Option opt : commandLine.getOptions() )
+        {
+            if ( String.valueOf( CLIManager.SET_SYSTEM_PROPERTY ).equals( opt.getOpt() ) )
+            {
+                setPropertyOptions.add( opt );
+            }
+            else
+            {
+                addOption( opt );
+            }
+        }
+        for ( Option opt : configFile.getOptions() )
+        {
+            addOption( opt );
+        }
+        // finally add the CLI system properties
+        for ( Option opt : setPropertyOptions )
+        {
+            addOption( opt );
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/dc9c4db4/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java b/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
index 66f247c..9b480ea 100644
--- a/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
+++ b/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
@@ -19,11 +19,10 @@ package org.apache.maven.cli;
  * under the License.
  */
 
-import java.io.File;
-
+import junit.framework.TestCase;
 import org.apache.commons.cli.ParseException;
 
-import junit.framework.TestCase;
+import java.io.File;
 
 public class MavenCliTest
     extends TestCase
@@ -75,7 +74,8 @@ public class MavenCliTest
     public void testMavenConfig()
         throws Exception
     {
-        System.setProperty( MavenCli.MULTIMODULE_PROJECT_DIRECTORY, new File( "src/test/projects/config" ).getCanonicalPath() );
+        System.setProperty( MavenCli.MULTIMODULE_PROJECT_DIRECTORY,
+                            new File( "src/test/projects/config" ).getCanonicalPath() );
         CliRequest request = new CliRequest( new String[0], null );
 
         // read .mvn/maven.config
@@ -85,7 +85,7 @@ public class MavenCliTest
         assertEquals( "8", request.commandLine.getOptionValue( CLIManager.THREADS ) );
 
         // override from command line
-        request = new CliRequest( new String[] { "--builder", "foobar" }, null );
+        request = new CliRequest( new String[]{ "--builder", "foobar" }, null );
         cli.cli( request );
         assertEquals( "foobar", request.commandLine.getOptionValue( "builder" ) );
     }
@@ -93,7 +93,8 @@ public class MavenCliTest
     public void testMavenConfigInvalid()
         throws Exception
     {
-        System.setProperty( MavenCli.MULTIMODULE_PROJECT_DIRECTORY, new File( "src/test/projects/config-illegal" ).getCanonicalPath() );
+        System.setProperty( MavenCli.MULTIMODULE_PROJECT_DIRECTORY,
+                            new File( "src/test/projects/config-illegal" ).getCanonicalPath() );
         CliRequest request = new CliRequest( new String[0], null );
 
         cli.initialize( request );
@@ -107,7 +108,7 @@ public class MavenCliTest
 
         }
     }
-    
+
     /**
      * Read .mvn/maven.config with the following definitions:
      * <pre>
@@ -116,19 +117,23 @@ public class MavenCliTest
      * </pre>
      * and check if the {@code -T 3} option can be overwritten via command line
      * argument.
+     *
      * @throws Exception in case of failure.
      */
-    public void testMVNConfigurationThreadCanBeOverwrittenViaCommandLine() throws Exception {
-        System.setProperty( MavenCli.MULTIMODULE_PROJECT_DIRECTORY, new File( "src/test/projects/mavenConfigProperties" ).getCanonicalPath() );
+    public void testMVNConfigurationThreadCanBeOverwrittenViaCommandLine()
+        throws Exception
+    {
+        System.setProperty( MavenCli.MULTIMODULE_PROJECT_DIRECTORY,
+                            new File( "src/test/projects/mavenConfigProperties" ).getCanonicalPath() );
         CliRequest request = new CliRequest( new String[]{ "-T", "5" }, null );
 
         cli.initialize( request );
         // read .mvn/maven.config
         cli.cli( request );
-        
+
         assertEquals( "5", request.commandLine.getOptionValue( CLIManager.THREADS ) );
     }
-    
+
     /**
      * Read .mvn/maven.config with the following definitions:
      * <pre>
@@ -137,17 +142,21 @@ public class MavenCliTest
      * </pre>
      * and check if the {@code -Drevision-1.3.0} option can be overwritten via command line
      * argument.
+     *
      * @throws Exception
      */
-    public void testMVNConfigurationDefinedPropertiesCanBeOverwrittenViaCommandLine() throws Exception {
-        System.setProperty( MavenCli.MULTIMODULE_PROJECT_DIRECTORY, new File( "src/test/projects/mavenConfigProperties" ).getCanonicalPath() );
-        CliRequest request = new CliRequest( new String[]{ "-Drevision=8.1.0"}, null );
+    public void testMVNConfigurationDefinedPropertiesCanBeOverwrittenViaCommandLine()
+        throws Exception
+    {
+        System.setProperty( MavenCli.MULTIMODULE_PROJECT_DIRECTORY,
+                            new File( "src/test/projects/mavenConfigProperties" ).getCanonicalPath() );
+        CliRequest request = new CliRequest( new String[]{ "-Drevision=8.1.0" }, null );
 
         cli.initialize( request );
         // read .mvn/maven.config
         cli.cli( request );
         cli.properties( request );
-        
+
         String revision = System.getProperty( "revision" );
         assertEquals( "8.1.0", revision );
     }
@@ -160,11 +169,15 @@ public class MavenCliTest
      * </pre>
      * and check if the {@code -Drevision-1.3.0} option can be overwritten via command line
      * argument.
+     *
      * @throws Exception
      */
-    public void testMVNConfigurationCLIRepeatedPropertiesLastWins() throws Exception {
-        System.setProperty( MavenCli.MULTIMODULE_PROJECT_DIRECTORY, new File( "src/test/projects/mavenConfigProperties" ).getCanonicalPath() );
-        CliRequest request = new CliRequest( new String[]{ "-Drevision=8.1.0", "-Drevision=8.2.0"}, null );
+    public void testMVNConfigurationCLIRepeatedPropertiesLastWins()
+        throws Exception
+    {
+        System.setProperty( MavenCli.MULTIMODULE_PROJECT_DIRECTORY,
+                            new File( "src/test/projects/mavenConfigProperties" ).getCanonicalPath() );
+        CliRequest request = new CliRequest( new String[]{ "-Drevision=8.1.0", "-Drevision=8.2.0" }, null );
 
         cli.initialize( request );
         // read .mvn/maven.config
@@ -174,4 +187,38 @@ public class MavenCliTest
         String revision = System.getProperty( "revision" );
         assertEquals( "8.2.0", revision );
     }
+
+    /**
+     * Read .mvn/maven.config with the following definitions:
+     * <pre>
+     *   -T 3
+     *   -Drevision=1.3.0
+     * </pre>
+     * and check if the {@code -Drevision-1.3.0} option can be overwritten via command line argument when there are
+     * funky arguments present.
+     *
+     * @throws Exception
+     */
+    public void testMVNConfigurationFunkyArguments()
+        throws Exception
+    {
+        System.setProperty( MavenCli.MULTIMODULE_PROJECT_DIRECTORY,
+                            new File( "src/test/projects/mavenConfigProperties" ).getCanonicalPath() );
+        CliRequest request = new CliRequest(
+            new String[]{ "-Drevision=8.1.0", "--file=-Dpom.xml", "\"-Dfoo=bar ", "\"-Dfoo2=bar two\"",
+                "-Drevision=8.2.0" }, null );
+
+        cli.initialize( request );
+        // read .mvn/maven.config
+        cli.cli( request );
+        cli.properties( request );
+
+        String revision = System.getProperty( "revision" );
+        assertEquals( "8.2.0", revision );
+
+        assertEquals( "bar ", request.getSystemProperties().getProperty( "foo" ) );
+        assertEquals( "bar two", request.getSystemProperties().getProperty( "foo2" ) );
+
+        assertEquals( "-Dpom.xml", request.getCommandLine().getOptionValue( CLIManager.ALTERNATE_POM_FILE ) );
+    }
 }


[18/46] maven git commit: Squashed commit of the following:

Posted by sc...@apache.org.
Squashed commit of the following:

commit f3f981022f9157e9d74a9d9dfef7ae102c4d0593
Author: rfscholte <rf...@apache.org>
Date:   Thu Feb 9 11:00:17 2017 +0100

    [MNG-6109] PluginDescriptor doesn't read since value of parameter
    There's no specific IT, just a unittest, so itBranch should stay on master

commit 862e8e4e3a2b857eeeb4761a1568c15ebb442932
Author: rfscholte <rf...@apache.org>
Date:   Wed Feb 8 21:55:30 2017 +0100

    [MNG-6109] PluginDescriptor doesn't read since value of parameter

commit 76b539ecf2733b2a8564c18581d60176dc0185a3
Author: rfscholte <rf...@apache.org>
Date:   Mon Oct 31 21:05:28 2016 +0100

    PluginDescriptor doesn't read since value of parameter


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/f4e07acb
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/f4e07acb
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/f4e07acb

Branch: refs/heads/MNG-5984
Commit: f4e07acbc2a496a8866b8270e7f7a9fd44085f71
Parents: 66a0fbe
Author: rfscholte <rf...@apache.org>
Authored: Fri Feb 10 17:05:24 2017 +0100
Committer: rfscholte <rf...@apache.org>
Committed: Fri Feb 10 17:05:24 2017 +0100

----------------------------------------------------------------------
 .../apache/maven/plugin/descriptor/PluginDescriptorBuilder.java    | 2 ++
 .../maven/plugin/descriptor/PluginDescriptorBuilderTest.java       | 1 +
 maven-plugin-api/src/test/resources/plugin.xml                     | 1 +
 3 files changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/f4e07acb/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java
----------------------------------------------------------------------
diff --git a/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java b/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java
index 7224554..9508c51 100644
--- a/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java
+++ b/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java
@@ -299,6 +299,8 @@ public class PluginDescriptorBuilder
 
             parameter.setImplementation( d.getChild( "implementation" ).getValue() );
 
+            parameter.setSince( d.getChild( "since" ).getValue() );
+
             PlexusConfiguration paramConfig = mojoConfig.getChild( parameter.getName(), false );
             if ( paramConfig != null )
             {

http://git-wip-us.apache.org/repos/asf/maven/blob/f4e07acb/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java
----------------------------------------------------------------------
diff --git a/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java b/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java
index 799e3af..b9f5ab9 100644
--- a/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java
+++ b/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java
@@ -108,6 +108,7 @@ public class PluginDescriptorBuilderTest
         assertEquals( "deprecated-parameter", mp.getDeprecated() );
         assertEquals( "${jar.finalName}", mp.getExpression() );
         assertEquals( "${project.build.finalName}", mp.getDefaultValue() );
+        assertEquals( "3.0.0", mp.getSince() );
 
         ComponentRequirement cr = md.getRequirements().get( 0 );
 

http://git-wip-us.apache.org/repos/asf/maven/blob/f4e07acb/maven-plugin-api/src/test/resources/plugin.xml
----------------------------------------------------------------------
diff --git a/maven-plugin-api/src/test/resources/plugin.xml b/maven-plugin-api/src/test/resources/plugin.xml
index 6b97211..add46dc 100644
--- a/maven-plugin-api/src/test/resources/plugin.xml
+++ b/maven-plugin-api/src/test/resources/plugin.xml
@@ -60,6 +60,7 @@ under the License.
           <editable>true</editable>
           <description>parameter-description</description>
           <deprecated>deprecated-parameter</deprecated>
+          <since>3.0.0</since>
         </parameter>
       </parameters>
       <configuration>


[09/46] maven git commit: [MNG-5878] added project.directory property to support module name != artifactId in every calculated URLs

Posted by sc...@apache.org.
[MNG-5878] added project.directory property to support module name !=
artifactId in every calculated URLs

Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/9b763cc0
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/9b763cc0
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/9b763cc0

Branch: refs/heads/MNG-5984
Commit: 9b763cc002e9a4e247baf7538727da5a29a6ce0b
Parents: 1cb2e92
Author: Herv� Boutemy <hb...@apache.org>
Authored: Sat Dec 5 23:44:20 2015 +0100
Committer: Herv� Boutemy <hb...@apache.org>
Committed: Wed Feb 1 08:01:11 2017 +0100

----------------------------------------------------------------------
 .../DefaultInheritanceAssembler.java            | 66 +++++++++++++++-----
 maven-model-builder/src/site/apt/index.apt      | 37 ++++++++---
 .../DefaultInheritanceAssemblerTest.java        | 39 ++++++++++--
 .../module-path-not-artifactId-child.xml        | 43 +++++++++++++
 .../module-path-not-artifactId-expected.xml     | 58 +++++++++++++++++
 .../module-path-not-artifactId-parent.xml       | 48 ++++++++++++++
 maven-model/src/main/mdo/maven.mdo              | 10 +--
 7 files changed, 270 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/9b763cc0/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java b/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java
index 6cf4760..8206da9 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java
@@ -19,14 +19,16 @@ package org.apache.maven.model.inheritance;
  * under the License.
  */
 
-import java.io.File;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Properties;
 
+import org.apache.maven.model.InputLocation;
 import org.apache.maven.model.Model;
+import org.apache.maven.model.ModelBase;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.PluginContainer;
 import org.apache.maven.model.ReportPlugin;
@@ -49,12 +51,18 @@ public class DefaultInheritanceAssembler
 
     private InheritanceModelMerger merger = new InheritanceModelMerger();
 
+    private static final String CHILD_DIRECTORY = "child-directory";
+
+    private static final String CHILD_DIRECTORY_PROPERTY = "project.directory";
+
     @Override
     public void assembleModelInheritance( Model child, Model parent, ModelBuildingRequest request,
                                           ModelProblemCollector problems )
     {
         Map<Object, Object> hints = new HashMap<>();
-        hints.put( MavenModelMerger.CHILD_PATH_ADJUSTMENT, getChildPathAdjustment( child, parent ) );
+        String childPath = child.getProperties().getProperty( CHILD_DIRECTORY_PROPERTY, child.getArtifactId() );
+        hints.put( CHILD_DIRECTORY, childPath );
+        hints.put( MavenModelMerger.CHILD_PATH_ADJUSTMENT, getChildPathAdjustment( child, parent, childPath ) );
         merger.merge( child, parent, false, hints );
     }
 
@@ -74,9 +82,10 @@ public class DefaultInheritanceAssembler
      *
      * @param child The child model, must not be <code>null</code>.
      * @param parent The parent model, may be <code>null</code>.
+     * @param childDirectory The directory defined in child model, may be <code>null</code>.
      * @return The path adjustment, can be empty but never <code>null</code>.
      */
-    private String getChildPathAdjustment( Model child, Model parent )
+    private String getChildPathAdjustment( Model child, Model parent, String childDirectory )
     {
         String adjustment = "";
 
@@ -91,10 +100,9 @@ public class DefaultInheritanceAssembler
              * repository. In other words, modules where artifactId != moduleDirName will see different effective URLs
              * depending on how the model was constructed (from filesystem or from repository).
              */
-            File childDirectory = child.getProjectDirectory();
-            if ( childDirectory != null )
+            if ( child.getProjectDirectory() != null )
             {
-                childName = childDirectory.getName();
+                childName = child.getProjectDirectory().getName();
             }
 
             for ( String module : parent.getModules() )
@@ -116,7 +124,7 @@ public class DefaultInheritanceAssembler
 
                 moduleName = moduleName.substring( lastSlash + 1 );
 
-                if ( moduleName.equals( childName ) && lastSlash >= 0 )
+                if ( ( moduleName.equals( childName ) || ( moduleName.equals( childDirectory ) ) ) && lastSlash >= 0 )
                 {
                     adjustment = module.substring( 0, lastSlash );
                     break;
@@ -134,18 +142,16 @@ public class DefaultInheritanceAssembler
         @Override
         protected String extrapolateChildUrl( String parentUrl, Map<Object, Object> context )
         {
-            Object artifactId = context.get( ARTIFACT_ID );
+            Object childDirectory = context.get( CHILD_DIRECTORY );
             Object childPathAdjustment = context.get( CHILD_PATH_ADJUSTMENT );
 
-            if ( artifactId != null && childPathAdjustment != null && StringUtils.isNotBlank( parentUrl ) )
-            {
-                // append childPathAdjustment and artifactId to parent url
-                return appendPath( parentUrl, artifactId.toString(), childPathAdjustment.toString() );
-            }
-            else
+            if ( StringUtils.isBlank( parentUrl ) || childDirectory == null || childPathAdjustment == null )
             {
                 return parentUrl;
             }
+
+            // append childPathAdjustment and childDirectory to parent url
+            return appendPath( parentUrl, childDirectory.toString(), childPathAdjustment.toString() );
         }
 
         private String appendPath( String parentUrl, String childPath, String pathAdjustment )
@@ -192,6 +198,38 @@ public class DefaultInheritanceAssembler
         }
 
         @Override
+        protected void mergeModelBase_Properties( ModelBase target, ModelBase source, boolean sourceDominant,
+                                                  Map<Object, Object> context )
+        {
+            Properties merged = new Properties();
+            if ( sourceDominant )
+            {
+                merged.putAll( target.getProperties() );
+                putAll( merged, source.getProperties(), CHILD_DIRECTORY_PROPERTY );
+            }
+            else
+            {
+                putAll( merged, source.getProperties(), CHILD_DIRECTORY_PROPERTY );
+                merged.putAll( target.getProperties() );
+            }
+            target.setProperties( merged );
+            target.setLocation( "properties",
+                                InputLocation.merge( target.getLocation( "properties" ),
+                                                     source.getLocation( "properties" ), sourceDominant ) );
+        }
+
+        private void putAll( Map<Object, Object> s, Map<Object, Object> t, Object excludeKey )
+        {
+            for ( Map.Entry<Object, Object> e : t.entrySet() )
+            {
+                if ( !e.getKey().equals( excludeKey ) )
+                {
+                    s.put( e.getKey(), e.getValue() );
+                }
+            }
+        }
+
+        @Override
         protected void mergePluginContainer_Plugins( PluginContainer target, PluginContainer source,
                                                      boolean sourceDominant, Map<Object, Object> context )
         {

http://git-wip-us.apache.org/repos/asf/maven/blob/9b763cc0/maven-model-builder/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/site/apt/index.apt b/maven-model-builder/src/site/apt/index.apt
index 9a645f4..03946e6 100644
--- a/maven-model-builder/src/site/apt/index.apt
+++ b/maven-model-builder/src/site/apt/index.apt
@@ -57,14 +57,15 @@ Maven Model Builder
 
    ** parent resolution until {{{./super-pom.html}super-pom}}
 
-   ** inheritance assembly: <<<InheritanceAssembler>>> ({{{./apidocs/org/apache/maven/model/inheritance/InheritanceAssembler.html}javadoc}}),
-   with its <<<DefaultInheritanceAssembler>>> implementation
-   ({{{./xref/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.html}source}}). Notice that
-   <<<project.url>>>, <<<project.scm.connection>>>, <<<project.scm.developerConnection>>>, <<<project.scm.url>>> and
-   <<<project.distributionManagement.site.url>>> have a special treatment: if not overridden in child, the default value is parent's one
-   with child artifact id appended
+   []
+
+ * phase 2, with optional plugin processing
 
-   ** model interpolation (see below)
+   ** dependency management import (for dependencies of type <<<pom>>> in the <<<\<dependencyManagement\>>>> section)
+
+   ** inheritance assembly (see {{{./index.html#Inheritance_Assembly}below}})
+
+   ** model interpolation (see {{{./index.html#Model_Interpolation}below}})
 
    ** url normalization: <<<UrlNormalizer>>> ({{{./apidocs/org/apache/maven/model/path/UrlNormalizer.html}javadoc}}),
    with its <<<DefaultUrlNormalizer>>> implementation
@@ -117,6 +118,28 @@ Maven Model Builder
  []
 
 
+* Inheritance Assembly
+
+  Inheritance Assembly consists in filling current model empty fields with values taken from parent model.
+  It is done in <<<InheritanceAssembler>>> ({{{./apidocs/org/apache/maven/model/inheritance/InheritanceAssembler.html}javadoc}}),
+  with its <<<DefaultInheritanceAssembler>>> implementation
+  ({{{./xref/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.html}source}}).
+
+  By default, every model field is inherited as-is from parent, with a few exceptions that are intentionally not inherited:
+  <<<modelVersion>>>, <<<artifactId>>>, <<<profiles>>> (injected in phase 1) and <<<prerequisites>>>.
+
+  Notice that the 5 URLs from the model (<<<project.url>>>, <<<project.scm.connection>>>, <<<project.scm.developerConnection>>>,
+  <<<project.scm.url>>> and <<<project.distributionManagement.site.url>>>) have a special inheritance handling:
+  
+  ** if not configured in current model, the inherited value is the parent's one with current artifact id appended,
+
+  ** since Maven 3.5.0, if <<<project.directory>>> POM property value is defined, it is used instead of artifact id:
+  this permits default inheritance calculations when module directory name is not equal to artifact id. Notice that this
+  property is not inherited from a POM to its child: childs POM will use child artifact id if property is not
+  set.
+
+  []
+
 * Model Interpolation
 
   Model Interpolation consists in replacing <<<$\{...\}>>> with calculated value. It is done in <<<StringSearchModelInterpolator>>>

http://git-wip-us.apache.org/repos/asf/maven/blob/9b763cc0/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
index e477fde..96eed6f 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
@@ -35,6 +35,7 @@ import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.Reader;
+import java.nio.charset.StandardCharsets;
 
 /**
  * @author Herv� Boutemy
@@ -112,12 +113,13 @@ public class DefaultInheritanceAssemblerTest
         {
             // build from disk expected to fail
             testInheritance( "tricky-flat-artifactId-urls", false );
-            fail( "should have failed since module reference == artifactId != directory name" );
+            //fail( "should have failed since module reference == artifactId != directory name" );
         }
         catch ( AssertionFailedError afe )
         {
             // expected failure: wrong relative path calculation
-            assertTrue( afe.getMessage().contains( "http://www.apache.org/path/to/parent/child-artifact-id/" ) );
+            assertTrue( afe.getMessage(),
+                        afe.getMessage().contains( "http://www.apache.org/path/to/parent/child-artifact-id/" ) );
         }
         // but ok from repo: local disk is ignored
         testInheritance( "tricky-flat-artifactId-urls", true );
@@ -133,7 +135,8 @@ public class DefaultInheritanceAssemblerTest
         catch ( AssertionFailedError afe )
         {
             // expected failure
-            assertTrue( afe.getMessage().contains( "http://www.apache.org/path/to/parent/child-artifact-id/" ) );
+            assertTrue( afe.getMessage(),
+                        afe.getMessage().contains( "http://www.apache.org/path/to/parent/child-artifact-id/" ) );
         }
     }
 
@@ -176,12 +179,38 @@ public class DefaultInheritanceAssemblerTest
 
         // check with getPom( baseName + "-expected" )
         File expected = getPom( baseName + "-expected" );
-        try ( Reader control = new InputStreamReader( new FileInputStream( expected ), "UTF-8" );
-              Reader test = new InputStreamReader( new FileInputStream( actual ), "UTF-8" ) )
+        try ( Reader control = new InputStreamReader( new FileInputStream( expected ), StandardCharsets.UTF_8 );
+              Reader test = new InputStreamReader( new FileInputStream( actual ), StandardCharsets.UTF_8 ) )
         {
             XMLUnit.setIgnoreComments( true );
             XMLUnit.setIgnoreWhitespace( true );
             XMLAssert.assertXMLEqual( control, test );
         }
     }    
+
+    public void testModulePathNotArtifactId()
+        throws Exception
+    {
+        Model parent = getModel( "module-path-not-artifactId-parent" );
+
+        Model child = getModel( "module-path-not-artifactId-child" );
+
+        SimpleProblemCollector problems = new SimpleProblemCollector();
+
+        assembler.assembleModelInheritance( child, parent, null, problems );
+
+        File actual = getTestFile( "target/test-classes/poms/inheritance/module-path-not-artifactId-actual.xml" );
+
+        writer.write( actual, null, child );
+
+        // check with getPom( "module-path-not-artifactId-effective" )
+        File expected = getPom( "module-path-not-artifactId-expected" );
+        try ( Reader control = new InputStreamReader( new FileInputStream( expected ), StandardCharsets.UTF_8 );
+                        Reader test = new InputStreamReader( new FileInputStream( actual ), StandardCharsets.UTF_8 ) )
+        {
+            XMLUnit.setIgnoreComments( true );
+            XMLUnit.setIgnoreWhitespace( true );
+            XMLAssert.assertXMLEqual( control, test );
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/maven/blob/9b763cc0/maven-model-builder/src/test/resources/poms/inheritance/module-path-not-artifactId-child.xml
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/test/resources/poms/inheritance/module-path-not-artifactId-child.xml b/maven-model-builder/src/test/resources/poms/inheritance/module-path-not-artifactId-child.xml
new file mode 100644
index 0000000..7031f44
--- /dev/null
+++ b/maven-model-builder/src/test/resources/poms/inheritance/module-path-not-artifactId-child.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>inheritance</groupId>
+    <artifactId>parent</artifactId>
+    <version>11-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>child-artifact-id</artifactId>
+  <name>Model inheritance test parent: module directory != artifactId</name>
+  <description>
+    artifactId == "child-artifact-id"
+    but expect path on SCM and site == "child"
+    feature: support "project.directory" property, ressembling future model addition of "directory" element along "artifactId" 
+  </description>
+
+  <properties>
+    <project.directory>child</project.directory>
+  </properties>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/9b763cc0/maven-model-builder/src/test/resources/poms/inheritance/module-path-not-artifactId-expected.xml
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/test/resources/poms/inheritance/module-path-not-artifactId-expected.xml b/maven-model-builder/src/test/resources/poms/inheritance/module-path-not-artifactId-expected.xml
new file mode 100644
index 0000000..e82f289
--- /dev/null
+++ b/maven-model-builder/src/test/resources/poms/inheritance/module-path-not-artifactId-expected.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>inheritance</groupId>
+    <artifactId>parent</artifactId>
+    <version>11-SNAPSHOT</version>
+  </parent>
+
+  <groupId>inheritance</groupId>
+  <artifactId>child-artifact-id</artifactId>
+  <version>11-SNAPSHOT</version>
+  <name>Model inheritance test parent: module directory != artifactId</name>
+  <description>
+    artifactId == "child-artifact-id"
+    but expect path on SCM and site == "child"
+    feature: support "project.directory" property, ressembling future model addition of "directory" element along "artifactId" 
+  </description>
+
+  <!-- 5 inherited urls with ${project.directory} added to parent instead of artifactId -->
+  <url>http://www.apache.org/child/</url>
+  <scm>
+    <connection>scm:my-scm:http://domain.org/base/child</connection>
+    <developerConnection>scm:my-scm:https://domain.org/base/child/</developerConnection>
+    <url>https://domain.org/base/child</url>
+  </scm>
+  <distributionManagement>
+    <site>
+      <url>scp://scp.domain.org/base/child/</url>
+    </site>
+  </distributionManagement>
+
+  <properties>
+    <project.directory>child</project.directory>
+  </properties>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/9b763cc0/maven-model-builder/src/test/resources/poms/inheritance/module-path-not-artifactId-parent.xml
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/test/resources/poms/inheritance/module-path-not-artifactId-parent.xml b/maven-model-builder/src/test/resources/poms/inheritance/module-path-not-artifactId-parent.xml
new file mode 100644
index 0000000..9b923cd
--- /dev/null
+++ b/maven-model-builder/src/test/resources/poms/inheritance/module-path-not-artifactId-parent.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>inheritance</groupId>
+  <artifactId>parent</artifactId>
+  <version>11-SNAPSHOT</version>
+
+  <name>Model inheritance test parent: module path != artifactId</name>
+
+  <modules>
+    <module>child</module>
+  </modules>
+
+  <!-- 5 URLs in the pom will be inherited with path added -->
+  <url>http://www.apache.org/</url>
+  <scm>
+    <connection>scm:my-scm:http://domain.org/base</connection>
+    <developerConnection>scm:my-scm:https://domain.org/base/</developerConnection>
+    <url>https://domain.org/base</url>
+  </scm>
+  <distributionManagement>
+    <site>
+      <url>scp://scp.domain.org/base/</url>
+    </site>
+  </distributionManagement>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/9b763cc0/maven-model/src/main/mdo/maven.mdo
----------------------------------------------------------------------
diff --git a/maven-model/src/main/mdo/maven.mdo b/maven-model/src/main/mdo/maven.mdo
index d830113..5322c35 100644
--- a/maven-model/src/main/mdo/maven.mdo
+++ b/maven-model/src/main/mdo/maven.mdo
@@ -245,7 +245,7 @@
           <description>
             <![CDATA[
             The URL to the project's homepage.
-            <br /><b>Default value is</b>: parent value [+ path adjustment] + artifactId
+            <br /><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or <code>project.directory</code> property)
             ]]>
           </description>
           <type>String</type>
@@ -2142,7 +2142,7 @@
             <a href="https://maven.apache.org/scm/scm-url-format.html">URL format</a>
             and <a href="https://maven.apache.org/scm/scms-overview.html">list of supported SCMs</a>.
             This connection is read-only.
-            <br /><b>Default value is</b>: parent value [+ path adjustment] + artifactId
+            <br /><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or <code>project.directory</code> property) 
             ]]>
           </description>
           <type>String</type>
@@ -2154,7 +2154,7 @@
             <![CDATA[
             Just like <code>connection</code>, but for developers, i.e. this scm connection
             will not be read only.
-            <br /><b>Default value is</b>: parent value [+ path adjustment] + artifactId
+            <br /><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or <code>project.directory</code> property)
             ]]>
           </description>
           <type>String</type>
@@ -2172,7 +2172,7 @@
           <description>
             <![CDATA[
             The URL to the project's browsable SCM repository, such as ViewVC or Fisheye.
-            <br /><b>Default value is</b>: parent value [+ path adjustment] + artifactId
+            <br /><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or <code>project.directory</code> property)
             ]]>
           </description>
           <type>String</type>
@@ -2605,7 +2605,7 @@
           <description>
             <![CDATA[
             The url of the location where website is deployed, in the form <code>protocol://hostname/path</code>.
-            <br /><b>Default value is</b>: parent value [+ path adjustment] + artifactId
+            <br /><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or <code>project.directory</code> property)
             ]]>
           </description>
           <type>String</type>


[27/46] maven git commit: [MNG-6140] maven-core depends on shared-utils (not project-utils)

Posted by sc...@apache.org.
[MNG-6140] maven-core depends on shared-utils (not project-utils)

Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/f1cc1d4e
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/f1cc1d4e
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/f1cc1d4e

Branch: refs/heads/MNG-5984
Commit: f1cc1d4e5aec96c9bd54219304e1b6b08855b102
Parents: b66bdb9
Author: Herv� Boutemy <hb...@apache.org>
Authored: Sat Feb 18 15:15:18 2017 +0100
Committer: Herv� Boutemy <hb...@apache.org>
Committed: Sat Feb 18 15:15:18 2017 +0100

----------------------------------------------------------------------
 src/site/resources/images/maven-deps.png | Bin 69305 -> 69010 bytes
 src/site/xdoc/maven-deps.odg             | Bin 18602 -> 18600 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/f1cc1d4e/src/site/resources/images/maven-deps.png
----------------------------------------------------------------------
diff --git a/src/site/resources/images/maven-deps.png b/src/site/resources/images/maven-deps.png
index a7084e8..6eae811 100644
Binary files a/src/site/resources/images/maven-deps.png and b/src/site/resources/images/maven-deps.png differ

http://git-wip-us.apache.org/repos/asf/maven/blob/f1cc1d4e/src/site/xdoc/maven-deps.odg
----------------------------------------------------------------------
diff --git a/src/site/xdoc/maven-deps.odg b/src/site/xdoc/maven-deps.odg
index f95b83f..d9b6cef 100644
Binary files a/src/site/xdoc/maven-deps.odg and b/src/site/xdoc/maven-deps.odg differ


[07/46] maven git commit: [MNG-6110] renamed 'maven-aether-provider' to 'maven-resolver-provider'

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java
deleted file mode 100644
index 2b0890b..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java
+++ /dev/null
@@ -1,617 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.lang3.Validate;
-import org.apache.maven.artifact.repository.metadata.Snapshot;
-import org.apache.maven.artifact.repository.metadata.SnapshotVersion;
-import org.apache.maven.artifact.repository.metadata.Versioning;
-import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.StringUtils;
-import org.eclipse.aether.RepositoryCache;
-import org.eclipse.aether.RepositoryEvent;
-import org.eclipse.aether.RepositoryEvent.EventType;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.RequestTrace;
-import org.eclipse.aether.SyncContext;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.impl.MetadataResolver;
-import org.eclipse.aether.impl.RepositoryEventDispatcher;
-import org.eclipse.aether.impl.SyncContextFactory;
-import org.eclipse.aether.impl.VersionResolver;
-import org.eclipse.aether.internal.impl.CacheUtils;
-import org.eclipse.aether.metadata.DefaultMetadata;
-import org.eclipse.aether.metadata.Metadata;
-import org.eclipse.aether.repository.ArtifactRepository;
-import org.eclipse.aether.repository.LocalRepository;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.repository.WorkspaceReader;
-import org.eclipse.aether.repository.WorkspaceRepository;
-import org.eclipse.aether.resolution.MetadataRequest;
-import org.eclipse.aether.resolution.MetadataResult;
-import org.eclipse.aether.resolution.VersionRequest;
-import org.eclipse.aether.resolution.VersionResolutionException;
-import org.eclipse.aether.resolution.VersionResult;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
-import org.eclipse.aether.spi.log.Logger;
-import org.eclipse.aether.spi.log.LoggerFactory;
-import org.eclipse.aether.spi.log.NullLoggerFactory;
-import org.eclipse.aether.util.ConfigUtils;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @author Benjamin Bentmann
- */
-@Named
-@Component( role = VersionResolver.class )
-public class DefaultVersionResolver
-    implements VersionResolver, Service
-{
-
-    private static final String MAVEN_METADATA_XML = "maven-metadata.xml";
-
-    private static final String RELEASE = "RELEASE";
-
-    private static final String LATEST = "LATEST";
-
-    private static final String SNAPSHOT = "SNAPSHOT";
-
-    @SuppressWarnings( "unused" )
-    @Requirement( role = LoggerFactory.class )
-    private Logger logger = NullLoggerFactory.LOGGER;
-
-    @Requirement
-    private MetadataResolver metadataResolver;
-
-    @Requirement
-    private SyncContextFactory syncContextFactory;
-
-    @Requirement
-    private RepositoryEventDispatcher repositoryEventDispatcher;
-
-    public DefaultVersionResolver()
-    {
-        // enable no-arg constructor
-    }
-
-    @Inject
-    DefaultVersionResolver( MetadataResolver metadataResolver, SyncContextFactory syncContextFactory,
-                            RepositoryEventDispatcher repositoryEventDispatcher, LoggerFactory loggerFactory )
-    {
-        setMetadataResolver( metadataResolver );
-        setSyncContextFactory( syncContextFactory );
-        setLoggerFactory( loggerFactory );
-        setRepositoryEventDispatcher( repositoryEventDispatcher );
-    }
-
-    public void initService( ServiceLocator locator )
-    {
-        setLoggerFactory( locator.getService( LoggerFactory.class ) );
-        setMetadataResolver( locator.getService( MetadataResolver.class ) );
-        setSyncContextFactory( locator.getService( SyncContextFactory.class ) );
-        setRepositoryEventDispatcher( locator.getService( RepositoryEventDispatcher.class ) );
-    }
-
-    public DefaultVersionResolver setLoggerFactory( LoggerFactory loggerFactory )
-    {
-        this.logger = NullLoggerFactory.getSafeLogger( loggerFactory, getClass() );
-        return this;
-    }
-
-    void setLogger( LoggerFactory loggerFactory )
-    {
-        // plexus support
-        setLoggerFactory( loggerFactory );
-    }
-
-    public DefaultVersionResolver setMetadataResolver( MetadataResolver metadataResolver )
-    {
-        this.metadataResolver = Validate.notNull( metadataResolver, "metadataResolver cannot be null" );
-        return this;
-    }
-
-    public DefaultVersionResolver setSyncContextFactory( SyncContextFactory syncContextFactory )
-    {
-        this.syncContextFactory = Validate.notNull( syncContextFactory, "syncContextFactory cannot be null" );
-        return this;
-    }
-
-    public DefaultVersionResolver setRepositoryEventDispatcher( RepositoryEventDispatcher repositoryEventDispatcher )
-    {
-        this.repositoryEventDispatcher = Validate.notNull( repositoryEventDispatcher,
-            "repositoryEventDispatcher cannot be null" );
-        return this;
-    }
-
-    public VersionResult resolveVersion( RepositorySystemSession session, VersionRequest request )
-        throws VersionResolutionException
-    {
-        RequestTrace trace = RequestTrace.newChild( request.getTrace(), request );
-
-        Artifact artifact = request.getArtifact();
-
-        String version = artifact.getVersion();
-
-        VersionResult result = new VersionResult( request );
-
-        Key cacheKey = null;
-        RepositoryCache cache = session.getCache();
-        if ( cache != null && !ConfigUtils.getBoolean( session, false, "aether.versionResolver.noCache" ) )
-        {
-            cacheKey = new Key( session, request );
-
-            Object obj = cache.get( session, cacheKey );
-            if ( obj instanceof Record )
-            {
-                Record record = (Record) obj;
-                result.setVersion( record.version );
-                result.setRepository(
-                    CacheUtils.getRepository( session, request.getRepositories(), record.repoClass, record.repoId ) );
-                return result;
-            }
-        }
-
-        Metadata metadata;
-
-        if ( RELEASE.equals( version ) )
-        {
-            metadata = new DefaultMetadata( artifact.getGroupId(), artifact.getArtifactId(), MAVEN_METADATA_XML,
-                                            Metadata.Nature.RELEASE );
-        }
-        else if ( LATEST.equals( version ) )
-        {
-            metadata = new DefaultMetadata( artifact.getGroupId(), artifact.getArtifactId(), MAVEN_METADATA_XML,
-                                            Metadata.Nature.RELEASE_OR_SNAPSHOT );
-        }
-        else if ( version.endsWith( SNAPSHOT ) )
-        {
-            WorkspaceReader workspace = session.getWorkspaceReader();
-            if ( workspace != null && workspace.findVersions( artifact ).contains( version ) )
-            {
-                metadata = null;
-                result.setRepository( workspace.getRepository() );
-            }
-            else
-            {
-                metadata =
-                    new DefaultMetadata( artifact.getGroupId(), artifact.getArtifactId(), version, MAVEN_METADATA_XML,
-                                         Metadata.Nature.SNAPSHOT );
-            }
-        }
-        else
-        {
-            metadata = null;
-        }
-
-        if ( metadata == null )
-        {
-            result.setVersion( version );
-        }
-        else
-        {
-            List<MetadataRequest> metadataReqs = new ArrayList<>( request.getRepositories().size() );
-
-            metadataReqs.add( new MetadataRequest( metadata, null, request.getRequestContext() ) );
-
-            for ( RemoteRepository repository : request.getRepositories() )
-            {
-                MetadataRequest metadataRequest =
-                    new MetadataRequest( metadata, repository, request.getRequestContext() );
-                metadataRequest.setDeleteLocalCopyIfMissing( true );
-                metadataRequest.setFavorLocalRepository( true );
-                metadataRequest.setTrace( trace );
-                metadataReqs.add( metadataRequest );
-            }
-
-            List<MetadataResult> metadataResults = metadataResolver.resolveMetadata( session, metadataReqs );
-
-            Map<String, VersionInfo> infos = new HashMap<>();
-
-            for ( MetadataResult metadataResult : metadataResults )
-            {
-                result.addException( metadataResult.getException() );
-
-                ArtifactRepository repository = metadataResult.getRequest().getRepository();
-                if ( repository == null )
-                {
-                    repository = session.getLocalRepository();
-                }
-
-                Versioning v = readVersions( session, trace, metadataResult.getMetadata(), repository, result );
-                merge( artifact, infos, v, repository );
-            }
-
-            if ( RELEASE.equals( version ) )
-            {
-                resolve( result, infos, RELEASE );
-            }
-            else if ( LATEST.equals( version ) )
-            {
-                if ( !resolve( result, infos, LATEST ) )
-                {
-                    resolve( result, infos, RELEASE );
-                }
-
-                if ( result.getVersion() != null && result.getVersion().endsWith( SNAPSHOT ) )
-                {
-                    VersionRequest subRequest = new VersionRequest();
-                    subRequest.setArtifact( artifact.setVersion( result.getVersion() ) );
-                    if ( result.getRepository() instanceof RemoteRepository )
-                    {
-                        RemoteRepository r = (RemoteRepository) result.getRepository();
-                        subRequest.setRepositories( Collections.singletonList( r ) );
-                    }
-                    else
-                    {
-                        subRequest.setRepositories( request.getRepositories() );
-                    }
-                    VersionResult subResult = resolveVersion( session, subRequest );
-                    result.setVersion( subResult.getVersion() );
-                    result.setRepository( subResult.getRepository() );
-                    for ( Exception exception : subResult.getExceptions() )
-                    {
-                        result.addException( exception );
-                    }
-                }
-            }
-            else
-            {
-                String key = SNAPSHOT + getKey( artifact.getClassifier(), artifact.getExtension() );
-                merge( infos, SNAPSHOT, key );
-                if ( !resolve( result, infos, key ) )
-                {
-                    result.setVersion( version );
-                }
-            }
-
-            if ( StringUtils.isEmpty( result.getVersion() ) )
-            {
-                throw new VersionResolutionException( result );
-            }
-        }
-
-        if ( cacheKey != null && metadata != null && isSafelyCacheable( session, artifact ) )
-        {
-            cache.put( session, cacheKey, new Record( result.getVersion(), result.getRepository() ) );
-        }
-
-        return result;
-    }
-
-    private boolean resolve( VersionResult result, Map<String, VersionInfo> infos, String key )
-    {
-        VersionInfo info = infos.get( key );
-        if ( info != null )
-        {
-            result.setVersion( info.version );
-            result.setRepository( info.repository );
-        }
-        return info != null;
-    }
-
-    private Versioning readVersions( RepositorySystemSession session, RequestTrace trace, Metadata metadata,
-                                     ArtifactRepository repository, VersionResult result )
-    {
-        Versioning versioning = null;
-
-        FileInputStream fis = null;
-        try
-        {
-            if ( metadata != null )
-            {
-
-                try ( SyncContext syncContext = syncContextFactory.newInstance( session, true ) )
-                {
-                    syncContext.acquire( null, Collections.singleton( metadata ) );
-
-                    if ( metadata.getFile() != null && metadata.getFile().exists() )
-                    {
-                        fis = new FileInputStream( metadata.getFile() );
-                        org.apache.maven.artifact.repository.metadata.Metadata m =
-                            new MetadataXpp3Reader().read( fis, false );
-                        versioning = m.getVersioning();
-
-                        /*
-                         * NOTE: Users occasionally misuse the id "local" for remote repos which screws up the metadata
-                         * of the local repository. This is especially troublesome during snapshot resolution so we try
-                         * to handle that gracefully.
-                         */
-                        if ( versioning != null && repository instanceof LocalRepository )
-                        {
-                            if ( versioning.getSnapshot() != null && versioning.getSnapshot().getBuildNumber() > 0 )
-                            {
-                                Versioning repaired = new Versioning();
-                                repaired.setLastUpdated( versioning.getLastUpdated() );
-                                Snapshot snapshot = new Snapshot();
-                                snapshot.setLocalCopy( true );
-                                repaired.setSnapshot( snapshot );
-                                versioning = repaired;
-
-                                throw new IOException( "Snapshot information corrupted with remote repository data"
-                                                           + ", please verify that no remote repository uses the id '"
-                                                           + repository.getId() + "'" );
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        catch ( Exception e )
-        {
-            invalidMetadata( session, trace, metadata, repository, e );
-            result.addException( e );
-        }
-        finally
-        {
-            IOUtil.close( fis );
-        }
-
-        return ( versioning != null ) ? versioning : new Versioning();
-    }
-
-    private void invalidMetadata( RepositorySystemSession session, RequestTrace trace, Metadata metadata,
-                                  ArtifactRepository repository, Exception exception )
-    {
-        RepositoryEvent.Builder event = new RepositoryEvent.Builder( session, EventType.METADATA_INVALID );
-        event.setTrace( trace );
-        event.setMetadata( metadata );
-        event.setException( exception );
-        event.setRepository( repository );
-
-        repositoryEventDispatcher.dispatch( event.build() );
-    }
-
-    private void merge( Artifact artifact, Map<String, VersionInfo> infos, Versioning versioning,
-                        ArtifactRepository repository )
-    {
-        if ( StringUtils.isNotEmpty( versioning.getRelease() ) )
-        {
-            merge( RELEASE, infos, versioning.getLastUpdated(), versioning.getRelease(), repository );
-        }
-
-        if ( StringUtils.isNotEmpty( versioning.getLatest() ) )
-        {
-            merge( LATEST, infos, versioning.getLastUpdated(), versioning.getLatest(), repository );
-        }
-
-        for ( SnapshotVersion sv : versioning.getSnapshotVersions() )
-        {
-            if ( StringUtils.isNotEmpty( sv.getVersion() ) )
-            {
-                String key = getKey( sv.getClassifier(), sv.getExtension() );
-                merge( SNAPSHOT + key, infos, sv.getUpdated(), sv.getVersion(), repository );
-            }
-        }
-
-        Snapshot snapshot = versioning.getSnapshot();
-        if ( snapshot != null && versioning.getSnapshotVersions().isEmpty() )
-        {
-            String version = artifact.getVersion();
-            if ( snapshot.getTimestamp() != null && snapshot.getBuildNumber() > 0 )
-            {
-                String qualifier = snapshot.getTimestamp() + '-' + snapshot.getBuildNumber();
-                version = version.substring( 0, version.length() - SNAPSHOT.length() ) + qualifier;
-            }
-            merge( SNAPSHOT, infos, versioning.getLastUpdated(), version, repository );
-        }
-    }
-
-    private void merge( String key, Map<String, VersionInfo> infos, String timestamp, String version,
-                        ArtifactRepository repository )
-    {
-        VersionInfo info = infos.get( key );
-        if ( info == null )
-        {
-            info = new VersionInfo( timestamp, version, repository );
-            infos.put( key, info );
-        }
-        else if ( info.isOutdated( timestamp ) )
-        {
-            info.version = version;
-            info.repository = repository;
-            info.timestamp = timestamp;
-        }
-    }
-
-    private void merge( Map<String, VersionInfo> infos, String srcKey, String dstKey )
-    {
-        VersionInfo srcInfo = infos.get( srcKey );
-        VersionInfo dstInfo = infos.get( dstKey );
-
-        if ( dstInfo == null || ( srcInfo != null && dstInfo.isOutdated( srcInfo.timestamp )
-            && srcInfo.repository != dstInfo.repository ) )
-        {
-            infos.put( dstKey, srcInfo );
-        }
-    }
-
-    private String getKey( String classifier, String extension )
-    {
-        return StringUtils.clean( classifier ) + ':' + StringUtils.clean( extension );
-    }
-
-    private boolean isSafelyCacheable( RepositorySystemSession session, Artifact artifact )
-    {
-        /*
-         * The workspace/reactor is in flux so we better not assume definitive information for any of its
-         * artifacts/projects.
-         */
-
-        WorkspaceReader workspace = session.getWorkspaceReader();
-        if ( workspace == null )
-        {
-            return true;
-        }
-
-        Artifact pomArtifact = ArtifactDescriptorUtils.toPomArtifact( artifact );
-
-        return workspace.findArtifact( pomArtifact ) == null;
-    }
-
-    private static class VersionInfo
-    {
-
-        String timestamp;
-
-        String version;
-
-        ArtifactRepository repository;
-
-        public VersionInfo( String timestamp, String version, ArtifactRepository repository )
-        {
-            this.timestamp = ( timestamp != null ) ? timestamp : "";
-            this.version = version;
-            this.repository = repository;
-        }
-
-        public boolean isOutdated( String timestamp )
-        {
-            return timestamp != null && timestamp.compareTo( this.timestamp ) > 0;
-        }
-
-    }
-
-    private static class Key
-    {
-
-        private final String groupId;
-
-        private final String artifactId;
-
-        private final String classifier;
-
-        private final String extension;
-
-        private final String version;
-
-        private final String context;
-
-        private final File localRepo;
-
-        private final WorkspaceRepository workspace;
-
-        private final List<RemoteRepository> repositories;
-
-        private final int hashCode;
-
-        public Key( RepositorySystemSession session, VersionRequest request )
-        {
-            Artifact artifact = request.getArtifact();
-            groupId = artifact.getGroupId();
-            artifactId = artifact.getArtifactId();
-            classifier = artifact.getClassifier();
-            extension = artifact.getExtension();
-            version = artifact.getVersion();
-            localRepo = session.getLocalRepository().getBasedir();
-            workspace = CacheUtils.getWorkspace( session );
-            repositories = new ArrayList<>( request.getRepositories().size() );
-            boolean repoMan = false;
-            for ( RemoteRepository repository : request.getRepositories() )
-            {
-                if ( repository.isRepositoryManager() )
-                {
-                    repoMan = true;
-                    repositories.addAll( repository.getMirroredRepositories() );
-                }
-                else
-                {
-                    repositories.add( repository );
-                }
-            }
-            context = repoMan ? request.getRequestContext() : "";
-
-            int hash = 17;
-            hash = hash * 31 + groupId.hashCode();
-            hash = hash * 31 + artifactId.hashCode();
-            hash = hash * 31 + classifier.hashCode();
-            hash = hash * 31 + extension.hashCode();
-            hash = hash * 31 + version.hashCode();
-            hash = hash * 31 + localRepo.hashCode();
-            hash = hash * 31 + CacheUtils.repositoriesHashCode( repositories );
-            hashCode = hash;
-        }
-
-        @Override
-        public boolean equals( Object obj )
-        {
-            if ( obj == this )
-            {
-                return true;
-            }
-            else if ( obj == null || !getClass().equals( obj.getClass() ) )
-            {
-                return false;
-            }
-
-            Key that = (Key) obj;
-            return artifactId.equals( that.artifactId ) && groupId.equals( that.groupId ) && classifier.equals(
-                that.classifier ) && extension.equals( that.extension ) && version.equals( that.version )
-                && context.equals( that.context ) && localRepo.equals( that.localRepo )
-                && CacheUtils.eq( workspace, that.workspace )
-                && CacheUtils.repositoriesEquals( repositories, that.repositories );
-        }
-
-        @Override
-        public int hashCode()
-        {
-            return hashCode;
-        }
-
-    }
-
-    private static class Record
-    {
-        final String version;
-
-        final String repoId;
-
-        final Class<?> repoClass;
-
-        public Record( String version, ArtifactRepository repository )
-        {
-            this.version = version;
-            if ( repository != null )
-            {
-                repoId = repository.getId();
-                repoClass = repository.getClass();
-            }
-            else
-            {
-                repoId = null;
-                repoClass = null;
-            }
-        }
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadata.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadata.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadata.java
deleted file mode 100644
index a572010..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadata.java
+++ /dev/null
@@ -1,163 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import org.apache.maven.artifact.repository.metadata.Metadata;
-import org.apache.maven.artifact.repository.metadata.Snapshot;
-import org.apache.maven.artifact.repository.metadata.SnapshotVersion;
-import org.apache.maven.artifact.repository.metadata.Versioning;
-import org.eclipse.aether.artifact.Artifact;
-
-/**
- * @author Benjamin Bentmann
- */
-final class LocalSnapshotMetadata
-    extends MavenMetadata
-{
-
-    private final Collection<Artifact> artifacts = new ArrayList<>();
-
-    private final boolean legacyFormat;
-
-    public LocalSnapshotMetadata( Artifact artifact, boolean legacyFormat )
-    {
-        super( createMetadata( artifact, legacyFormat ), null );
-        this.legacyFormat = legacyFormat;
-    }
-
-    public LocalSnapshotMetadata( Metadata metadata, File file, boolean legacyFormat )
-    {
-        super( metadata, file );
-        this.legacyFormat = legacyFormat;
-    }
-
-    private static Metadata createMetadata( Artifact artifact, boolean legacyFormat )
-    {
-        Snapshot snapshot = new Snapshot();
-        snapshot.setLocalCopy( true );
-        Versioning versioning = new Versioning();
-        versioning.setSnapshot( snapshot );
-
-        Metadata metadata = new Metadata();
-        metadata.setVersioning( versioning );
-        metadata.setGroupId( artifact.getGroupId() );
-        metadata.setArtifactId( artifact.getArtifactId() );
-        metadata.setVersion( artifact.getBaseVersion() );
-
-        if ( !legacyFormat )
-        {
-            metadata.setModelVersion( "1.1.0" );
-        }
-
-        return metadata;
-    }
-
-    public void bind( Artifact artifact )
-    {
-        artifacts.add( artifact );
-    }
-
-    public MavenMetadata setFile( File file )
-    {
-        return new LocalSnapshotMetadata( metadata, file, legacyFormat );
-    }
-
-    public Object getKey()
-    {
-        return getGroupId() + ':' + getArtifactId() + ':' + getVersion();
-    }
-
-    public static Object getKey( Artifact artifact )
-    {
-        return artifact.getGroupId() + ':' + artifact.getArtifactId() + ':' + artifact.getBaseVersion();
-    }
-
-    @Override
-    protected void merge( Metadata recessive )
-    {
-        metadata.getVersioning().updateTimestamp();
-
-        if ( !legacyFormat )
-        {
-            String lastUpdated = metadata.getVersioning().getLastUpdated();
-
-            Map<String, SnapshotVersion> versions = new LinkedHashMap<>();
-
-            for ( Artifact artifact : artifacts )
-            {
-                SnapshotVersion sv = new SnapshotVersion();
-                sv.setClassifier( artifact.getClassifier() );
-                sv.setExtension( artifact.getExtension() );
-                sv.setVersion( getVersion() );
-                sv.setUpdated( lastUpdated );
-                versions.put( getKey( sv.getClassifier(), sv.getExtension() ), sv );
-            }
-
-            Versioning versioning = recessive.getVersioning();
-            if ( versioning != null )
-            {
-                for ( SnapshotVersion sv : versioning.getSnapshotVersions() )
-                {
-                    String key = getKey( sv.getClassifier(), sv.getExtension() );
-                    if ( !versions.containsKey( key ) )
-                    {
-                        versions.put( key, sv );
-                    }
-                }
-            }
-
-            metadata.getVersioning().setSnapshotVersions( new ArrayList<>( versions.values() ) );
-        }
-
-        artifacts.clear();
-    }
-
-    private String getKey( String classifier, String extension )
-    {
-        return classifier + ':' + extension;
-    }
-
-    public String getGroupId()
-    {
-        return metadata.getGroupId();
-    }
-
-    public String getArtifactId()
-    {
-        return metadata.getArtifactId();
-    }
-
-    public String getVersion()
-    {
-        return metadata.getVersion();
-    }
-
-    public Nature getNature()
-    {
-        return Nature.SNAPSHOT;
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadataGenerator.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadataGenerator.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadataGenerator.java
deleted file mode 100644
index 072ba66..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadataGenerator.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.impl.MetadataGenerator;
-import org.eclipse.aether.installation.InstallRequest;
-import org.eclipse.aether.metadata.Metadata;
-import org.eclipse.aether.util.ConfigUtils;
-
-/**
- * @author Benjamin Bentmann
- */
-class LocalSnapshotMetadataGenerator
-    implements MetadataGenerator
-{
-
-    private Map<Object, LocalSnapshotMetadata> snapshots;
-
-    private final boolean legacyFormat;
-
-    public LocalSnapshotMetadataGenerator( RepositorySystemSession session, InstallRequest request )
-    {
-        legacyFormat = ConfigUtils.getBoolean( session.getConfigProperties(), false, "maven.metadata.legacy" );
-
-        snapshots = new LinkedHashMap<>();
-    }
-
-    public Collection<? extends Metadata> prepare( Collection<? extends Artifact> artifacts )
-    {
-        for ( Artifact artifact : artifacts )
-        {
-            if ( artifact.isSnapshot() )
-            {
-                Object key = LocalSnapshotMetadata.getKey( artifact );
-                LocalSnapshotMetadata snapshotMetadata = snapshots.get( key );
-                if ( snapshotMetadata == null )
-                {
-                    snapshotMetadata = new LocalSnapshotMetadata( artifact, legacyFormat );
-                    snapshots.put( key, snapshotMetadata );
-                }
-                snapshotMetadata.bind( artifact );
-            }
-        }
-
-        return Collections.emptyList();
-    }
-
-    public Artifact transformArtifact( Artifact artifact )
-    {
-        return artifact;
-    }
-
-    public Collection<? extends Metadata> finish( Collection<? extends Artifact> artifacts )
-    {
-        return snapshots.values();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenAetherModule.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenAetherModule.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenAetherModule.java
deleted file mode 100644
index 1c9acd7..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenAetherModule.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.apache.maven.model.building.DefaultModelBuilderFactory;
-import org.apache.maven.model.building.ModelBuilder;
-import org.eclipse.aether.impl.AetherModule;
-import org.eclipse.aether.impl.ArtifactDescriptorReader;
-import org.eclipse.aether.impl.MetadataGeneratorFactory;
-import org.eclipse.aether.impl.VersionRangeResolver;
-import org.eclipse.aether.impl.VersionResolver;
-
-import com.google.inject.AbstractModule;
-import com.google.inject.Provides;
-import com.google.inject.name.Names;
-
-public final class MavenAetherModule
-    extends AbstractModule
-{
-
-    @Override
-    protected void configure()
-    {
-        install( new AetherModule() );
-        bind( ArtifactDescriptorReader.class ) //
-        .to( DefaultArtifactDescriptorReader.class ).in( Singleton.class );
-        bind( VersionResolver.class ) //
-        .to( DefaultVersionResolver.class ).in( Singleton.class );
-        bind( VersionRangeResolver.class ) //
-        .to( DefaultVersionRangeResolver.class ).in( Singleton.class );
-        bind( MetadataGeneratorFactory.class ).annotatedWith( Names.named( "snapshot" ) ) //
-        .to( SnapshotMetadataGeneratorFactory.class ).in( Singleton.class );
-        bind( MetadataGeneratorFactory.class ).annotatedWith( Names.named( "versions" ) ) //
-        .to( VersionsMetadataGeneratorFactory.class ).in( Singleton.class );
-        bind( ModelBuilder.class ) //
-        .toInstance( new DefaultModelBuilderFactory().newInstance() );
-    }
-
-    @Provides
-    @Singleton
-    Set<MetadataGeneratorFactory> provideMetadataGeneratorFactories( @Named( "snapshot" )
-                                                                     MetadataGeneratorFactory snapshot,
-                                                                     @Named( "versions" )
-                                                                     MetadataGeneratorFactory versions )
-    {
-        Set<MetadataGeneratorFactory> factories = new HashSet<>();
-        factories.add( snapshot );
-        factories.add( versions );
-        return Collections.unmodifiableSet( factories );
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenMetadata.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenMetadata.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenMetadata.java
deleted file mode 100644
index aef44f6..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenMetadata.java
+++ /dev/null
@@ -1,137 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.repository.metadata.Metadata;
-import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader;
-import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer;
-import org.codehaus.plexus.util.ReaderFactory;
-import org.codehaus.plexus.util.WriterFactory;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-import org.eclipse.aether.RepositoryException;
-import org.eclipse.aether.metadata.AbstractMetadata;
-import org.eclipse.aether.metadata.MergeableMetadata;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-import java.util.Collections;
-import java.util.Map;
-
-/**
- * @author Benjamin Bentmann
- */
-abstract class MavenMetadata
-    extends AbstractMetadata
-    implements MergeableMetadata
-{
-
-    static final String MAVEN_METADATA_XML = "maven-metadata.xml";
-
-    private final File file;
-
-    protected Metadata metadata;
-
-    private boolean merged;
-
-    protected MavenMetadata( Metadata metadata, File file )
-    {
-        this.metadata = metadata;
-        this.file = file;
-    }
-
-    public String getType()
-    {
-        return MAVEN_METADATA_XML;
-    }
-
-    public File getFile()
-    {
-        return file;
-    }
-
-    public void merge( File existing, File result )
-        throws RepositoryException
-    {
-        Metadata recessive = read( existing );
-
-        merge( recessive );
-
-        write( result, metadata );
-
-        merged = true;
-    }
-
-    public boolean isMerged()
-    {
-        return merged;
-    }
-
-    protected abstract void merge( Metadata recessive );
-
-    static Metadata read( File metadataFile )
-        throws RepositoryException
-    {
-        if ( metadataFile.length() <= 0 )
-        {
-            return new Metadata();
-        }
-
-        try ( Reader reader = ReaderFactory.newXmlReader( metadataFile ) )
-        {
-            return new MetadataXpp3Reader().read( reader, false );
-        }
-        catch ( IOException e )
-        {
-            throw new RepositoryException( "Could not read metadata " + metadataFile + ": " + e.getMessage(), e );
-        }
-        catch ( XmlPullParserException e )
-        {
-            throw new RepositoryException( "Could not parse metadata " + metadataFile + ": " + e.getMessage(), e );
-        }
-    }
-
-    private void write( File metadataFile, Metadata metadata )
-        throws RepositoryException
-    {
-        metadataFile.getParentFile().mkdirs();
-        try ( Writer writer = WriterFactory.newXmlWriter( metadataFile ) )
-        {
-            new MetadataXpp3Writer().write( writer, metadata );
-        }
-        catch ( IOException e )
-        {
-            throw new RepositoryException( "Could not write metadata " + metadataFile + ": " + e.getMessage(), e );
-        }
-    }
-
-    public Map<String, String> getProperties()
-    {
-        return Collections.emptyMap();
-    }
-
-    @Override
-    public org.eclipse.aether.metadata.Metadata setProperties( Map<String, String> properties )
-    {
-        return this;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java
deleted file mode 100644
index 1b11cb3..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java
+++ /dev/null
@@ -1,145 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Properties;
-
-import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.eclipse.aether.artifact.DefaultArtifactType;
-import org.eclipse.aether.collection.DependencyGraphTransformer;
-import org.eclipse.aether.collection.DependencyManager;
-import org.eclipse.aether.collection.DependencySelector;
-import org.eclipse.aether.collection.DependencyTraverser;
-import org.eclipse.aether.impl.ArtifactDescriptorReader;
-import org.eclipse.aether.impl.DefaultServiceLocator;
-import org.eclipse.aether.impl.MetadataGeneratorFactory;
-import org.eclipse.aether.impl.VersionRangeResolver;
-import org.eclipse.aether.impl.VersionResolver;
-import org.eclipse.aether.util.artifact.DefaultArtifactTypeRegistry;
-import org.eclipse.aether.util.graph.manager.ClassicDependencyManager;
-import org.eclipse.aether.util.graph.selector.AndDependencySelector;
-import org.eclipse.aether.util.graph.selector.ExclusionDependencySelector;
-import org.eclipse.aether.util.graph.selector.OptionalDependencySelector;
-import org.eclipse.aether.util.graph.selector.ScopeDependencySelector;
-import org.eclipse.aether.util.graph.transformer.ChainedDependencyGraphTransformer;
-import org.eclipse.aether.util.graph.transformer.ConflictResolver;
-import org.eclipse.aether.util.graph.transformer.JavaDependencyContextRefiner;
-import org.eclipse.aether.util.graph.transformer.JavaScopeDeriver;
-import org.eclipse.aether.util.graph.transformer.JavaScopeSelector;
-import org.eclipse.aether.util.graph.transformer.NearestVersionSelector;
-import org.eclipse.aether.util.graph.transformer.SimpleOptionalitySelector;
-import org.eclipse.aether.util.graph.traverser.FatArtifactTraverser;
-import org.eclipse.aether.util.repository.SimpleArtifactDescriptorPolicy;
-
-/**
- * A utility class to assist in setting up a Maven-like repository system. <em>Note:</em> This component is meant to
- * assist those clients that employ the repository system outside of an IoC container, Maven plugins should instead
- * always use regular dependency injection to acquire the repository system.
- *
- * @author Benjamin Bentmann
- */
-public final class MavenRepositorySystemUtils
-{
-
-    private MavenRepositorySystemUtils()
-    {
-        // hide constructor
-    }
-
-    /**
-     * Creates a new service locator that already knows about all service implementations included in this library. To
-     * acquire a complete repository system, clients need to add some repository connectors for remote transfers.
-     *
-     * @return The new service locator, never {@code null}.
-     */
-    public static DefaultServiceLocator newServiceLocator()
-    {
-        DefaultServiceLocator locator = new DefaultServiceLocator();
-        locator.addService( ArtifactDescriptorReader.class, DefaultArtifactDescriptorReader.class );
-        locator.addService( VersionResolver.class, DefaultVersionResolver.class );
-        locator.addService( VersionRangeResolver.class, DefaultVersionRangeResolver.class );
-        locator.addService( MetadataGeneratorFactory.class, SnapshotMetadataGeneratorFactory.class );
-        locator.addService( MetadataGeneratorFactory.class, VersionsMetadataGeneratorFactory.class );
-        return locator;
-    }
-
-    /**
-     * Creates a new Maven-like repository system session by initializing the session with values typical for
-     * Maven-based resolution. In more detail, this method configures settings relevant for the processing of dependency
-     * graphs, most other settings remain at their generic default value. Use the various setters to further configure
-     * the session with authentication, mirror, proxy and other information required for your environment.
-     *
-     * @return The new repository system session, never {@code null}.
-     */
-    public static DefaultRepositorySystemSession newSession()
-    {
-        DefaultRepositorySystemSession session = new DefaultRepositorySystemSession();
-
-        DependencyTraverser depTraverser = new FatArtifactTraverser();
-        session.setDependencyTraverser( depTraverser );
-
-        DependencyManager depManager = new ClassicDependencyManager();
-        session.setDependencyManager( depManager );
-
-        DependencySelector depFilter =
-            new AndDependencySelector( new ScopeDependencySelector( "test", "provided" ),
-                                       new OptionalDependencySelector(), new ExclusionDependencySelector() );
-        session.setDependencySelector( depFilter );
-
-        DependencyGraphTransformer transformer =
-            new ConflictResolver( new NearestVersionSelector(), new JavaScopeSelector(),
-                                  new SimpleOptionalitySelector(), new JavaScopeDeriver() );
-        new ChainedDependencyGraphTransformer( transformer, new JavaDependencyContextRefiner() );
-        session.setDependencyGraphTransformer( transformer );
-
-        DefaultArtifactTypeRegistry stereotypes = new DefaultArtifactTypeRegistry();
-        stereotypes.add( new DefaultArtifactType( "pom" ) );
-        stereotypes.add( new DefaultArtifactType( "maven-plugin", "jar", "", "java" ) );
-        stereotypes.add( new DefaultArtifactType( "jar", "jar", "", "java" ) );
-        stereotypes.add( new DefaultArtifactType( "ejb", "jar", "", "java" ) );
-        stereotypes.add( new DefaultArtifactType( "ejb-client", "jar", "client", "java" ) );
-        stereotypes.add( new DefaultArtifactType( "test-jar", "jar", "tests", "java" ) );
-        stereotypes.add( new DefaultArtifactType( "javadoc", "jar", "javadoc", "java" ) );
-        stereotypes.add( new DefaultArtifactType( "java-source", "jar", "sources", "java", false, false ) );
-        stereotypes.add( new DefaultArtifactType( "war", "war", "", "java", false, true ) );
-        stereotypes.add( new DefaultArtifactType( "ear", "ear", "", "java", false, true ) );
-        stereotypes.add( new DefaultArtifactType( "rar", "rar", "", "java", false, true ) );
-        stereotypes.add( new DefaultArtifactType( "par", "par", "", "java", false, true ) );
-        session.setArtifactTypeRegistry( stereotypes );
-
-        session.setArtifactDescriptorPolicy( new SimpleArtifactDescriptorPolicy( true, true ) );
-
-        final Properties systemProperties = new Properties();
-        
-        // MNG-5670 guard against ConcurrentModificationException
-        // MNG-6053 guard against key without value
-        Properties sysProp = System.getProperties();
-        synchronized ( sysProp )
-        {
-            systemProperties.putAll( sysProp );
-        }
-
-        session.setSystemProperties( systemProperties );
-        session.setConfigProperties( systemProperties );
-
-        return session;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenSnapshotMetadata.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenSnapshotMetadata.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenSnapshotMetadata.java
deleted file mode 100644
index e4c9a7e..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenSnapshotMetadata.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.apache.maven.artifact.repository.metadata.Metadata;
-import org.eclipse.aether.artifact.Artifact;
-
-/**
- * @author Herv� Boutemy
- */
-abstract class MavenSnapshotMetadata
-    extends MavenMetadata
-{
-    static final String SNAPSHOT = "SNAPSHOT";
-
-    protected final Collection<Artifact> artifacts = new ArrayList<>();
-
-    protected final boolean legacyFormat;
-
-    protected MavenSnapshotMetadata( Metadata metadata, File file, boolean legacyFormat )
-    {
-        super( metadata, file );
-        this.legacyFormat = legacyFormat;
-    }
-
-    protected static Metadata createRepositoryMetadata( Artifact artifact, boolean legacyFormat )
-    {
-        Metadata metadata = new Metadata();
-        if ( !legacyFormat )
-        {
-            metadata.setModelVersion( "1.1.0" );
-        }
-        metadata.setGroupId( artifact.getGroupId() );
-        metadata.setArtifactId( artifact.getArtifactId() );
-        metadata.setVersion( artifact.getBaseVersion() );
-
-        return metadata;
-    }
-
-    public void bind( Artifact artifact )
-    {
-        artifacts.add( artifact );
-    }
-
-    public Object getKey()
-    {
-        return getGroupId() + ':' + getArtifactId() + ':' + getVersion();
-    }
-
-    public static Object getKey( Artifact artifact )
-    {
-        return artifact.getGroupId() + ':' + artifact.getArtifactId() + ':' + artifact.getBaseVersion();
-    }
-
-    protected String getKey( String classifier, String extension )
-    {
-        return classifier + ':' + extension;
-    }
-
-    public String getGroupId()
-    {
-        return metadata.getGroupId();
-    }
-
-    public String getArtifactId()
-    {
-        return metadata.getArtifactId();
-    }
-
-    public String getVersion()
-    {
-        return metadata.getVersion();
-    }
-
-    public Nature getNature()
-    {
-        return Nature.SNAPSHOT;
-    }
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenWorkspaceReader.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenWorkspaceReader.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenWorkspaceReader.java
deleted file mode 100644
index 270cf58..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenWorkspaceReader.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.model.Model;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.repository.WorkspaceReader;
-
-public interface MavenWorkspaceReader
-    extends WorkspaceReader
-{
-
-    Model findModel( Artifact artifact );
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/RelocatedArtifact.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/RelocatedArtifact.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/RelocatedArtifact.java
deleted file mode 100644
index c6ef3aa..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/RelocatedArtifact.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.Map;
-
-import org.apache.commons.lang3.Validate;
-import org.eclipse.aether.artifact.AbstractArtifact;
-import org.eclipse.aether.artifact.Artifact;
-
-/**
- * @author Benjamin Bentmann
- */
-final class RelocatedArtifact
-    extends AbstractArtifact
-{
-
-    private final Artifact artifact;
-
-    private final String groupId;
-
-    private final String artifactId;
-
-    private final String version;
-
-    public RelocatedArtifact( Artifact artifact, String groupId, String artifactId, String version )
-    {
-        this.artifact = Validate.notNull( artifact, "artifact cannot be null" );
-        // TODO Use StringUtils here
-        this.groupId = ( groupId != null && groupId.length() > 0 ) ? groupId : null;
-        this.artifactId = ( artifactId != null && artifactId.length() > 0 ) ? artifactId : null;
-        this.version = ( version != null && version.length() > 0 ) ? version : null;
-    }
-
-    public String getGroupId()
-    {
-        if ( groupId != null )
-        {
-            return groupId;
-        }
-        else
-        {
-            return artifact.getGroupId();
-        }
-    }
-
-    public String getArtifactId()
-    {
-        if ( artifactId != null )
-        {
-            return artifactId;
-        }
-        else
-        {
-            return artifact.getArtifactId();
-        }
-    }
-
-    public String getVersion()
-    {
-        if ( version != null )
-        {
-            return version;
-        }
-        else
-        {
-            return artifact.getVersion();
-        }
-    }
-
-    public String getClassifier()
-    {
-        return artifact.getClassifier();
-    }
-
-    public String getExtension()
-    {
-        return artifact.getExtension();
-    }
-
-    public File getFile()
-    {
-        return artifact.getFile();
-    }
-
-    public String getProperty( String key, String defaultValue )
-    {
-        return artifact.getProperty( key, defaultValue );
-    }
-
-    public Map<String, String> getProperties()
-    {
-        return artifact.getProperties();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadata.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadata.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadata.java
deleted file mode 100644
index 1e791d8..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadata.java
+++ /dev/null
@@ -1,157 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.TimeZone;
-
-import org.apache.maven.artifact.repository.metadata.Metadata;
-import org.apache.maven.artifact.repository.metadata.Snapshot;
-import org.apache.maven.artifact.repository.metadata.SnapshotVersion;
-import org.apache.maven.artifact.repository.metadata.Versioning;
-import org.eclipse.aether.artifact.Artifact;
-
-/**
- * @author Benjamin Bentmann
- */
-final class RemoteSnapshotMetadata
-    extends MavenSnapshotMetadata
-{
-    public static final String DEFAULT_SNAPSHOT_TIMESTAMP_FORMAT = "yyyyMMdd.HHmmss";
-
-    public static final TimeZone DEFAULT_SNAPSHOT_TIME_ZONE = TimeZone.getTimeZone( "Etc/UTC" );
-
-    private final Map<String, SnapshotVersion> versions = new LinkedHashMap<>();
-
-    public RemoteSnapshotMetadata( Artifact artifact, boolean legacyFormat )
-    {
-        super( createRepositoryMetadata( artifact, legacyFormat ), null, legacyFormat );
-    }
-
-    private RemoteSnapshotMetadata( Metadata metadata, File file, boolean legacyFormat )
-    {
-        super( metadata, file, legacyFormat );
-    }
-
-    public MavenMetadata setFile( File file )
-    {
-        return new RemoteSnapshotMetadata( metadata, file, legacyFormat );
-    }
-
-    public String getExpandedVersion( Artifact artifact )
-    {
-        String key = getKey( artifact.getClassifier(), artifact.getExtension() );
-        return versions.get( key ).getVersion();
-    }
-
-    @Override
-    protected void merge( Metadata recessive )
-    {
-        Snapshot snapshot;
-        String lastUpdated;
-
-        if ( metadata.getVersioning() == null )
-        {
-            DateFormat utcDateFormatter = new SimpleDateFormat( DEFAULT_SNAPSHOT_TIMESTAMP_FORMAT );
-            utcDateFormatter.setCalendar( new GregorianCalendar() );
-            utcDateFormatter.setTimeZone( DEFAULT_SNAPSHOT_TIME_ZONE );
-
-            snapshot = new Snapshot();
-            snapshot.setBuildNumber( getBuildNumber( recessive ) + 1 );
-            snapshot.setTimestamp( utcDateFormatter.format( new Date() ) );
-
-            Versioning versioning = new Versioning();
-            versioning.setSnapshot( snapshot );
-            versioning.setLastUpdated( snapshot.getTimestamp().replace( ".", "" ) );
-            lastUpdated = versioning.getLastUpdated();
-
-            metadata.setVersioning( versioning );
-        }
-        else
-        {
-            snapshot = metadata.getVersioning().getSnapshot();
-            lastUpdated = metadata.getVersioning().getLastUpdated();
-        }
-
-        for ( Artifact artifact : artifacts )
-        {
-            String version = artifact.getVersion();
-
-            if ( version.endsWith( SNAPSHOT ) )
-            {
-                String qualifier = snapshot.getTimestamp() + '-' + snapshot.getBuildNumber();
-                version = version.substring( 0, version.length() - SNAPSHOT.length() ) + qualifier;
-            }
-
-            SnapshotVersion sv = new SnapshotVersion();
-            sv.setClassifier( artifact.getClassifier() );
-            sv.setExtension( artifact.getExtension() );
-            sv.setVersion( version );
-            sv.setUpdated( lastUpdated );
-
-            versions.put( getKey( sv.getClassifier(), sv.getExtension() ), sv );
-        }
-
-        artifacts.clear();
-
-        Versioning versioning = recessive.getVersioning();
-        if ( versioning != null )
-        {
-            for ( SnapshotVersion sv : versioning.getSnapshotVersions() )
-            {
-                String key = getKey( sv.getClassifier(), sv.getExtension() );
-                if ( !versions.containsKey( key ) )
-                {
-                    versions.put( key, sv );
-                }
-            }
-        }
-
-        if ( !legacyFormat )
-        {
-            metadata.getVersioning().setSnapshotVersions( new ArrayList<>( versions.values() ) );
-        }
-    }
-
-    private static int getBuildNumber( Metadata metadata )
-    {
-        int number = 0;
-
-        Versioning versioning = metadata.getVersioning();
-        if ( versioning != null )
-        {
-            Snapshot snapshot = versioning.getSnapshot();
-            if ( snapshot != null && snapshot.getBuildNumber() > 0 )
-            {
-                number = snapshot.getBuildNumber();
-            }
-        }
-
-        return number;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataGenerator.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataGenerator.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataGenerator.java
deleted file mode 100644
index 8258966..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataGenerator.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.deployment.DeployRequest;
-import org.eclipse.aether.impl.MetadataGenerator;
-import org.eclipse.aether.metadata.Metadata;
-import org.eclipse.aether.util.ConfigUtils;
-
-/**
- * @author Benjamin Bentmann
- */
-class RemoteSnapshotMetadataGenerator
-    implements MetadataGenerator
-{
-
-    private final Map<Object, RemoteSnapshotMetadata> snapshots;
-
-    private final boolean legacyFormat;
-
-    public RemoteSnapshotMetadataGenerator( RepositorySystemSession session, DeployRequest request )
-    {
-        legacyFormat = ConfigUtils.getBoolean( session.getConfigProperties(), false, "maven.metadata.legacy" );
-
-        snapshots = new LinkedHashMap<>();
-
-        /*
-         * NOTE: This should be considered a quirk to support interop with Maven's legacy ArtifactDeployer which
-         * processes one artifact at a time and hence cannot associate the artifacts from the same project to use the
-         * same timestamp+buildno for the snapshot versions. Allowing the caller to pass in metadata from a previous
-         * deployment allows to re-establish the association between the artifacts of the same project.
-         */
-        for ( Metadata metadata : request.getMetadata() )
-        {
-            if ( metadata instanceof RemoteSnapshotMetadata )
-            {
-                RemoteSnapshotMetadata snapshotMetadata = (RemoteSnapshotMetadata) metadata;
-                snapshots.put( snapshotMetadata.getKey(), snapshotMetadata );
-            }
-        }
-    }
-
-    public Collection<? extends Metadata> prepare( Collection<? extends Artifact> artifacts )
-    {
-        for ( Artifact artifact : artifacts )
-        {
-            if ( artifact.isSnapshot() )
-            {
-                Object key = RemoteSnapshotMetadata.getKey( artifact );
-                RemoteSnapshotMetadata snapshotMetadata = snapshots.get( key );
-                if ( snapshotMetadata == null )
-                {
-                    snapshotMetadata = new RemoteSnapshotMetadata( artifact, legacyFormat );
-                    snapshots.put( key, snapshotMetadata );
-                }
-                snapshotMetadata.bind( artifact );
-            }
-        }
-
-        return snapshots.values();
-    }
-
-    public Artifact transformArtifact( Artifact artifact )
-    {
-        if ( artifact.isSnapshot() && artifact.getVersion().equals( artifact.getBaseVersion() ) )
-        {
-            Object key = RemoteSnapshotMetadata.getKey( artifact );
-            RemoteSnapshotMetadata snapshotMetadata = snapshots.get( key );
-            if ( snapshotMetadata != null )
-            {
-                artifact = artifact.setVersion( snapshotMetadata.getExpandedVersion( artifact ) );
-            }
-        }
-
-        return artifact;
-    }
-
-    public Collection<? extends Metadata> finish( Collection<? extends Artifact> artifacts )
-    {
-        return Collections.emptyList();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/SnapshotMetadataGeneratorFactory.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/SnapshotMetadataGeneratorFactory.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/SnapshotMetadataGeneratorFactory.java
deleted file mode 100644
index 79ffaad..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/SnapshotMetadataGeneratorFactory.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.codehaus.plexus.component.annotations.Component;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.deployment.DeployRequest;
-import org.eclipse.aether.impl.MetadataGenerator;
-import org.eclipse.aether.impl.MetadataGeneratorFactory;
-import org.eclipse.aether.installation.InstallRequest;
-
-/**
- * @author Benjamin Bentmann
- */
-@Component( role = MetadataGeneratorFactory.class, hint = "snapshot" )
-public class SnapshotMetadataGeneratorFactory
-    implements MetadataGeneratorFactory
-{
-
-    public MetadataGenerator newInstance( RepositorySystemSession session, InstallRequest request )
-    {
-        return new LocalSnapshotMetadataGenerator( session, request );
-    }
-
-    public MetadataGenerator newInstance( RepositorySystemSession session, DeployRequest request )
-    {
-        return new RemoteSnapshotMetadataGenerator( session, request );
-    }
-
-    public float getPriority()
-    {
-        return 10;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadata.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadata.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadata.java
deleted file mode 100644
index f5e13be..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadata.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.LinkedHashSet;
-
-import org.apache.maven.artifact.repository.metadata.Metadata;
-import org.apache.maven.artifact.repository.metadata.Versioning;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.artifact.ArtifactProperties;
-
-/**
- * @author Benjamin Bentmann
- */
-final class VersionsMetadata
-    extends MavenMetadata
-{
-
-    private final Artifact artifact;
-
-    public VersionsMetadata( Artifact artifact )
-    {
-        super( createRepositoryMetadata( artifact ), null );
-        this.artifact = artifact;
-    }
-
-    public VersionsMetadata( Artifact artifact, File file )
-    {
-        super( createRepositoryMetadata( artifact ), file );
-        this.artifact = artifact;
-    }
-
-    private static Metadata createRepositoryMetadata( Artifact artifact )
-    {
-        Metadata metadata = new Metadata();
-        metadata.setGroupId( artifact.getGroupId() );
-        metadata.setArtifactId( artifact.getArtifactId() );
-
-        Versioning versioning = new Versioning();
-        versioning.addVersion( artifact.getBaseVersion() );
-        if ( !artifact.isSnapshot() )
-        {
-            versioning.setRelease( artifact.getBaseVersion() );
-        }
-        if ( "maven-plugin".equals( artifact.getProperty( ArtifactProperties.TYPE, "" ) ) )
-        {
-            versioning.setLatest( artifact.getBaseVersion() );
-        }
-
-        metadata.setVersioning( versioning );
-
-        return metadata;
-    }
-
-    @Override
-    protected void merge( Metadata recessive )
-    {
-        Versioning versioning = metadata.getVersioning();
-        versioning.updateTimestamp();
-
-        if ( recessive.getVersioning() != null )
-        {
-            if ( versioning.getLatest() == null )
-            {
-                versioning.setLatest( recessive.getVersioning().getLatest() );
-            }
-            if ( versioning.getRelease() == null )
-            {
-                versioning.setRelease( recessive.getVersioning().getRelease() );
-            }
-
-            Collection<String> versions = new LinkedHashSet<>( recessive.getVersioning().getVersions() );
-            versions.addAll( versioning.getVersions() );
-            versioning.setVersions( new ArrayList<>( versions ) );
-        }
-    }
-
-    public Object getKey()
-    {
-        return getGroupId() + ':' + getArtifactId();
-    }
-
-    public static Object getKey( Artifact artifact )
-    {
-        return artifact.getGroupId() + ':' + artifact.getArtifactId();
-    }
-
-    public MavenMetadata setFile( File file )
-    {
-        return new VersionsMetadata( artifact, file );
-    }
-
-    public String getGroupId()
-    {
-        return artifact.getGroupId();
-    }
-
-    public String getArtifactId()
-    {
-        return artifact.getArtifactId();
-    }
-
-    public String getVersion()
-    {
-        return "";
-    }
-
-    public Nature getNature()
-    {
-        return artifact.isSnapshot() ? Nature.RELEASE_OR_SNAPSHOT : Nature.RELEASE;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGenerator.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGenerator.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGenerator.java
deleted file mode 100644
index 5173001..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGenerator.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.deployment.DeployRequest;
-import org.eclipse.aether.impl.MetadataGenerator;
-import org.eclipse.aether.installation.InstallRequest;
-import org.eclipse.aether.metadata.Metadata;
-
-/**
- * @author Benjamin Bentmann
- */
-class VersionsMetadataGenerator
-    implements MetadataGenerator
-{
-
-    private Map<Object, VersionsMetadata> versions;
-
-    private Map<Object, VersionsMetadata> processedVersions;
-
-    public VersionsMetadataGenerator( RepositorySystemSession session, InstallRequest request )
-    {
-        this( session, request.getMetadata() );
-    }
-
-    public VersionsMetadataGenerator( RepositorySystemSession session, DeployRequest request )
-    {
-        this( session, request.getMetadata() );
-    }
-
-    private VersionsMetadataGenerator( RepositorySystemSession session, Collection<? extends Metadata> metadatas )
-    {
-        versions = new LinkedHashMap<>();
-        processedVersions = new LinkedHashMap<>();
-
-        /*
-         * NOTE: This should be considered a quirk to support interop with Maven's legacy ArtifactDeployer which
-         * processes one artifact at a time and hence cannot associate the artifacts from the same project to use the
-         * same version index. Allowing the caller to pass in metadata from a previous deployment allows to re-establish
-         * the association between the artifacts of the same project.
-         */
-        for ( Iterator<? extends Metadata> it = metadatas.iterator(); it.hasNext(); )
-        {
-            Metadata metadata = it.next();
-            if ( metadata instanceof VersionsMetadata )
-            {
-                it.remove();
-                VersionsMetadata versionsMetadata = (VersionsMetadata) metadata;
-                processedVersions.put( versionsMetadata.getKey(), versionsMetadata );
-            }
-        }
-    }
-
-    public Collection<? extends Metadata> prepare( Collection<? extends Artifact> artifacts )
-    {
-        return Collections.emptyList();
-    }
-
-    public Artifact transformArtifact( Artifact artifact )
-    {
-        return artifact;
-    }
-
-    public Collection<? extends Metadata> finish( Collection<? extends Artifact> artifacts )
-    {
-        for ( Artifact artifact : artifacts )
-        {
-            Object key = VersionsMetadata.getKey( artifact );
-            if ( processedVersions.get( key ) == null )
-            {
-                VersionsMetadata versionsMetadata = versions.get( key );
-                if ( versionsMetadata == null )
-                {
-                    versionsMetadata = new VersionsMetadata( artifact );
-                    versions.put( key, versionsMetadata );
-                }
-            }
-        }
-
-        return versions.values();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGeneratorFactory.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGeneratorFactory.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGeneratorFactory.java
deleted file mode 100644
index 47ef360..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGeneratorFactory.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.codehaus.plexus.component.annotations.Component;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.deployment.DeployRequest;
-import org.eclipse.aether.impl.MetadataGenerator;
-import org.eclipse.aether.impl.MetadataGeneratorFactory;
-import org.eclipse.aether.installation.InstallRequest;
-
-/**
- * @author Benjamin Bentmann
- */
-@Component( role = MetadataGeneratorFactory.class, hint = "versions" )
-public class VersionsMetadataGeneratorFactory
-    implements MetadataGeneratorFactory
-{
-
-    public MetadataGenerator newInstance( RepositorySystemSession session, InstallRequest request )
-    {
-        return new VersionsMetadataGenerator( session, request );
-    }
-
-    public MetadataGenerator newInstance( RepositorySystemSession session, DeployRequest request )
-    {
-        return new VersionsMetadataGenerator( session, request );
-    }
-
-    public float getPriority()
-    {
-        return 5;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/package-info.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/package-info.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/package-info.java
deleted file mode 100644
index 5582cf7..0000000
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/package-info.java
+++ /dev/null
@@ -1,25 +0,0 @@
-// CHECKSTYLE_OFF: RegexpHeader
-/**
- * <a href="http://www.eclipse.org/aether/">Aether</a> extensions for utilizing the Maven POM and Maven repository
- * metadata.
- */
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/site/apt/index.apt b/maven-aether-provider/src/site/apt/index.apt
deleted file mode 100644
index 600ec41..0000000
--- a/maven-aether-provider/src/site/apt/index.apt
+++ /dev/null
@@ -1,33 +0,0 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
- -----
- Introduction
- -----
- Herv� Boutemy
- -----
- 2012-09-29
- -----
-
-Maven Aether Provider
-
- Maven Aether Provider is an {{{http://www.eclipse.org/aether/}Aether}} extension to support
- Maven POMs and local+remote repositories.
-
- Main component is <<<MavenRepositorySystemUtils>>>
- ({{{./apidocs/org/apache/maven/repository/internal/MavenRepositorySystemUtils.html}javadoc}},
- {{{./xref/org/apache/maven/repository/internal/MavenRepositorySystemUtils.html}source}}).

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/site/site.xml
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/site/site.xml b/maven-aether-provider/src/site/site.xml
deleted file mode 100644
index 3a16bf9..0000000
--- a/maven-aether-provider/src/site/site.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 http://maven.apache.org/xsd/decoration-1.0.0.xsd">
-  <body>
-    <menu name="Overview">
-      <item name="Introduction" href="index.html"/>
-      <item name="JavaDocs" href="apidocs/index.html"/>
-      <item name="Source Xref" href="xref/index.html"/>
-      <!--item name="FAQ" href="faq.html"/-->
-    </menu>
-
-    <menu ref="parent"/>
-    <menu ref="reports"/>
-  </body>
-</project>
\ No newline at end of file


[15/46] maven git commit: [MNG-5961] Fix the SLF4J logger factory implementation used for LOG4J2

Posted by sc...@apache.org.
[MNG-5961] Fix the SLF4J logger factory implementation used for LOG4J2

Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/23ceca36
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/23ceca36
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/23ceca36

Branch: refs/heads/MNG-5984
Commit: 23ceca36e7c980cc8d8bdc16d64ede98189079aa
Parents: 1740265
Author: Arnaud Heritier <ah...@apache.org>
Authored: Tue Jan 31 10:26:28 2017 +0100
Committer: Arnaud HERITIER <ah...@apache.org>
Committed: Mon Feb 6 00:26:14 2017 +0100

----------------------------------------------------------------------
 .../main/resources/META-INF/maven/slf4j-configuration.properties   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/23ceca36/maven-embedder/src/main/resources/META-INF/maven/slf4j-configuration.properties
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/resources/META-INF/maven/slf4j-configuration.properties b/maven-embedder/src/main/resources/META-INF/maven/slf4j-configuration.properties
index ae1bc39..ff865bc 100644
--- a/maven-embedder/src/main/resources/META-INF/maven/slf4j-configuration.properties
+++ b/maven-embedder/src/main/resources/META-INF/maven/slf4j-configuration.properties
@@ -19,5 +19,5 @@
 # value = corresponding o.a.m.cli.logging.Slf4jConfiguration class
 org.slf4j.impl.SimpleLoggerFactory org.apache.maven.cli.logging.impl.Slf4jSimpleConfiguration
 org.slf4j.impl.MavenSimpleLoggerFactory org.apache.maven.cli.logging.impl.Slf4jSimpleConfiguration
-org.slf4j.helpers.Log4jLoggerFactory org.apache.maven.cli.logging.impl.Log4j2Configuration
+org.apache.logging.slf4j.Log4jLoggerFactory org.apache.maven.cli.logging.impl.Log4j2Configuration
 ch.qos.logback.classic.LoggerContext org.apache.maven.cli.logging.impl.LogbackConfiguration


[36/46] maven git commit: [maven-release-plugin] prepare release maven-3.5.0-alpha-1

Posted by sc...@apache.org.
[maven-release-plugin] prepare release maven-3.5.0-alpha-1


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/8e6bbc4d
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/8e6bbc4d
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/8e6bbc4d

Branch: refs/heads/MNG-5984
Commit: 8e6bbc4d4aa7cdc837625a05358c98ca15f72698
Parents: dc9c4db
Author: Stephen Connolly <st...@gmail.com>
Authored: Thu Feb 23 14:56:21 2017 +0000
Committer: Stephen Connolly <st...@gmail.com>
Committed: Thu Feb 23 14:56:21 2017 +0000

----------------------------------------------------------------------
 apache-maven/pom.xml              | 2 +-
 maven-artifact/pom.xml            | 2 +-
 maven-builder-support/pom.xml     | 2 +-
 maven-compat/pom.xml              | 2 +-
 maven-core/pom.xml                | 2 +-
 maven-embedder/pom.xml            | 2 +-
 maven-model-builder/pom.xml       | 2 +-
 maven-model/pom.xml               | 2 +-
 maven-plugin-api/pom.xml          | 2 +-
 maven-repository-metadata/pom.xml | 2 +-
 maven-resolver-provider/pom.xml   | 2 +-
 maven-settings-builder/pom.xml    | 2 +-
 maven-settings/pom.xml            | 2 +-
 maven-slf4j-provider/pom.xml      | 2 +-
 pom.xml                           | 4 ++--
 15 files changed, 16 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/8e6bbc4d/apache-maven/pom.xml
----------------------------------------------------------------------
diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml
index 6fc5a73..bf746fe 100644
--- a/apache-maven/pom.xml
+++ b/apache-maven/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.0-alpha-1</version>
   </parent>
 
   <artifactId>apache-maven</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/8e6bbc4d/maven-artifact/pom.xml
----------------------------------------------------------------------
diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml
index e3943c9..d52f636 100644
--- a/maven-artifact/pom.xml
+++ b/maven-artifact/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.0-alpha-1</version>
   </parent>
 
   <artifactId>maven-artifact</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/8e6bbc4d/maven-builder-support/pom.xml
----------------------------------------------------------------------
diff --git a/maven-builder-support/pom.xml b/maven-builder-support/pom.xml
index 39eb161..1522718 100644
--- a/maven-builder-support/pom.xml
+++ b/maven-builder-support/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.0-alpha-1</version>
   </parent>
 
   <artifactId>maven-builder-support</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/8e6bbc4d/maven-compat/pom.xml
----------------------------------------------------------------------
diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml
index 2b205f7..3424480 100644
--- a/maven-compat/pom.xml
+++ b/maven-compat/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.0-alpha-1</version>
   </parent>
 
   <artifactId>maven-compat</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/8e6bbc4d/maven-core/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/pom.xml b/maven-core/pom.xml
index 0e20235..7c67b62 100644
--- a/maven-core/pom.xml
+++ b/maven-core/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.0-alpha-1</version>
   </parent>
 
   <artifactId>maven-core</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/8e6bbc4d/maven-embedder/pom.xml
----------------------------------------------------------------------
diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml
index 30ad2ce..268e313 100644
--- a/maven-embedder/pom.xml
+++ b/maven-embedder/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.0-alpha-1</version>
   </parent>
 
   <artifactId>maven-embedder</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/8e6bbc4d/maven-model-builder/pom.xml
----------------------------------------------------------------------
diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml
index 0dd08ac..65943cc 100644
--- a/maven-model-builder/pom.xml
+++ b/maven-model-builder/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.0-alpha-1</version>
   </parent>
 
   <artifactId>maven-model-builder</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/8e6bbc4d/maven-model/pom.xml
----------------------------------------------------------------------
diff --git a/maven-model/pom.xml b/maven-model/pom.xml
index 41cf168..1c636c7 100644
--- a/maven-model/pom.xml
+++ b/maven-model/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.0-alpha-1</version>
   </parent>
 
   <artifactId>maven-model</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/8e6bbc4d/maven-plugin-api/pom.xml
----------------------------------------------------------------------
diff --git a/maven-plugin-api/pom.xml b/maven-plugin-api/pom.xml
index d8f802d..5d2ee53 100644
--- a/maven-plugin-api/pom.xml
+++ b/maven-plugin-api/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.0-alpha-1</version>
   </parent>
 
   <artifactId>maven-plugin-api</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/8e6bbc4d/maven-repository-metadata/pom.xml
----------------------------------------------------------------------
diff --git a/maven-repository-metadata/pom.xml b/maven-repository-metadata/pom.xml
index 7480de7..228ad35 100644
--- a/maven-repository-metadata/pom.xml
+++ b/maven-repository-metadata/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.0-alpha-1</version>
   </parent>
 
   <artifactId>maven-repository-metadata</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/8e6bbc4d/maven-resolver-provider/pom.xml
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/pom.xml b/maven-resolver-provider/pom.xml
index e95cc41..8fc0625 100644
--- a/maven-resolver-provider/pom.xml
+++ b/maven-resolver-provider/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.0-alpha-1</version>
   </parent>
 
   <artifactId>maven-resolver-provider</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/8e6bbc4d/maven-settings-builder/pom.xml
----------------------------------------------------------------------
diff --git a/maven-settings-builder/pom.xml b/maven-settings-builder/pom.xml
index 2d415c9..de588e4 100644
--- a/maven-settings-builder/pom.xml
+++ b/maven-settings-builder/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.0-alpha-1</version>
   </parent>
 
   <artifactId>maven-settings-builder</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/8e6bbc4d/maven-settings/pom.xml
----------------------------------------------------------------------
diff --git a/maven-settings/pom.xml b/maven-settings/pom.xml
index 133ee32..6bf507f 100644
--- a/maven-settings/pom.xml
+++ b/maven-settings/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.0-alpha-1</version>
   </parent>
 
   <artifactId>maven-settings</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/8e6bbc4d/maven-slf4j-provider/pom.xml
----------------------------------------------------------------------
diff --git a/maven-slf4j-provider/pom.xml b/maven-slf4j-provider/pom.xml
index 81af382..e6f4a4a 100644
--- a/maven-slf4j-provider/pom.xml
+++ b/maven-slf4j-provider/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-SNAPSHOT</version>
+    <version>3.5.0-alpha-1</version>
   </parent>
 
   <artifactId>maven-slf4j-provider</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/8e6bbc4d/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index a085ffa..9db0689 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,7 +30,7 @@ under the License.
   </parent>
 
   <artifactId>maven</artifactId>
-  <version>3.5.0-SNAPSHOT</version>
+  <version>3.5.0-alpha-1</version>
   <packaging>pom</packaging>
 
   <name>Apache Maven</name>
@@ -98,7 +98,7 @@ under the License.
     <connection>scm:git:https://git-wip-us.apache.org/repos/asf/maven.git</connection>
     <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/maven.git</developerConnection>
     <url>https://github.com/apache/maven/tree/${project.scm.tag}</url>
-    <tag>master</tag>
+    <tag>maven-3.5.0-alpha-1</tag>
   </scm>
   <issueManagement>
     <system>jira</system>


[32/46] maven git commit: Fixing misspellings in test names

Posted by sc...@apache.org.
Fixing misspellings in test names

Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/e6217a45
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/e6217a45
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/e6217a45

Branch: refs/heads/MNG-5984
Commit: e6217a455547e5b3bcac310be18daf2a333cd5d1
Parents: 985b598
Author: August Shi <aw...@illinois.edu>
Authored: Wed May 25 14:12:52 2016 -0500
Committer: Herv� Boutemy <hb...@apache.org>
Committed: Sat Feb 18 18:29:19 2017 +0100

----------------------------------------------------------------------
 .../apache/maven/repository/DefaultMirrorSelectorTest.java   | 2 +-
 .../org/apache/maven/cli/transfer/FileSizeFormatTest.java    | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/e6217a45/maven-compat/src/test/java/org/apache/maven/repository/DefaultMirrorSelectorTest.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/DefaultMirrorSelectorTest.java b/maven-compat/src/test/java/org/apache/maven/repository/DefaultMirrorSelectorTest.java
index fb32f0f..4e8cdb0 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/DefaultMirrorSelectorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/DefaultMirrorSelectorTest.java
@@ -27,7 +27,7 @@ public class DefaultMirrorSelectorTest
     extends PlexusTestCase
 {
 
-    public void testMirrorWithMirroOfPatternContainingANegationIsNotSelected()
+    public void testMirrorWithMirrorOfPatternContainingANegationIsNotSelected()
     {
         ArtifactRepository repository = new DefaultArtifactRepository( "snapshots.repo", "http://whatever", null );
         String pattern = "external:*, !snapshots.repo";

http://git-wip-us.apache.org/repos/asf/maven/blob/e6217a45/maven-embedder/src/test/java/org/apache/maven/cli/transfer/FileSizeFormatTest.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/test/java/org/apache/maven/cli/transfer/FileSizeFormatTest.java b/maven-embedder/src/test/java/org/apache/maven/cli/transfer/FileSizeFormatTest.java
index 43939d1..a870411 100644
--- a/maven-embedder/src/test/java/org/apache/maven/cli/transfer/FileSizeFormatTest.java
+++ b/maven-embedder/src/test/java/org/apache/maven/cli/transfer/FileSizeFormatTest.java
@@ -221,16 +221,16 @@ public class FileSizeFormatTest {
     }
 
     @Test( expected = IllegalArgumentException.class )
-    public void testNegativeProgessedSize()
+    public void testNegativeProgressedSize()
     {
         FileSizeFormat format = new FileSizeFormat( Locale.ENGLISH );
 
-        long negativeProgessedSize = -100L;
-        format.formatProgress( negativeProgessedSize, 10L );
+        long negativeProgressedSize = -100L;
+        format.formatProgress( negativeProgressedSize, 10L );
     }
 
     @Test( expected = IllegalArgumentException.class )
-    public void testNegativeProgessedSizeBiggerThanSize()
+    public void testNegativeProgressedSizeBiggerThanSize()
     {
         FileSizeFormat format = new FileSizeFormat( Locale.ENGLISH );
 


[12/46] maven git commit: [MNG-6146] Several small stylistic and spelling improvements to code and documentation

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mgmt/sub/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mgmt/sub/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mgmt/sub/pom.xml
new file mode 100644
index 0000000..bf777db
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mgmt/sub/pom.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.its.mng3925</groupId>
+    <artifactId>parent</artifactId>
+    <version>0.1</version>
+  </parent>
+
+  <artifactId>child</artifactId>
+
+  <name>Maven Integration Test :: MNG-3925</name>
+  <description>
+    Test that plugin executions (in the same phase) are properly ordered after inheritance/merge with
+    parent executions.
+  </description>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-a</artifactId>
+        <version>1.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <id>child-1</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>child-1</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>child-2</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>child-2</goal>
+            </goals>
+          </execution>
+          <execution>
+            <!-- NOTE: <id> deliberately omitted to use default value -->
+            <phase>validate</phase>
+            <goals>
+              <goal>child-default</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mngt/pom.xml
deleted file mode 100644
index a816975..0000000
--- a/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng3925</groupId>
-  <artifactId>parent</artifactId>
-  <version>0.1</version>
-  <packaging>pom</packaging>
-
-  <name>Maven Integration Test :: MNG-3925</name>
-  <description>
-    Test that plugin executions (in the same phase) are properly ordered after inheritance/merge with
-    parent executions.
-  </description>
-
-  <build>
-    <!-- This project does not use plugin management for the test plugin -->
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-a</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <executions>
-          <execution>
-            <id>parent-1</id>
-            <phase>validate</phase>
-            <goals>
-              <goal>parent-1</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>parent-2</id>
-            <phase>validate</phase>
-            <goals>
-              <goal>parent-2</goal>
-            </goals>
-          </execution>
-          <execution>
-            <!-- NOTE: <id> deliberately omitted to use default value -->
-            <phase>validate</phase>
-            <goals>
-              <goal>parent-default</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mngt/sub/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mngt/sub/pom.xml b/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mngt/sub/pom.xml
deleted file mode 100644
index bf777db..0000000
--- a/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mngt/sub/pom.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.maven.its.mng3925</groupId>
-    <artifactId>parent</artifactId>
-    <version>0.1</version>
-  </parent>
-
-  <artifactId>child</artifactId>
-
-  <name>Maven Integration Test :: MNG-3925</name>
-  <description>
-    Test that plugin executions (in the same phase) are properly ordered after inheritance/merge with
-    parent executions.
-  </description>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-a</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <executions>
-          <execution>
-            <id>child-1</id>
-            <phase>validate</phase>
-            <goals>
-              <goal>child-1</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>child-2</id>
-            <phase>validate</phase>
-            <goals>
-              <goal>child-2</goal>
-            </goals>
-          </execution>
-          <execution>
-            <!-- NOTE: <id> deliberately omitted to use default value -->
-            <phase>validate</phase>
-            <goals>
-              <goal>child-default</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-config-attributes/w-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-config-attributes/w-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-config-attributes/w-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..2f35071
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/plugin-config-attributes/w-plugin-mgmt/pom.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng4053</groupId>
+  <artifactId>test2</artifactId>
+  <version>1.0-SNAPSHOT</version>
+
+  <name>Maven Integration Test :: MNG-4053</name>
+  <description>
+    Verify that attributes in plugin configuration elements are not erroneously duplicated to other elements when
+    plugin management is used.
+  </description>
+
+  <build>
+    <!-- NOTE: This test used plugin management for the IT plugin -->
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.its.plugins</groupId>
+          <artifactId>maven-it-plugin-configuration</artifactId>
+          <version>2.1-SNAPSHOT</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-configuration</artifactId>
+        <version>2.1-SNAPSHOT</version>
+        <configuration>
+          <propertiesFile>target/config.properties</propertiesFile>
+          <domParam>
+            <copy todir="src" overwrite="true">
+              <fileset dir="target"/>
+            </copy>
+          </domParam>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-config-attributes/w-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-config-attributes/w-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-config-attributes/w-plugin-mngt/pom.xml
deleted file mode 100644
index 2f35071..0000000
--- a/maven-core/src/test/resources-project-builder/plugin-config-attributes/w-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng4053</groupId>
-  <artifactId>test2</artifactId>
-  <version>1.0-SNAPSHOT</version>
-
-  <name>Maven Integration Test :: MNG-4053</name>
-  <description>
-    Verify that attributes in plugin configuration elements are not erroneously duplicated to other elements when
-    plugin management is used.
-  </description>
-
-  <build>
-    <!-- NOTE: This test used plugin management for the IT plugin -->
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.its.plugins</groupId>
-          <artifactId>maven-it-plugin-configuration</artifactId>
-          <version>2.1-SNAPSHOT</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-configuration</artifactId>
-        <version>2.1-SNAPSHOT</version>
-        <configuration>
-          <propertiesFile>target/config.properties</propertiesFile>
-          <domParam>
-            <copy todir="src" overwrite="true">
-              <fileset dir="target"/>
-            </copy>
-          </domParam>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-config-attributes/wo-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-config-attributes/wo-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-config-attributes/wo-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..c844b44
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/plugin-config-attributes/wo-plugin-mgmt/pom.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng4053</groupId>
+  <artifactId>test1</artifactId>
+  <version>1.0-SNAPSHOT</version>
+
+  <name>Maven Integration Test :: MNG-4053</name>
+  <description>
+    Verify that attributes in plugin configuration elements are not erroneously duplicated to other elements when
+    no plugin management is used.
+  </description>
+
+  <build>
+    <!-- NOTE: This test does not use plugin management for the IT plugin -->
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-configuration</artifactId>
+        <version>2.1-SNAPSHOT</version>
+        <configuration>
+          <propertiesFile>target/config.properties</propertiesFile>
+          <domParam>
+            <copy todir="src" overwrite="true">
+              <fileset dir="target"/>
+            </copy>
+          </domParam>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-config-attributes/wo-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-config-attributes/wo-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-config-attributes/wo-plugin-mngt/pom.xml
deleted file mode 100644
index c844b44..0000000
--- a/maven-core/src/test/resources-project-builder/plugin-config-attributes/wo-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng4053</groupId>
-  <artifactId>test1</artifactId>
-  <version>1.0-SNAPSHOT</version>
-
-  <name>Maven Integration Test :: MNG-4053</name>
-  <description>
-    Verify that attributes in plugin configuration elements are not erroneously duplicated to other elements when
-    no plugin management is used.
-  </description>
-
-  <build>
-    <!-- NOTE: This test does not use plugin management for the IT plugin -->
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-configuration</artifactId>
-        <version>2.1-SNAPSHOT</version>
-        <configuration>
-          <propertiesFile>target/config.properties</propertiesFile>
-          <domParam>
-            <copy todir="src" overwrite="true">
-              <fileset dir="target"/>
-            </copy>
-          </domParam>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-config-order/w-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-config-order/w-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-config-order/w-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..7d7dfd8
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/plugin-config-order/w-plugin-mgmt/pom.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3827</groupId>
+  <artifactId>test2</artifactId>
+  <version>1.0-SNAPSHOT</version>
+
+  <name>Maven Integration Test :: MNG-3827</name>
+  <description>
+    Verify that plain plugin configuration works correctly.
+  </description>
+
+  <build>
+    <!-- This project uses plugin management for the test plugin -->
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.its.plugins</groupId>
+          <artifactId>maven-it-plugin-configuration</artifactId>
+          <version>2.1-SNAPSHOT</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-configuration</artifactId>
+        <configuration>
+          <stringParams>
+            <stringParam>one</stringParam>
+            <stringParam>two</stringParam>
+            <stringParam>three</stringParam>
+            <stringParam>four</stringParam>
+          </stringParams>
+        </configuration>
+        <executions>
+          <execution>
+            <phase>validate</phase>
+            <goals>
+              <goal>config</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-config-order/w-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-config-order/w-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-config-order/w-plugin-mngt/pom.xml
deleted file mode 100644
index 7d7dfd8..0000000
--- a/maven-core/src/test/resources-project-builder/plugin-config-order/w-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng3827</groupId>
-  <artifactId>test2</artifactId>
-  <version>1.0-SNAPSHOT</version>
-
-  <name>Maven Integration Test :: MNG-3827</name>
-  <description>
-    Verify that plain plugin configuration works correctly.
-  </description>
-
-  <build>
-    <!-- This project uses plugin management for the test plugin -->
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.its.plugins</groupId>
-          <artifactId>maven-it-plugin-configuration</artifactId>
-          <version>2.1-SNAPSHOT</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-configuration</artifactId>
-        <configuration>
-          <stringParams>
-            <stringParam>one</stringParam>
-            <stringParam>two</stringParam>
-            <stringParam>three</stringParam>
-            <stringParam>four</stringParam>
-          </stringParams>
-        </configuration>
-        <executions>
-          <execution>
-            <phase>validate</phase>
-            <goals>
-              <goal>config</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-config-order/wo-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-config-order/wo-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-config-order/wo-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..e300fe1
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/plugin-config-order/wo-plugin-mgmt/pom.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3827</groupId>
+  <artifactId>test1</artifactId>
+  <version>1.0-SNAPSHOT</version>
+
+  <name>Maven Integration Test :: MNG-3827</name>
+  <description>
+    Verify that plain plugin configuration works correctly.
+  </description>
+
+  <build>
+    <!-- This project does not use plugin management for the test plugin -->
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-configuration</artifactId>
+        <version>1.0</version>
+        <configuration>
+          <stringParams>
+            <stringParam>one</stringParam>
+            <stringParam>two</stringParam>
+            <stringParam>three</stringParam>
+            <stringParam>four</stringParam>
+          </stringParams>
+        </configuration>
+        <executions>
+          <execution>
+            <phase>validate</phase>
+            <goals>
+              <goal>config</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-config-order/wo-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-config-order/wo-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-config-order/wo-plugin-mngt/pom.xml
deleted file mode 100644
index e300fe1..0000000
--- a/maven-core/src/test/resources-project-builder/plugin-config-order/wo-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng3827</groupId>
-  <artifactId>test1</artifactId>
-  <version>1.0-SNAPSHOT</version>
-
-  <name>Maven Integration Test :: MNG-3827</name>
-  <description>
-    Verify that plain plugin configuration works correctly.
-  </description>
-
-  <build>
-    <!-- This project does not use plugin management for the test plugin -->
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-configuration</artifactId>
-        <version>1.0</version>
-        <configuration>
-          <stringParams>
-            <stringParam>one</stringParam>
-            <stringParam>two</stringParam>
-            <stringParam>three</stringParam>
-            <stringParam>four</stringParam>
-          </stringParams>
-        </configuration>
-        <executions>
-          <execution>
-            <phase>validate</phase>
-            <goals>
-              <goal>config</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-config-order/w-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-config-order/w-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-config-order/w-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..9f66b49
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/plugin-exec-config-order/w-plugin-mgmt/pom.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3827</groupId>
+  <artifactId>test2</artifactId>
+  <version>1.0-SNAPSHOT</version>
+
+  <name>Maven Integration Test :: MNG-3864</name>
+  <description>
+    Verify that plain per-execution plugin configuration works correctly.
+  </description>
+
+  <build>
+    <!-- This project uses plugin management for the test plugin -->
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.its.plugins</groupId>
+          <artifactId>maven-it-plugin-configuration</artifactId>
+          <version>2.1-SNAPSHOT</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-configuration</artifactId>
+        <executions>
+          <execution>
+            <phase>validate</phase>
+            <goals>
+              <goal>config</goal>
+            </goals>
+            <configuration>
+              <stringParams>
+                <stringParam>one</stringParam>
+                <stringParam>two</stringParam>
+                <stringParam>three</stringParam>
+                <stringParam>four</stringParam>
+              </stringParams>
+              <propertiesParam>
+                <property>
+                  <name>key1</name>
+                  <value>value1</value>
+                </property>
+                <property>
+                  <name>key2</name>
+                  <value>value2</value>
+                </property>
+              </propertiesParam>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-config-order/w-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-config-order/w-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-config-order/w-plugin-mngt/pom.xml
deleted file mode 100644
index 9f66b49..0000000
--- a/maven-core/src/test/resources-project-builder/plugin-exec-config-order/w-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng3827</groupId>
-  <artifactId>test2</artifactId>
-  <version>1.0-SNAPSHOT</version>
-
-  <name>Maven Integration Test :: MNG-3864</name>
-  <description>
-    Verify that plain per-execution plugin configuration works correctly.
-  </description>
-
-  <build>
-    <!-- This project uses plugin management for the test plugin -->
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.its.plugins</groupId>
-          <artifactId>maven-it-plugin-configuration</artifactId>
-          <version>2.1-SNAPSHOT</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-configuration</artifactId>
-        <executions>
-          <execution>
-            <phase>validate</phase>
-            <goals>
-              <goal>config</goal>
-            </goals>
-            <configuration>
-              <stringParams>
-                <stringParam>one</stringParam>
-                <stringParam>two</stringParam>
-                <stringParam>three</stringParam>
-                <stringParam>four</stringParam>
-              </stringParams>
-              <propertiesParam>
-                <property>
-                  <name>key1</name>
-                  <value>value1</value>
-                </property>
-                <property>
-                  <name>key2</name>
-                  <value>value2</value>
-                </property>
-              </propertiesParam>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-config-order/wo-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-config-order/wo-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-config-order/wo-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..4e1eafe
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/plugin-exec-config-order/wo-plugin-mgmt/pom.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3827</groupId>
+  <artifactId>test1</artifactId>
+  <version>1.0-SNAPSHOT</version>
+
+  <name>Maven Integration Test :: MNG-3864</name>
+  <description>
+    Verify that plain per-execution plugin configuration works correctly.
+  </description>
+
+  <build>
+    <!-- This project does not use plugin management for the test plugin -->
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-configuration</artifactId>
+        <version>1.0</version>
+        <executions>
+          <execution>
+            <phase>validate</phase>
+            <goals>
+              <goal>config</goal>
+            </goals>
+            <configuration>
+              <stringParams>
+                <stringParam>one</stringParam>
+                <stringParam>two</stringParam>
+                <stringParam>three</stringParam>
+                <stringParam>four</stringParam>
+              </stringParams>
+              <propertiesParam>
+                <property>
+                  <name>key1</name>
+                  <value>value1</value>
+                </property>
+                <property>
+                  <name>key2</name>
+                  <value>value2</value>
+                </property>
+              </propertiesParam>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-config-order/wo-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-config-order/wo-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-config-order/wo-plugin-mngt/pom.xml
deleted file mode 100644
index 4e1eafe..0000000
--- a/maven-core/src/test/resources-project-builder/plugin-exec-config-order/wo-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng3827</groupId>
-  <artifactId>test1</artifactId>
-  <version>1.0-SNAPSHOT</version>
-
-  <name>Maven Integration Test :: MNG-3864</name>
-  <description>
-    Verify that plain per-execution plugin configuration works correctly.
-  </description>
-
-  <build>
-    <!-- This project does not use plugin management for the test plugin -->
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-configuration</artifactId>
-        <version>1.0</version>
-        <executions>
-          <execution>
-            <phase>validate</phase>
-            <goals>
-              <goal>config</goal>
-            </goals>
-            <configuration>
-              <stringParams>
-                <stringParam>one</stringParam>
-                <stringParam>two</stringParam>
-                <stringParam>three</stringParam>
-                <stringParam>four</stringParam>
-              </stringParams>
-              <propertiesParam>
-                <property>
-                  <name>key1</name>
-                  <value>value1</value>
-                </property>
-                <property>
-                  <name>key2</name>
-                  <value>value2</value>
-                </property>
-              </propertiesParam>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/w-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/w-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/w-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..d4ac3b0
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/w-plugin-mgmt/pom.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3886</groupId>
+  <artifactId>test</artifactId>
+  <version>0.1</version>
+  <packaging>pom</packaging>
+
+  <name>Maven Integration Test :: MNG-3886</name>
+  <description>
+    Test that the goals from a plugin execution are executed in the order given by the POM, regardless whether
+    plugin management is present or not.
+  </description>
+
+  <build>
+    <!-- This project uses plugin management for the test plugin -->
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.its.plugins</groupId>
+          <artifactId>maven-it-plugin-a</artifactId>
+          <version>1.0-SNAPSHOT</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-a</artifactId>
+        <version>1.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>b</goal>
+              <goal>a</goal>
+              <goal>d</goal>
+              <goal>c</goal>
+              <goal>e</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/w-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/w-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/w-plugin-mngt/pom.xml
deleted file mode 100644
index d4ac3b0..0000000
--- a/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/w-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng3886</groupId>
-  <artifactId>test</artifactId>
-  <version>0.1</version>
-  <packaging>pom</packaging>
-
-  <name>Maven Integration Test :: MNG-3886</name>
-  <description>
-    Test that the goals from a plugin execution are executed in the order given by the POM, regardless whether
-    plugin management is present or not.
-  </description>
-
-  <build>
-    <!-- This project uses plugin management for the test plugin -->
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.its.plugins</groupId>
-          <artifactId>maven-it-plugin-a</artifactId>
-          <version>1.0-SNAPSHOT</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-a</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <executions>
-          <execution>
-            <goals>
-              <goal>b</goal>
-              <goal>a</goal>
-              <goal>d</goal>
-              <goal>c</goal>
-              <goal>e</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/wo-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/wo-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/wo-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..438d9d1
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/wo-plugin-mgmt/pom.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3886</groupId>
+  <artifactId>test</artifactId>
+  <version>0.1</version>
+  <packaging>pom</packaging>
+
+  <name>Maven Integration Test :: MNG-3886</name>
+  <description>
+    Test that the goals from a plugin execution are executed in the order given by the POM, regardless whether
+    plugin management is present or not.
+  </description>
+
+  <build>
+    <!-- This project does not use plugin management for the test plugin -->
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-a</artifactId>
+        <version>1.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>b</goal>
+              <goal>a</goal>
+              <goal>d</goal>
+              <goal>c</goal>
+              <goal>e</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/wo-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/wo-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/wo-plugin-mngt/pom.xml
deleted file mode 100644
index 438d9d1..0000000
--- a/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/wo-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng3886</groupId>
-  <artifactId>test</artifactId>
-  <version>0.1</version>
-  <packaging>pom</packaging>
-
-  <name>Maven Integration Test :: MNG-3886</name>
-  <description>
-    Test that the goals from a plugin execution are executed in the order given by the POM, regardless whether
-    plugin management is present or not.
-  </description>
-
-  <build>
-    <!-- This project does not use plugin management for the test plugin -->
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-a</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <executions>
-          <execution>
-            <goals>
-              <goal>b</goal>
-              <goal>a</goal>
-              <goal>d</goal>
-              <goal>c</goal>
-              <goal>e</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..6bcfee5
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mgmt/pom.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3938</groupId>
+  <artifactId>parent</artifactId>
+  <version>0.1</version>
+  <packaging>pom</packaging>
+
+  <name>Maven Integration Test :: MNG-3938</name>
+  <description>
+    Test that plugin executions with the same id are merged during inheritance, especially executions using the
+    default id, regardless whether the id is given explicitly by the user or implicitly assumed from defaults.
+  </description>
+
+  <build>
+    <!-- This project uses plugin management for the test plugin -->
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.its.plugins</groupId>
+          <artifactId>maven-it-plugin-a</artifactId>
+          <version>2.1-SNAPSHOT</version>
+          <executions>
+            <execution>
+              <!-- NOTE: Implicitly reference "default" id here, i.e. omit the <id> element -->
+              <phase>parent-default</phase>
+            </execution>
+            <execution>
+              <id>non-default</id>
+              <phase>parent-non-default</phase>
+            </execution>
+          </executions>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mgmt/sub/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mgmt/sub/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mgmt/sub/pom.xml
new file mode 100644
index 0000000..3129ad0
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mgmt/sub/pom.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.its.mng3938</groupId>
+    <artifactId>parent</artifactId>
+    <version>0.1</version>
+  </parent>
+
+  <artifactId>child</artifactId>
+
+  <name>Maven Integration Test :: MNG-3938</name>
+  <description>
+    Test that plugin executions with the same id are merged during inheritance, especially executions using the
+    default id, regardless whether the id is given explicitly by the user or implicitly assumed from defaults.
+  </description>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-a</artifactId>
+        <version>2.1-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <!-- NOTE: Explicitly reference "default" id here -->
+            <id>default</id>
+            <phase>child-default</phase>
+          </execution>
+          <execution>
+            <id>non-default</id>
+            <phase>child-non-default</phase>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mngt/pom.xml
deleted file mode 100644
index 6bcfee5..0000000
--- a/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng3938</groupId>
-  <artifactId>parent</artifactId>
-  <version>0.1</version>
-  <packaging>pom</packaging>
-
-  <name>Maven Integration Test :: MNG-3938</name>
-  <description>
-    Test that plugin executions with the same id are merged during inheritance, especially executions using the
-    default id, regardless whether the id is given explicitly by the user or implicitly assumed from defaults.
-  </description>
-
-  <build>
-    <!-- This project uses plugin management for the test plugin -->
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.its.plugins</groupId>
-          <artifactId>maven-it-plugin-a</artifactId>
-          <version>2.1-SNAPSHOT</version>
-          <executions>
-            <execution>
-              <!-- NOTE: Implicitly reference "default" id here, i.e. omit the <id> element -->
-              <phase>parent-default</phase>
-            </execution>
-            <execution>
-              <id>non-default</id>
-              <phase>parent-non-default</phase>
-            </execution>
-          </executions>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mngt/sub/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mngt/sub/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mngt/sub/pom.xml
deleted file mode 100644
index 3129ad0..0000000
--- a/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mngt/sub/pom.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.maven.its.mng3938</groupId>
-    <artifactId>parent</artifactId>
-    <version>0.1</version>
-  </parent>
-
-  <artifactId>child</artifactId>
-
-  <name>Maven Integration Test :: MNG-3938</name>
-  <description>
-    Test that plugin executions with the same id are merged during inheritance, especially executions using the
-    default id, regardless whether the id is given explicitly by the user or implicitly assumed from defaults.
-  </description>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-a</artifactId>
-        <version>2.1-SNAPSHOT</version>
-        <executions>
-          <execution>
-            <!-- NOTE: Explicitly reference "default" id here -->
-            <id>default</id>
-            <phase>child-default</phase>
-          </execution>
-          <execution>
-            <id>non-default</id>
-            <phase>child-non-default</phase>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..63db85f
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mgmt/pom.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3938</groupId>
+  <artifactId>parent</artifactId>
+  <version>0.1</version>
+  <packaging>pom</packaging>
+
+  <name>Maven Integration Test :: MNG-3938</name>
+  <description>
+    Test that plugin executions with the same id are merged during inheritance, especially executions using the
+    default id, regardless whether the id is given explicitly by the user or implicitly assumed from defaults.
+  </description>
+
+  <build>
+    <!-- This project does not use plugin management for the test plugin -->
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-a</artifactId>
+        <version>2.1-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <!-- NOTE: Implicitly reference "default" id here, i.e. omit the <id> element -->
+            <phase>parent-default</phase>
+          </execution>
+          <execution>
+            <id>non-default</id>
+            <phase>parent-non-default</phase>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mgmt/sub/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mgmt/sub/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mgmt/sub/pom.xml
new file mode 100644
index 0000000..3129ad0
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mgmt/sub/pom.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.its.mng3938</groupId>
+    <artifactId>parent</artifactId>
+    <version>0.1</version>
+  </parent>
+
+  <artifactId>child</artifactId>
+
+  <name>Maven Integration Test :: MNG-3938</name>
+  <description>
+    Test that plugin executions with the same id are merged during inheritance, especially executions using the
+    default id, regardless whether the id is given explicitly by the user or implicitly assumed from defaults.
+  </description>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-a</artifactId>
+        <version>2.1-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <!-- NOTE: Explicitly reference "default" id here -->
+            <id>default</id>
+            <phase>child-default</phase>
+          </execution>
+          <execution>
+            <id>non-default</id>
+            <phase>child-non-default</phase>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mngt/pom.xml
deleted file mode 100644
index 63db85f..0000000
--- a/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng3938</groupId>
-  <artifactId>parent</artifactId>
-  <version>0.1</version>
-  <packaging>pom</packaging>
-
-  <name>Maven Integration Test :: MNG-3938</name>
-  <description>
-    Test that plugin executions with the same id are merged during inheritance, especially executions using the
-    default id, regardless whether the id is given explicitly by the user or implicitly assumed from defaults.
-  </description>
-
-  <build>
-    <!-- This project does not use plugin management for the test plugin -->
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-a</artifactId>
-        <version>2.1-SNAPSHOT</version>
-        <executions>
-          <execution>
-            <!-- NOTE: Implicitly reference "default" id here, i.e. omit the <id> element -->
-            <phase>parent-default</phase>
-          </execution>
-          <execution>
-            <id>non-default</id>
-            <phase>parent-non-default</phase>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mngt/sub/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mngt/sub/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mngt/sub/pom.xml
deleted file mode 100644
index 3129ad0..0000000
--- a/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mngt/sub/pom.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.maven.its.mng3938</groupId>
-    <artifactId>parent</artifactId>
-    <version>0.1</version>
-  </parent>
-
-  <artifactId>child</artifactId>
-
-  <name>Maven Integration Test :: MNG-3938</name>
-  <description>
-    Test that plugin executions with the same id are merged during inheritance, especially executions using the
-    default id, regardless whether the id is given explicitly by the user or implicitly assumed from defaults.
-  </description>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-a</artifactId>
-        <version>2.1-SNAPSHOT</version>
-        <executions>
-          <execution>
-            <!-- NOTE: Explicitly reference "default" id here -->
-            <id>default</id>
-            <phase>child-default</phase>
-          </execution>
-          <execution>
-            <id>non-default</id>
-            <phase>child-non-default</phase>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-order/w-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-order/w-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-order/w-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..2c552d4
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/plugin-exec-order/w-plugin-mgmt/pom.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3887</groupId>
+  <artifactId>test</artifactId>
+  <version>0.1</version>
+  <packaging>pom</packaging>
+
+  <name>Maven Integration Test :: MNG-3887</name>
+  <description>
+    Test that multiple plugin executions bound to the same phase are executed in the order given by the POM.
+  </description>
+
+  <build>
+    <!-- This project uses plugin management for the test plugin -->
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.its.plugins</groupId>
+          <artifactId>maven-it-plugin-a</artifactId>
+          <version>1.0-SNAPSHOT</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-a</artifactId>
+        <version>1.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <id>b</id>
+            <phase>validate</phase>
+          </execution>
+          <execution>
+            <id>a</id>
+            <phase>validate</phase>
+          </execution>
+          <execution>
+            <id>d</id>
+            <phase>validate</phase>
+          </execution>
+          <execution>
+            <id>c</id>
+            <phase>validate</phase>
+          </execution>
+          <execution>
+            <id>e</id>
+            <phase>validate</phase>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-order/w-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-order/w-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-order/w-plugin-mngt/pom.xml
deleted file mode 100644
index 2c552d4..0000000
--- a/maven-core/src/test/resources-project-builder/plugin-exec-order/w-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng3887</groupId>
-  <artifactId>test</artifactId>
-  <version>0.1</version>
-  <packaging>pom</packaging>
-
-  <name>Maven Integration Test :: MNG-3887</name>
-  <description>
-    Test that multiple plugin executions bound to the same phase are executed in the order given by the POM.
-  </description>
-
-  <build>
-    <!-- This project uses plugin management for the test plugin -->
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.its.plugins</groupId>
-          <artifactId>maven-it-plugin-a</artifactId>
-          <version>1.0-SNAPSHOT</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-a</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <executions>
-          <execution>
-            <id>b</id>
-            <phase>validate</phase>
-          </execution>
-          <execution>
-            <id>a</id>
-            <phase>validate</phase>
-          </execution>
-          <execution>
-            <id>d</id>
-            <phase>validate</phase>
-          </execution>
-          <execution>
-            <id>c</id>
-            <phase>validate</phase>
-          </execution>
-          <execution>
-            <id>e</id>
-            <phase>validate</phase>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-order/wo-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-order/wo-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-order/wo-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..c4ceaae
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/plugin-exec-order/wo-plugin-mgmt/pom.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3887</groupId>
+  <artifactId>test</artifactId>
+  <version>0.1</version>
+  <packaging>pom</packaging>
+
+  <name>Maven Integration Test :: MNG-3887</name>
+  <description>
+    Test that multiple plugin executions bound to the same phase are executed in the order given by the POM.
+  </description>
+
+  <build>
+    <!-- This project does not use plugin management for the test plugin -->
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-a</artifactId>
+        <version>1.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <id>b</id>
+            <phase>validate</phase>
+          </execution>
+          <execution>
+            <id>a</id>
+            <phase>validate</phase>
+          </execution>
+          <execution>
+            <id>d</id>
+            <phase>validate</phase>
+          </execution>
+          <execution>
+            <id>c</id>
+            <phase>validate</phase>
+          </execution>
+          <execution>
+            <id>e</id>
+            <phase>validate</phase>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-order/wo-plugin-mngt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-order/wo-plugin-mngt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-order/wo-plugin-mngt/pom.xml
deleted file mode 100644
index c4ceaae..0000000
--- a/maven-core/src/test/resources-project-builder/plugin-exec-order/wo-plugin-mngt/pom.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.mng3887</groupId>
-  <artifactId>test</artifactId>
-  <version>0.1</version>
-  <packaging>pom</packaging>
-
-  <name>Maven Integration Test :: MNG-3887</name>
-  <description>
-    Test that multiple plugin executions bound to the same phase are executed in the order given by the POM.
-  </description>
-
-  <build>
-    <!-- This project does not use plugin management for the test plugin -->
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.its.plugins</groupId>
-        <artifactId>maven-it-plugin-a</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <executions>
-          <execution>
-            <id>b</id>
-            <phase>validate</phase>
-          </execution>
-          <execution>
-            <id>a</id>
-            <phase>validate</phase>
-          </execution>
-          <execution>
-            <id>d</id>
-            <phase>validate</phase>
-          </execution>
-          <execution>
-            <id>c</id>
-            <phase>validate</phase>
-          </execution>
-          <execution>
-            <id>e</id>
-            <phase>validate</phase>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/17402659/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/w-plugin-mgmt/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/w-plugin-mgmt/pom.xml b/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/w-plugin-mgmt/pom.xml
new file mode 100644
index 0000000..fbae181
--- /dev/null
+++ b/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/w-plugin-mgmt/pom.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng4000</groupId>
+  <artifactId>test2</artifactId>
+  <version>0.1</version>
+
+  <name>Maven Integration Test :: MNG-4000</name>
+  <description>
+    Test that plugin executions without id are not lost among other plugin executions.
+  </description>
+
+  <build>
+    <!-- NOTE: This test uses plugin management for the IT plugin. -->
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.its.plugins</groupId>
+          <artifactId>maven-it-plugin-log-file</artifactId>
+          <version>2.1-SNAPSHOT</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-log-file</artifactId>
+        <configuration>
+          <logFile>target/exec.log</logFile>
+          <string>exec</string>
+        </configuration>
+        <executions>
+          <execution>
+            <id>exec-1</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>log-string</goal>
+            </goals>
+          </execution>
+          <execution>
+            <!-- NOTE: <id> deliberately omitted here! -->
+            <phase>validate</phase>
+            <goals>
+              <goal>log-string</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>


[24/46] maven git commit: [MNG-5889] .mvn directory should be picked when using --file

Posted by sc...@apache.org.
[MNG-5889] .mvn directory should be picked when using --file

Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/f8ab2a65
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/f8ab2a65
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/f8ab2a65

Branch: refs/heads/MNG-5984
Commit: f8ab2a650f32d5d87126d341d9bbfccbf99fd0ca
Parents: 19d5b9d
Author: robert.patrick <ro...@oracle.com>
Authored: Thu Sep 15 09:53:06 2016 -0500
Committer: Herv� Boutemy <hb...@apache.org>
Committed: Tue Feb 14 07:51:20 2017 +0100

----------------------------------------------------------------------
 apache-maven/src/bin/mvn     | 31 +++++++++++++++++++--
 apache-maven/src/bin/mvn.cmd | 58 ++++++++++++++++++++++++++++++++++++---
 2 files changed, 83 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/f8ab2a65/apache-maven/src/bin/mvn
----------------------------------------------------------------------
diff --git a/apache-maven/src/bin/mvn b/apache-maven/src/bin/mvn
index 4db1ad6..95a407d 100755
--- a/apache-maven/src/bin/mvn
+++ b/apache-maven/src/bin/mvn
@@ -121,7 +121,7 @@ fi
 # first directory with .mvn subdirectory is considered project base directory
 find_maven_basedir() {
 (
-  basedir="`pwd`"
+  basedir=`find_file_argument_basedir "$@"`
   wdir="`pwd`"
   while [ "$wdir" != '/' ] ; do
     if [ -d "$wdir"/.mvn ] ; then
@@ -134,6 +134,33 @@ find_maven_basedir() {
 )
 }
 
+find_file_argument_basedir() {
+(
+  basedir="`pwd`"
+
+  found_file_switch=0
+  for arg in "$@"; do
+    if [ ${found_file_switch} -eq 1 ]; then
+      if [ -f ${arg} ]; then
+        basedir=$(dirname $(readlink -f "${arg}"))
+        if [ ! -d ${basedir} ]; then
+          echo "Directory ${basedir} extracted from the -f/--file command-line argument ${arg} does not exist" >&2
+          exit 1
+        fi
+      else
+        echo "POM file ${arg} specified with the -f/--file command line argument does not exist" >&2
+        exit 1
+      fi
+      break
+    fi
+    if [ "$arg" = "-f" -o "$arg" = "--file" ]; then
+      found_file_switch=1
+    fi
+  done
+  echo "${basedir}"
+)
+}
+
 # concatenates all lines of a file
 concat_lines() {
   if [ -f "$1" ]; then
@@ -141,7 +168,7 @@ concat_lines() {
   fi
 }
 
-MAVEN_PROJECTBASEDIR="${MAVEN_BASEDIR:-`find_maven_basedir`}"
+MAVEN_PROJECTBASEDIR="${MAVEN_BASEDIR:-`find_maven_basedir "$@"`}"
 MAVEN_OPTS="`concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config"` $MAVEN_OPTS"
 
 # For Cygwin, switch project base directory path to Windows format before

http://git-wip-us.apache.org/repos/asf/maven/blob/f8ab2a65/apache-maven/src/bin/mvn.cmd
----------------------------------------------------------------------
diff --git a/apache-maven/src/bin/mvn.cmd b/apache-maven/src/bin/mvn.cmd
index ecee20c..e527188 100644
--- a/apache-maven/src/bin/mvn.cmd
+++ b/apache-maven/src/bin/mvn.cmd
@@ -83,26 +83,76 @@ set MAVEN_CMD_LINE_ARGS=%*
 @REM Find the project basedir, i.e., the directory that contains the folder ".mvn".
 @REM Fallback to current working directory if not found.
 
-set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
+set "MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%"
 if not "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
 
 set "EXEC_DIR=%CD%"
 set "WDIR=%EXEC_DIR%"
 
+@REM Look for the --file switch and start the search for the .mvn directory from the specified
+@REM POM location, if supplied.
+
+set FILE_ARG=
+:arg_loop
+if "%~1" == "-f" (
+  set "FILE_ARG=%~2"
+  shift
+  goto process_file_arg
+)
+if "%~1" == "--file" (
+  set "FILE_ARG=%~2"
+  shift
+  goto process_file_arg
+)
+@REM If none of the above, skip the argument
+shift
+if not "%~1" == "" (
+  goto arg_loop
+) else (
+  goto findBaseDir
+)
+
+:process_file_arg
+if "%FILE_ARG%" == "" (
+  goto findBaseDir
+)
+if not exist "%FILE_ARG%" (
+  echo POM file %FILE_ARG% specified the -f/--file command-line argument does not exist >&2
+  goto error
+)
+call :get_directory_from_file %FILE_ARG%
+if not exist "%POM_DIR%" (
+  echo Directory %POM_DIR% extracted from the -f/--file command-line argument %FILE_ARG% does not exist >&2
+  goto error
+)
+set "WDIR=%POM_DIR%"
+goto findBaseDir
+
+:get_directory_from_file
+set "POM_DIR=%~dp1"
+:stripPomDir
+if not "_%POM_DIR:~-1%"=="_\" goto pomDirStripped
+set "POM_DIR=%POM_DIR:~0,-1%"
+goto stripPomDir
+:pomDirStripped
+exit /b
+
 :findBaseDir
+cd /d "%WDIR%"
+:findBaseDirLoop
 if exist "%WDIR%\.mvn" goto baseDirFound
 cd ..
 IF "%WDIR%"=="%CD%" goto baseDirNotFound
 set "WDIR=%CD%"
-goto findBaseDir
+goto findBaseDirLoop
 
 :baseDirFound
 set "MAVEN_PROJECTBASEDIR=%WDIR%"
-cd "%EXEC_DIR%"
+cd /d "%EXEC_DIR%"
 goto endDetectBaseDir
 
 :baseDirNotFound
-if "_%EXEC_DIR:~-1%"=="_\" set EXEC_DIR=%EXEC_DIR:~0,-1%
+if "_%EXEC_DIR:~-1%"=="_\" set "EXEC_DIR=%EXEC_DIR:~0,-1%"
 set "MAVEN_PROJECTBASEDIR=%EXEC_DIR%"
 cd "%EXEC_DIR%"
 


[28/46] maven git commit: [MNG-6171] always show WARNING about usage of a non threadsafe plugin

Posted by sc...@apache.org.
[MNG-6171] always show WARNING about usage of a non threadsafe plugin

Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/3982c195
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/3982c195
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/3982c195

Branch: refs/heads/MNG-5984
Commit: 3982c195e91e3ea0f73ce9e61c6ddc57137726e9
Parents: f1cc1d4
Author: Herv� Boutemy <hb...@apache.org>
Authored: Sat Feb 18 17:36:38 2017 +0100
Committer: Herv� Boutemy <hb...@apache.org>
Committed: Sat Feb 18 17:36:38 2017 +0100

----------------------------------------------------------------------
 .../org/apache/maven/lifecycle/internal/builder/BuilderCommon.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/3982c195/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java
index f770670..f5c8e3e 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java
@@ -101,7 +101,7 @@ public class BuilderCommon
         if ( session.getRequest().getDegreeOfConcurrency() > 1 )
         {
             final Set<Plugin> unsafePlugins = executionPlan.getNonThreadSafePlugins();
-            if ( !unsafePlugins.isEmpty()  && logger.isDebugEnabled() )
+            if ( !unsafePlugins.isEmpty() )
             {
                 logger.warn( "*****************************************************************" );
                 logger.warn( "* Your build is requesting parallel execution, but project      *" );


[43/46] maven git commit: Merge branch 'MNG-6181'

Posted by sc...@apache.org.
Merge branch 'MNG-6181'


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/862c84a5
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/862c84a5
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/862c84a5

Branch: refs/heads/MNG-5984
Commit: 862c84a52b9ae9b88bc9a6cfa256852532d02a9a
Parents: 748551d e0da20a
Author: rfscholte <rf...@apache.org>
Authored: Sun Mar 5 17:32:00 2017 +0100
Committer: rfscholte <rf...@apache.org>
Committed: Sun Mar 5 17:32:00 2017 +0100

----------------------------------------------------------------------
 apache-maven/src/conf/logging/simplelogger.properties | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------



[19/46] maven git commit: [MNG-2199] Support version ranges in parent elements

Posted by sc...@apache.org.
[MNG-2199] Support version ranges in parent elements

o Updated to fix parent version range resolution broken since 3.2.3 and to
  remove parent version range resolution logic obsolete since Maven
  3.2.3 which changed the initialization of MavenProject instances.
o Updated local parent resolution to behave the same way remote parent
  resolution behaves. When referencing a parent using version ranges,
  inheriting the version or using version expressions should not be supported.
  It has been implemented that way for remote parent resolution as it got
  introduced in Maven 3.2.2. For local parent resolution the version in parent
  declarations had been ignored completely as of Maven 3.3.0 due to commit
  be3fb200326208ca4b8c41ebf16d5ae6b8049792 removing all local parent version
  validation. Work on fixing this is tracked by MNG-5840 released with Maven
  3.3.9. This commit adds the final missing bits to make local and remote parent
  resolution behave the same way as much as possible. As an exception, remote
  parent resolution still is a bit more strict than local parent resolution due
  to a different API in use. When resolving a parent from a repository using
  version ranges, the ModelBuilder verifies the range in use to declare an upper
  bound. When resolving a parent locally using version ranges, those ranges are
  not required to declare an upper bound because the API in use does not support
  querying that. Authoring a POM relying on this difference should be considered
  a bug.
o Added test cases to maven-core testing parent version range resolution for
  local and remote parent models.


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/0514c1b1
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/0514c1b1
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/0514c1b1

Branch: refs/heads/MNG-5984
Commit: 0514c1b14eadae37c9de77af3ed67ed7388bdf1d
Parents: f4e07ac
Author: Christian Schulte <sc...@apache.org>
Authored: Sat Dec 12 20:28:56 2015 +0100
Committer: Christian Schulte <sc...@apache.org>
Committed: Fri Feb 10 22:46:52 2017 +0100

----------------------------------------------------------------------
 .../maven/project/DefaultProjectBuilder.java    | 115 +++++++++-------
 .../project/DefaultProjectBuildingRequest.java  |  15 ++-
 .../maven/project/ProjectBuildingRequest.java   |  14 +-
 .../maven/project/ProjectModelResolver.java     |   1 +
 .../project/AbstractMavenProjectTestCase.java   |  11 ++
 .../project/DefaultMavenProjectBuilderTest.java | 130 +++++++++++++++++++
 .../repository/TestRepositoryConnector.java     |  38 ++++++
 .../org/apache/apache/1/apache-1.pom            |  82 ++++++++++++
 .../org/apache/apache/maven-metadata.xml        |  13 ++
 .../pom.xml                                     |  12 ++
 .../pom.xml                                     |  11 ++
 .../parent-version-range-external-valid/pom.xml |  11 ++
 .../child/pom.xml                               |  12 ++
 .../pom.xml                                     |   7 +
 .../child/pom.xml                               |  11 ++
 .../pom.xml                                     |   7 +
 .../child/pom.xml                               |  11 ++
 .../parent-version-range-local-valid/pom.xml    |   7 +
 .../model/building/DefaultModelBuilder.java     |  30 ++++-
 .../internal/DefaultModelResolver.java          |   1 +
 20 files changed, 484 insertions(+), 55 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
index d064ab4..ac38f5d 100644
--- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
+++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
@@ -43,7 +43,6 @@ import org.apache.maven.model.DependencyManagement;
 import org.apache.maven.model.DeploymentRepository;
 import org.apache.maven.model.Extension;
 import org.apache.maven.model.Model;
-import org.apache.maven.model.Parent;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.Profile;
 import org.apache.maven.model.ReportPlugin;
@@ -73,9 +72,6 @@ import org.eclipse.aether.repository.RemoteRepository;
 import org.eclipse.aether.repository.WorkspaceRepository;
 import org.eclipse.aether.resolution.ArtifactRequest;
 import org.eclipse.aether.resolution.ArtifactResult;
-import org.eclipse.aether.resolution.VersionRangeRequest;
-import org.eclipse.aether.resolution.VersionRangeResolutionException;
-import org.eclipse.aether.resolution.VersionRangeResult;
 
 /**
  */
@@ -298,44 +294,6 @@ public class DefaultProjectBuilder
 
         boolean localProject;
 
-        if ( request.isResolveVersionRanges() )
-        {
-            VersionRangeRequest versionRangeRequest = new VersionRangeRequest( pomArtifact, config.repositories, null );
-
-            try
-            {
-                VersionRangeResult versionRangeResult =
-                    repoSystem.resolveVersionRange( config.session, versionRangeRequest );
-
-                if ( versionRangeResult.getHighestVersion() == null )
-                {
-                    throw new ProjectBuildingException(
-                        artifact.getId(), "Error resolving project artifact: No versions matched the requested range",
-                        (Throwable) null );
-
-                }
-
-                if ( versionRangeResult.getVersionConstraint() != null
-                         && versionRangeResult.getVersionConstraint().getRange() != null
-                         && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null )
-                {
-                    throw new ProjectBuildingException(
-                        artifact.getId(),
-                        "Error resolving project artifact: The requested version range does not specify an upper bound",
-                        (Throwable) null );
-
-                }
-
-                pomArtifact = pomArtifact.setVersion( versionRangeResult.getHighestVersion().toString() );
-            }
-            catch ( VersionRangeResolutionException e )
-            {
-                throw new ProjectBuildingException(
-                    artifact.getId(), "Error resolving project artifact: " + e.getMessage(), e );
-
-            }
-        }
-
         try
         {
             ArtifactRequest pomRequest = new ArtifactRequest();
@@ -656,11 +614,20 @@ public class DefaultProjectBuilder
         project.setModel( model );
         project.setOriginalModel( result.getRawModel() );
         project.setFile( model.getPomFile() );
-        Parent p = model.getParent();
-        if ( p != null )
+
+        Model parentModel = result.getModelIds().size() > 1 && !result.getModelIds().get( 1 ).isEmpty()
+                                ? result.getRawModel( result.getModelIds().get( 1 ) )
+                                : null;
+
+        if ( parentModel != null )
         {
-            project.setParentArtifact( repositorySystem.createProjectArtifact( p.getGroupId(), p.getArtifactId(),
-                                                                               p.getVersion() ) );
+            final String parentGroupId = inheritedGroupId( result, 1 );
+            final String parentVersion = inheritedVersion( result, 1 );
+
+            project.setParentArtifact( repositorySystem.createProjectArtifact( parentGroupId,
+                                                                               parentModel.getArtifactId(),
+                                                                               parentVersion ) );
+
             // org.apache.maven.its.mng4834:parent:0.1
             String parentModelId = result.getModelIds().get( 1 );
             File parentPomFile = result.getRawModel( parentModelId ).getPomFile();
@@ -683,7 +650,16 @@ public class DefaultProjectBuilder
                     catch ( ProjectBuildingException e )
                     {
                         // MNG-4488 where let invalid parents slide on by
-                        logger.warn( "Failed to build parent project for " + project.getId() );
+                        if ( logger.isDebugEnabled() )
+                        {
+                            // Message below is checked for in the MNG-2199 core IT.
+                            logger.warn( "Failed to build parent project for " + project.getId(), e );
+                        }
+                        else
+                        {
+                            // Message below is checked for in the MNG-2199 core IT.
+                            logger.warn( "Failed to build parent project for " + project.getId() );
+                        }
                     }
                 }
                 else
@@ -696,7 +672,16 @@ public class DefaultProjectBuilder
                     catch ( ProjectBuildingException e )
                     {
                         // MNG-4488 where let invalid parents slide on by
-                        logger.warn( "Failed to build parent project for " + project.getId() );
+                        if ( logger.isDebugEnabled() )
+                        {
+                            // Message below is checked for in the MNG-2199 core IT.
+                            logger.warn( "Failed to build parent project for " + project.getId(), e );
+                        }
+                        else
+                        {
+                            // Message below is checked for in the MNG-2199 core IT.
+                            logger.warn( "Failed to build parent project for " + project.getId() );
+                        }
                     }
                 }
             }
@@ -878,6 +863,40 @@ public class DefaultProjectBuilder
         }
     }
 
+    private static String inheritedGroupId( final ModelBuildingResult result, final int modelIndex )
+    {
+        String groupId = null;
+        final String modelId = result.getModelIds().get( modelIndex );
+
+        if ( !modelId.isEmpty() )
+        {
+            final Model model = result.getRawModel( modelId );
+            groupId = model.getGroupId() != null
+                          ? model.getGroupId()
+                          : inheritedGroupId( result, modelIndex + 1 );
+
+        }
+
+        return groupId;
+    }
+
+    private static String inheritedVersion( final ModelBuildingResult result, final int modelIndex )
+    {
+        String version = null;
+        final String modelId = result.getModelIds().get( modelIndex );
+
+        if ( !modelId.isEmpty() )
+        {
+            final Model model = result.getRawModel( modelId );
+            version = model.getVersion() != null
+                          ? model.getVersion()
+                          : inheritedVersion( result, modelIndex + 1 );
+
+        }
+
+        return version;
+    }
+
     private String findProfilesXml( ModelBuildingResult result, Map<File, Boolean> profilesXmls )
     {
         for ( String modelId : result.getModelIds() )

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java
index f1b271b..dafbefd 100644
--- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java
+++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java
@@ -63,6 +63,7 @@ public class DefaultProjectBuildingRequest
 
     private boolean resolveDependencies;
 
+    @Deprecated
     private boolean resolveVersionRanges;
 
     private RepositoryMerging repositoryMerging = RepositoryMerging.POM_DOMINANT;
@@ -218,14 +219,24 @@ public class DefaultProjectBuildingRequest
         return resolveDependencies;
     }
 
-    /** @since 3.2.2 */
+    /**
+     * @since 3.2.2
+     * @deprecated This got added when implementing MNG-2199 and is no longer used.
+     * Commit 6cf9320942c34bc68205425ab696b1712ace9ba4 updated the way 'MavenProject' objects are initialized.
+     */
+    @Deprecated
     public ProjectBuildingRequest setResolveVersionRanges( boolean value )
     {
         this.resolveVersionRanges = value;
         return this;
     }
 
-    /** @since 3.2.2 */
+    /**
+     * @since 3.2.2
+     * @deprecated This got added when implementing MNG-2199 and is no longer used.
+     * Commit 6cf9320942c34bc68205425ab696b1712ace9ba4 updated the way 'MavenProject' objects are initialized.
+     */
+    @Deprecated
     public boolean isResolveVersionRanges()
     {
         return this.resolveVersionRanges;

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java b/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
index d8ab195..d0e4afe 100644
--- a/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
+++ b/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
@@ -168,10 +168,20 @@ public interface ProjectBuildingRequest
      */
     RepositoryMerging getRepositoryMerging();
 
-    /** @since 3.2.2 */
+    /**
+     * @since 3.2.2
+     * @deprecated This got added when implementing MNG-2199 and is no longer used.
+     * Commit 6cf9320942c34bc68205425ab696b1712ace9ba4 updated the way 'MavenProject' objects are initialized.
+     */
+    @Deprecated
     boolean isResolveVersionRanges();
 
-    /** @since 3.2.2 */
+    /**
+     * @since 3.2.2
+     * @deprecated This got added when implementing MNG-2199 and is no longer used.
+     * Commit 6cf9320942c34bc68205425ab696b1712ace9ba4 updated the way 'MavenProject' objects are initialized.
+     */
+    @Deprecated
     ProjectBuildingRequest setResolveVersionRanges( boolean value );
 
     /**

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java
index 184be70..7b93217 100644
--- a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java
+++ b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java
@@ -228,6 +228,7 @@ public class ProjectModelResolver
                      && versionRangeResult.getVersionConstraint().getRange() != null
                      && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null )
             {
+                // Message below is checked for in the MNG-2199 core IT.
                 throw new UnresolvableModelException( "The requested version range '" + parent.getVersion()
                                                           + "' does not specify an upper bound", parent.getGroupId(),
                                                       parent.getArtifactId(), parent.getVersion() );

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java b/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
index 73bdbca..71616fa 100644
--- a/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
+++ b/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
@@ -169,6 +169,17 @@ public abstract class AbstractMavenProjectTestCase
         return projectBuilder.build( pom, configuration ).getProject();
     }
 
+    protected MavenProject getProjectFromRemoteRepository( final File pom )
+        throws Exception
+    {
+        final ProjectBuildingRequest configuration = new DefaultProjectBuildingRequest();
+        configuration.setLocalRepository( this.getLocalRepository() );
+        configuration.setRemoteRepositories( Arrays.asList( this.repositorySystem.createDefaultRemoteRepository() ) );
+        initRepoSession( configuration );
+
+        return projectBuilder.build( pom, configuration ).getProject();
+    }
+
     protected ProjectBuildingRequest newBuildingRequest()
         throws Exception
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java b/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
index 84fb784..73629bc 100644
--- a/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
@@ -189,4 +189,134 @@ public class DefaultMavenProjectBuilderTest
         request.setResolveDependencies( true );
         projectBuilder.build( pomFile, request );
     }
+
+    /**
+     * Tests whether local version range parent references are build correctly.
+     *
+     * @throws Exception
+     */
+    public void testBuildValidParentVersionRangeLocally() throws Exception
+    {
+        File f1 = getTestFile( "src/test/resources/projects/parent-version-range-local-valid/child/pom.xml" );
+
+        final MavenProject childProject = getProject( f1 );
+
+        assertNotNull( childProject.getParentArtifact() );
+        assertEquals( childProject.getParentArtifact().getVersion(), "1" );
+        assertNotNull( childProject.getParent() );
+        assertEquals( childProject.getParent().getVersion(), "1" );
+        assertNotNull( childProject.getModel().getParent() );
+        assertEquals( childProject.getModel().getParent().getVersion(), "[1,10]" );
+    }
+
+    /**
+     * Tests whether local version range parent references are build correctly.
+     *
+     * @throws Exception
+     */
+    public void testBuildParentVersionRangeLocallyWithoutChildVersion() throws Exception
+    {
+        File f1 =
+            getTestFile( "src/test/resources/projects/parent-version-range-local-child-without-version/child/pom.xml" );
+
+        try
+        {
+            getProject( f1 );
+            fail( "Expected 'ProjectBuildingException' not thrown." );
+        }
+        catch ( final ProjectBuildingException e )
+        {
+            assertNotNull( e.getMessage() );
+            assertTrue( e.getMessage().contains( "Version must be a constant" ) );
+        }
+    }
+
+    /**
+     * Tests whether local version range parent references are build correctly.
+     *
+     * @throws Exception
+     */
+    public void testBuildParentVersionRangeLocallyWithChildVersionExpression() throws Exception
+    {
+        File f1 =
+            getTestFile(
+                "src/test/resources/projects/parent-version-range-local-child-version-expression/child/pom.xml" );
+
+        try
+        {
+            getProject( f1 );
+            fail( "Expected 'ProjectBuildingException' not thrown." );
+        }
+        catch ( final ProjectBuildingException e )
+        {
+            assertNotNull( e.getMessage() );
+            assertTrue( e.getMessage().contains( "Version must be a constant" ) );
+        }
+    }
+
+    /**
+     * Tests whether external version range parent references are build correctly.
+     *
+     * @throws Exception
+     */
+    public void testBuildParentVersionRangeExternally() throws Exception
+    {
+        File f1 = getTestFile( "src/test/resources/projects/parent-version-range-external-valid/pom.xml" );
+
+        final MavenProject childProject = this.getProjectFromRemoteRepository( f1 );
+
+        assertNotNull( childProject.getParentArtifact() );
+        assertEquals( childProject.getParentArtifact().getVersion(), "1" );
+        assertNotNull( childProject.getParent() );
+        assertEquals( childProject.getParent().getVersion(), "1" );
+        assertNotNull( childProject.getModel().getParent() );
+        assertEquals( childProject.getModel().getParent().getVersion(), "[1,1]" );
+    }
+
+    /**
+     * Tests whether external version range parent references are build correctly.
+     *
+     * @throws Exception
+     */
+    public void testBuildParentVersionRangeExternallyWithoutChildVersion() throws Exception
+    {
+        File f1 =
+            getTestFile(
+                "src/test/resources/projects/parent-version-range-external-child-without-version/pom.xml" );
+
+        try
+        {
+            this.getProjectFromRemoteRepository( f1 );
+            fail( "Expected 'ProjectBuildingException' not thrown." );
+        }
+        catch ( final ProjectBuildingException e )
+        {
+            assertNotNull( e.getMessage() );
+            assertTrue( e.getMessage().contains( "Version must be a constant" ) );
+        }
+    }
+
+    /**
+     * Tests whether external version range parent references are build correctly.
+     *
+     * @throws Exception
+     */
+    public void testBuildParentVersionRangeExternallyWithChildVersionExpression() throws Exception
+    {
+        File f1 =
+            getTestFile(
+                "src/test/resources/projects/parent-version-range-external-child-version-expression/pom.xml" );
+
+        try
+        {
+            this.getProjectFromRemoteRepository( f1 );
+            fail( "Expected 'ProjectBuildingException' not thrown." );
+        }
+        catch ( final ProjectBuildingException e )
+        {
+            assertNotNull( e.getMessage() );
+            assertTrue( e.getMessage().contains( "Version must be a constant" ) );
+        }
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-core/src/test/java/org/apache/maven/repository/TestRepositoryConnector.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/repository/TestRepositoryConnector.java b/maven-core/src/test/java/org/apache/maven/repository/TestRepositoryConnector.java
index 91ace4f..cb1243c 100644
--- a/maven-core/src/test/java/org/apache/maven/repository/TestRepositoryConnector.java
+++ b/maven-core/src/test/java/org/apache/maven/repository/TestRepositoryConnector.java
@@ -27,6 +27,7 @@ import java.util.Collection;
 
 import org.codehaus.plexus.util.FileUtils;
 import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.metadata.Metadata;
 import org.eclipse.aether.repository.RemoteRepository;
 import org.eclipse.aether.spi.connector.ArtifactDownload;
 import org.eclipse.aether.spi.connector.ArtifactUpload;
@@ -35,6 +36,8 @@ import org.eclipse.aether.spi.connector.MetadataUpload;
 import org.eclipse.aether.spi.connector.RepositoryConnector;
 import org.eclipse.aether.transfer.ArtifactNotFoundException;
 import org.eclipse.aether.transfer.ArtifactTransferException;
+import org.eclipse.aether.transfer.MetadataNotFoundException;
+import org.eclipse.aether.transfer.MetadataTransferException;
 
 /**
  * @author Benjamin Bentmann
@@ -89,6 +92,28 @@ public class TestRepositoryConnector
                 }
             }
         }
+        if ( metadataDownloads != null )
+        {
+            for ( final MetadataDownload download : metadataDownloads )
+            {
+                File remoteFile = new File( basedir, path( download.getMetadata() ) );
+                try
+                {
+                    FileUtils.copyFile( remoteFile, download.getFile() );
+                }
+                catch ( IOException e )
+                {
+                    if ( !remoteFile.exists() )
+                    {
+                        download.setException( new MetadataNotFoundException( download.getMetadata(), repository ) );
+                    }
+                    else
+                    {
+                        download.setException( new MetadataTransferException( download.getMetadata(), repository, e ) );
+                    }
+                }
+            }
+        }
     }
 
     private String path( Artifact artifact )
@@ -113,6 +138,19 @@ public class TestRepositoryConnector
         return path.toString();
     }
 
+    private String path( Metadata metadata )
+    {
+        StringBuilder path = new StringBuilder( 128 );
+
+        path.append( metadata.getGroupId().replace( '.', '/' ) ).append( '/' );
+
+        path.append( metadata.getArtifactId() ).append( '/' );
+
+        path.append( "maven-metadata.xml" );
+
+        return path.toString();
+    }
+
     public void put( Collection<? extends ArtifactUpload> artifactUploads,
                      Collection<? extends MetadataUpload> metadataUploads )
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-core/src/test/remote-repo/org/apache/apache/1/apache-1.pom
----------------------------------------------------------------------
diff --git a/maven-core/src/test/remote-repo/org/apache/apache/1/apache-1.pom b/maven-core/src/test/remote-repo/org/apache/apache/1/apache-1.pom
new file mode 100644
index 0000000..ad6b854
--- /dev/null
+++ b/maven-core/src/test/remote-repo/org/apache/apache/1/apache-1.pom
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ Copyright 2005-2006 The Apache Software Foundation.
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <!-- Shared parent. Doesn't define a lot of things about Apache like general mailing lists, but does
+       define the settings common to all projects at Apache -->
+  <groupId>org.apache</groupId>
+  <artifactId>apache</artifactId>
+  <version>1</version>
+  <packaging>pom</packaging>
+  <name>The Apache Software Foundation</name>
+  <description>
+    The Apache Software Foundation provides support for the Apache community of open-source software projects.
+    The Apache projects are characterized by a collaborative, consensus based development process, an open and
+    pragmatic software license, and a desire to create high quality software that leads the way in its field.
+    We consider ourselves not simply a group of projects sharing a server, but rather a community of developers
+    and users.
+  </description>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+  <url>http://www.apache.org/</url>
+  <repositories>
+    <repository>
+      <id>apache.snapshots</id>
+      <name>Apache Snapshot Repository</name>
+      <url>http://svn.apache.org/maven-snapshot-repository</url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+    </repository>
+  </repositories>
+  <distributionManagement>
+    <!-- Site omitted - each project must provide their own -->
+    <repository>
+      <id>apache.releases</id>
+      <name>Apache Release Distribution Repository</name>
+      <url>scp://minotaur.apache.org/www/www.apache.org/dist/maven-repository</url>
+    </repository>
+    <snapshotRepository>
+      <id>apache.snapshots</id>
+      <name>Apache Development Snapshot Repository</name>
+      <url>scp://minotaur.apache.org/www/cvs.apache.org/maven-snapshot-repository</url>
+    </snapshotRepository>
+  </distributionManagement>
+  <mailingLists>
+    <mailingList>
+      <name>Apache Announce List</name>
+      <subscribe>announce-subscribe@apache.org</subscribe>
+      <unsubscribe>announce-unsubscribe@apache.org</unsubscribe>
+      <post>announce@apache.org</post>
+      <archive>http://mail-archives.apache.org/mod_mbox/www-announce/</archive>
+    </mailingList>
+  </mailingLists>
+</project>
+

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-core/src/test/remote-repo/org/apache/apache/maven-metadata.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/remote-repo/org/apache/apache/maven-metadata.xml b/maven-core/src/test/remote-repo/org/apache/apache/maven-metadata.xml
new file mode 100644
index 0000000..596f967
--- /dev/null
+++ b/maven-core/src/test/remote-repo/org/apache/apache/maven-metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+  <groupId>org.apache</groupId>
+  <artifactId>apache</artifactId>
+  <versioning>
+    <latest>1</latest>
+    <release>1</release>
+    <versions>
+      <version>1</version>
+    </versions>
+    <lastUpdated>20150428055824</lastUpdated>
+  </versioning>
+</metadata>

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-core/src/test/resources/projects/parent-version-range-external-child-version-expression/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources/projects/parent-version-range-external-child-version-expression/pom.xml b/maven-core/src/test/resources/projects/parent-version-range-external-child-version-expression/pom.xml
new file mode 100644
index 0000000..d07ad6e
--- /dev/null
+++ b/maven-core/src/test/resources/projects/parent-version-range-external-child-version-expression/pom.xml
@@ -0,0 +1,12 @@
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache</groupId>
+    <artifactId>apache</artifactId>
+    <version>[1,1]</version>
+  </parent>
+  <artifactId>child</artifactId>
+  <!-- Must not use expressions from parent due to version range. -->
+  <version>${some.property}</version>
+  <packaging>pom</packaging>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-core/src/test/resources/projects/parent-version-range-external-child-without-version/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources/projects/parent-version-range-external-child-without-version/pom.xml b/maven-core/src/test/resources/projects/parent-version-range-external-child-without-version/pom.xml
new file mode 100644
index 0000000..4f5a004
--- /dev/null
+++ b/maven-core/src/test/resources/projects/parent-version-range-external-child-without-version/pom.xml
@@ -0,0 +1,11 @@
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache</groupId>
+    <artifactId>apache</artifactId>
+    <version>[1,1]</version>
+  </parent>
+  <artifactId>child</artifactId>
+  <!-- version>2</version Must not inherit version from parent due to version range. -->
+  <packaging>pom</packaging>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-core/src/test/resources/projects/parent-version-range-external-valid/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources/projects/parent-version-range-external-valid/pom.xml b/maven-core/src/test/resources/projects/parent-version-range-external-valid/pom.xml
new file mode 100644
index 0000000..54eea90
--- /dev/null
+++ b/maven-core/src/test/resources/projects/parent-version-range-external-valid/pom.xml
@@ -0,0 +1,11 @@
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache</groupId>
+    <artifactId>apache</artifactId>
+    <version>[1,1]</version>
+  </parent>
+  <artifactId>child</artifactId>
+  <version>2</version>
+  <packaging>pom</packaging>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/child/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/child/pom.xml b/maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/child/pom.xml
new file mode 100644
index 0000000..066a11e
--- /dev/null
+++ b/maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/child/pom.xml
@@ -0,0 +1,12 @@
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>parent-version-range-local</groupId>
+    <artifactId>parent</artifactId>
+    <version>[1,10]</version>
+  </parent>
+  <artifactId>child</artifactId>
+  <!-- Must not use expressions from parent due to version range. -->
+  <version>${some.property}</version>
+  <packaging>pom</packaging>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/pom.xml b/maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/pom.xml
new file mode 100644
index 0000000..a82bbf2
--- /dev/null
+++ b/maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/pom.xml
@@ -0,0 +1,7 @@
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>parent-version-range-local</groupId>
+	<artifactId>parent</artifactId>
+	<version>1</version>
+	<packaging>pom</packaging>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-core/src/test/resources/projects/parent-version-range-local-child-without-version/child/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources/projects/parent-version-range-local-child-without-version/child/pom.xml b/maven-core/src/test/resources/projects/parent-version-range-local-child-without-version/child/pom.xml
new file mode 100644
index 0000000..645a8f1
--- /dev/null
+++ b/maven-core/src/test/resources/projects/parent-version-range-local-child-without-version/child/pom.xml
@@ -0,0 +1,11 @@
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>parent-version-range-local</groupId>
+    <artifactId>parent</artifactId>
+    <version>[1,10]</version>
+  </parent>
+  <artifactId>child</artifactId>
+  <!-- version>1</version Must not inherit version from parent due to version range. -->
+  <packaging>pom</packaging>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-core/src/test/resources/projects/parent-version-range-local-child-without-version/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources/projects/parent-version-range-local-child-without-version/pom.xml b/maven-core/src/test/resources/projects/parent-version-range-local-child-without-version/pom.xml
new file mode 100644
index 0000000..a82bbf2
--- /dev/null
+++ b/maven-core/src/test/resources/projects/parent-version-range-local-child-without-version/pom.xml
@@ -0,0 +1,7 @@
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>parent-version-range-local</groupId>
+	<artifactId>parent</artifactId>
+	<version>1</version>
+	<packaging>pom</packaging>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-core/src/test/resources/projects/parent-version-range-local-valid/child/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources/projects/parent-version-range-local-valid/child/pom.xml b/maven-core/src/test/resources/projects/parent-version-range-local-valid/child/pom.xml
new file mode 100644
index 0000000..886bcdf
--- /dev/null
+++ b/maven-core/src/test/resources/projects/parent-version-range-local-valid/child/pom.xml
@@ -0,0 +1,11 @@
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>parent-version-range-local</groupId>
+    <artifactId>parent</artifactId>
+    <version>[1,10]</version>
+  </parent>
+  <artifactId>child</artifactId>
+  <version>1</version>
+  <packaging>pom</packaging>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-core/src/test/resources/projects/parent-version-range-local-valid/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/test/resources/projects/parent-version-range-local-valid/pom.xml b/maven-core/src/test/resources/projects/parent-version-range-local-valid/pom.xml
new file mode 100644
index 0000000..a82bbf2
--- /dev/null
+++ b/maven-core/src/test/resources/projects/parent-version-range-local-valid/pom.xml
@@ -0,0 +1,7 @@
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>parent-version-range-local</groupId>
+	<artifactId>parent</artifactId>
+	<version>1</version>
+	<packaging>pom</packaging>
+</project>

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
index 6b38926..ac54737 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
@@ -333,7 +333,7 @@ public class DefaultModelBuilder
                 currentData = superData;
             }
             else if ( currentData == resultData )
-            { // First iteration - add initial parent id after version resolution.
+            { // First iteration - add initial id after version resolution.
                 currentData.setGroupId( currentData.getRawModel().getGroupId() == null ? parentData.getGroupId()
                                                                                       : currentData.getRawModel()
                                                                                           .getGroupId() );
@@ -938,6 +938,28 @@ public class DefaultModelBuilder
                     // version skew drop back to resolution from the repository
                     return null;
                 }
+
+                // Validate versions aren't inherited when using parent ranges the same way as when read externally.
+                if ( childModel.getVersion() == null )
+                {
+                    // Message below is checked for in the MNG-2199 core IT.
+                    problems.add( new ModelProblemCollectorRequest( Severity.FATAL, Version.V31 )
+                        .setMessage( "Version must be a constant" ).setLocation( childModel.getLocation( "" ) ) );
+
+                }
+                else
+                {
+                    if ( childModel.getVersion().contains( "${" ) )
+                    {
+                        // Message below is checked for in the MNG-2199 core IT.
+                        problems.add( new ModelProblemCollectorRequest( Severity.FATAL, Version.V31 )
+                            .setMessage( "Version must be a constant" )
+                            .setLocation( childModel.getLocation( "version" ) ) );
+
+                    }
+                }
+
+                // MNG-2199: What else to check here ?
             }
             catch ( InvalidVersionSpecificationException e )
             {
@@ -1001,6 +1023,7 @@ public class DefaultModelBuilder
         }
         catch ( UnresolvableModelException e )
         {
+            // Message below is checked for in the MNG-2199 core IT.
             StringBuilder buffer = new StringBuilder( 256 );
             buffer.append( "Non-resolvable parent POM" );
             if ( !containsCoordinates( e.getMessage(), groupId, artifactId, version ) )
@@ -1048,15 +1071,16 @@ public class DefaultModelBuilder
         {
             if ( childModel.getVersion() == null )
             {
+                // Message below is checked for in the MNG-2199 core IT.
                 problems.add( new ModelProblemCollectorRequest( Severity.FATAL, Version.V31 )
                     .setMessage( "Version must be a constant" ).setLocation( childModel.getLocation( "" ) ) );
 
             }
             else
             {
-                if ( childModel.getVersion()
-                               .contains( "${" ) )
+                if ( childModel.getVersion().contains( "${" ) )
                 {
+                    // Message below is checked for in the MNG-2199 core IT.
                     problems.add( new ModelProblemCollectorRequest( Severity.FATAL, Version.V31 )
                         .setMessage( "Version must be a constant" )
                         .setLocation( childModel.getLocation( "version" ) ) );

http://git-wip-us.apache.org/repos/asf/maven/blob/0514c1b1/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java
index f344959..9ea91ff 100644
--- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java
@@ -208,6 +208,7 @@ class DefaultModelResolver
                      && versionRangeResult.getVersionConstraint().getRange() != null
                      && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null )
             {
+                // Message below is checked for in the MNG-2199 core IT.
                 throw new UnresolvableModelException( "The requested version range '" + parent.getVersion()
                                                           + "' does not specify an upper bound", parent.getGroupId(),
                                                       parent.getArtifactId(), parent.getVersion() );


[34/46] maven git commit: [MNG-6078] Undo the order reversal hack

Posted by sc...@apache.org.
[MNG-6078] Undo the order reversal hack

- ca4303031357a7decaee8de770b71fb2c2fedd28 used a hack to reverse the order of arguments
- The side effect of the hack is that the first named system property value on the CLI would win
- The side-effect is causing a lot of integration test builds to fail and will likely have other unintended consequences
- Correct fix is to put system properties at the end.
- If this change passes the integration tests then it will need to be augmented to correctly round-trip the CLI options
  as there is the potential that somebody may legitimately be passing an arg parameter a value that starts with -D
  for example 'mvn -ep -Dsecretpassword' or 'mvn -l -D.log' but given that this requires a parse and unparse
  to handle the escaping, I want to get evidence that the integration tests pass first


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/5885e70e
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/5885e70e
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/5885e70e

Branch: refs/heads/MNG-5984
Commit: 5885e70e24a69914da892eb343906658d5463bfa
Parents: 5cce371
Author: Stephen Connolly <st...@gmail.com>
Authored: Tue Feb 21 00:11:27 2017 +0000
Committer: Stephen Connolly <st...@gmail.com>
Committed: Thu Feb 23 12:44:34 2017 +0000

----------------------------------------------------------------------
 .../java/org/apache/maven/cli/MavenCli.java     | 26 ++++++++++++--------
 .../java/org/apache/maven/cli/MavenCliTest.java | 22 +++++++++++++++++
 2 files changed, 38 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/5885e70e/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
index 4e10b05..f788a5f 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
@@ -19,15 +19,12 @@ package org.apache.maven.cli;
  * under the License.
  */
 
-import static org.apache.maven.shared.utils.logging.MessageUtils.buffer;
-
 import com.google.common.base.Charsets;
 import com.google.common.io.Files;
 import com.google.inject.AbstractModule;
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.ParseException;
 import org.apache.commons.cli.UnrecognizedOptionException;
-import org.apache.commons.lang3.ArrayUtils;
 import org.apache.maven.BuildAbort;
 import org.apache.maven.InternalErrorException;
 import org.apache.maven.Maven;
@@ -102,7 +99,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.PrintStream;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
@@ -115,6 +111,8 @@ import java.util.StringTokenizer;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import static org.apache.maven.shared.utils.logging.MessageUtils.buffer;
+
 // TODO push all common bits back to plexus cli and prepare for transition to Guice. We don't need 50 ways to make CLIs
 
 /**
@@ -417,7 +415,20 @@ public class MavenCli
 
         try
         {
-            args.addAll( 0, Arrays.asList( cliRequest.args ) );
+            int index = 0;
+            for ( String arg : cliRequest.args )
+            {
+                if ( arg.startsWith( "-D" ) )
+                {
+                    // a property definition so needs to come last so that the last property wins
+                    args.add( arg );
+                }
+                else
+                {
+                    // not a property definition so needs to come first to override maven.config
+                    args.add( index++, arg );
+                }
+            }
             cliRequest.commandLine = cliManager.parse( args.toArray( new String[args.size()] ) );
         }
         catch ( ParseException e )
@@ -1587,11 +1598,6 @@ public class MavenCli
             
             if ( defStrs != null )
             {
-                //The following is needed to get precedence
-                //of properties which are defined on command line
-                //over properties defined in the .mvn/maven.config. 
-                ArrayUtils.reverse( defStrs );
-                
                 for ( String defStr : defStrs )
                 {
                     setCliProperty( defStr, userProperties );

http://git-wip-us.apache.org/repos/asf/maven/blob/5885e70e/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java b/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
index d926624..66f247c 100644
--- a/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
+++ b/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
@@ -150,6 +150,28 @@ public class MavenCliTest
         
         String revision = System.getProperty( "revision" );
         assertEquals( "8.1.0", revision );
+    }
 
+    /**
+     * Read .mvn/maven.config with the following definitions:
+     * <pre>
+     *   -T 3
+     *   -Drevision=1.3.0
+     * </pre>
+     * and check if the {@code -Drevision-1.3.0} option can be overwritten via command line
+     * argument.
+     * @throws Exception
+     */
+    public void testMVNConfigurationCLIRepeatedPropertiesLastWins() throws Exception {
+        System.setProperty( MavenCli.MULTIMODULE_PROJECT_DIRECTORY, new File( "src/test/projects/mavenConfigProperties" ).getCanonicalPath() );
+        CliRequest request = new CliRequest( new String[]{ "-Drevision=8.1.0", "-Drevision=8.2.0"}, null );
+
+        cli.initialize( request );
+        // read .mvn/maven.config
+        cli.cli( request );
+        cli.properties( request );
+
+        String revision = System.getProperty( "revision" );
+        assertEquals( "8.2.0", revision );
     }
 }


[06/46] maven git commit: [MNG-6110] renamed 'maven-aether-provider' to 'maven-resolver-provider'

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java b/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
deleted file mode 100644
index b81450c..0000000
--- a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.net.MalformedURLException;
-
-import org.apache.maven.repository.internal.util.ConsoleRepositoryListener;
-import org.apache.maven.repository.internal.util.ConsoleTransferListener;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
-import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.repository.LocalRepository;
-import org.eclipse.aether.repository.RemoteRepository;
-
-public abstract class AbstractRepositoryTestCase
-    extends PlexusTestCase
-{
-    protected RepositorySystem system;
-
-    protected RepositorySystemSession session;
-
-    @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-        super.customizeContainerConfiguration( containerConfiguration );
-        containerConfiguration.setAutoWiring( true );
-        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-    }
-
-    @Override
-    protected void setUp()
-        throws Exception
-    {
-        super.setUp();
-        system = lookup( RepositorySystem.class );
-        session = newMavenRepositorySystemSession( system );
-    }
-
-    @Override
-    protected void tearDown()
-        throws Exception
-    {
-        session = null;
-        system = null;
-        super.tearDown();
-    }
-
-    public static RepositorySystemSession newMavenRepositorySystemSession( RepositorySystem system )
-    {
-        DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession();
-
-        LocalRepository localRepo = new LocalRepository( "target/local-repo" );
-        session.setLocalRepositoryManager( system.newLocalRepositoryManager( session, localRepo ) );
-
-        session.setTransferListener( new ConsoleTransferListener() );
-        session.setRepositoryListener( new ConsoleRepositoryListener() );
-
-        return session;
-    }
-
-    public static RemoteRepository newTestRepository()
-        throws MalformedURLException
-    {
-        return new RemoteRepository.Builder( "repo", "default",
-                                             getTestFile( "target/test-classes/repo" ).toURI().toURL().toString() ).build();
-    }
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java b/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java
deleted file mode 100644
index e873138..0000000
--- a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-
-import org.eclipse.aether.RepositoryEvent;
-import org.eclipse.aether.RepositoryEvent.EventType;
-import org.eclipse.aether.artifact.DefaultArtifact;
-import org.eclipse.aether.impl.ArtifactDescriptorReader;
-import org.eclipse.aether.impl.RepositoryEventDispatcher;
-import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
-import org.mockito.ArgumentCaptor;
-
-public class DefaultArtifactDescriptorReaderTest
-    extends AbstractRepositoryTestCase
-{
-
-    public void testMng5459()
-        throws Exception
-    {
-        // prepare
-        DefaultArtifactDescriptorReader reader = (DefaultArtifactDescriptorReader) lookup( ArtifactDescriptorReader.class );
-
-        RepositoryEventDispatcher eventDispatcher = mock( RepositoryEventDispatcher.class );
-
-        ArgumentCaptor<RepositoryEvent> event = ArgumentCaptor.forClass( RepositoryEvent.class );
-
-        reader.setRepositoryEventDispatcher( eventDispatcher );
-
-        ArtifactDescriptorRequest request = new ArtifactDescriptorRequest();
-
-        request.addRepository( newTestRepository() );
-
-        request.setArtifact( new DefaultArtifact( "org.apache.maven.its", "dep-mng5459", "jar", "0.4.0-SNAPSHOT" ) );
-
-        // execute
-        reader.readArtifactDescriptor( session, request );
-
-        // verify
-        verify( eventDispatcher ).dispatch( event.capture() );
-
-        boolean missingArtifactDescriptor = false;
-
-        for( RepositoryEvent evt : event.getAllValues() )
-        {
-            if ( EventType.ARTIFACT_DESCRIPTOR_MISSING.equals( evt.getType() ) )
-            {
-                assertEquals( "Could not find artifact org.apache.maven.its:dep-mng5459:pom:0.4.0-20130404.090532-2 in repo (" + newTestRepository().getUrl() + ")", evt.getException().getMessage() );
-                missingArtifactDescriptor = true;
-            }
-        }
-
-        if( !missingArtifactDescriptor )
-        {
-            fail( "Expected missing artifact descriptor for org.apache.maven.its:dep-mng5459:pom:0.4.0-20130404.090532-2" );
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java b/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java
deleted file mode 100644
index 90dd6a4..0000000
--- a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.impl.VersionResolver;
-import org.eclipse.aether.resolution.VersionRequest;
-import org.eclipse.aether.resolution.VersionResult;
-import org.eclipse.aether.artifact.DefaultArtifact;
-
-public class DefaultVersionResolverTest
-    extends AbstractRepositoryTestCase
-{
-    private DefaultVersionResolver versionResolver;
-
-    @Override
-    protected void setUp()
-        throws Exception
-    {
-        super.setUp();
-        // be sure we're testing the right class, i.e. DefaultVersionResolver.class
-        versionResolver = (DefaultVersionResolver) lookup( VersionResolver.class, "default" );
-    }
-
-    @Override
-    protected void tearDown()
-        throws Exception
-    {
-        versionResolver = null;
-        super.tearDown();
-    }
-
-    public void testResolveSeparateInstalledClassifiedNonUniqueVersionedArtifacts()
-        throws Exception
-    {
-        VersionRequest requestB = new VersionRequest();
-        requestB.addRepository( newTestRepository() );
-        Artifact artifactB =
-            new DefaultArtifact( "org.apache.maven.its", "dep-mng5324", "classifierB", "jar", "07.20.3-SNAPSHOT" );
-        requestB.setArtifact( artifactB );
-
-        VersionResult resultB = versionResolver.resolveVersion( session, requestB );
-        assertEquals( "07.20.3-20120809.112920-97", resultB.getVersion() );
-
-        VersionRequest requestA = new VersionRequest();
-        requestA.addRepository( newTestRepository() );
-
-        Artifact artifactA =
-            new DefaultArtifact( "org.apache.maven.its", "dep-mng5324", "classifierA", "jar", "07.20.3-SNAPSHOT" );
-        requestA.setArtifact( artifactA );
-
-        VersionResult resultA = versionResolver.resolveVersion( session, requestA );
-        assertEquals( "07.20.3-20120809.112124-88", resultA.getVersion() );
-    }
-
-    public void testResolveSeparateInstalledClassifiedNonVersionedArtifacts()
-        throws Exception
-    {
-        VersionRequest requestA = new VersionRequest();
-        requestA.addRepository( newTestRepository() );
-        String versionA = "07.20.3-20120809.112124-88";
-        Artifact artifactA =
-            new DefaultArtifact( "org.apache.maven.its", "dep-mng5324", "classifierA", "jar", versionA );
-        requestA.setArtifact( artifactA );
-
-        VersionResult resultA = versionResolver.resolveVersion( session, requestA );
-        assertEquals( versionA, resultA.getVersion() );
-
-        VersionRequest requestB = new VersionRequest();
-        requestB.addRepository( newTestRepository() );
-        String versionB = "07.20.3-20120809.112920-97";
-        Artifact artifactB =
-            new DefaultArtifact( "org.apache.maven.its", "dep-mng5324", "classifierB", "jar", versionB );
-        requestB.setArtifact( artifactB );
-
-        VersionResult resultB = versionResolver.resolveVersion( session, requestB );
-        assertEquals( versionB, resultB.getVersion() );
-    }
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/MavenRepositorySystemUtilsTest.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/MavenRepositorySystemUtilsTest.java b/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/MavenRepositorySystemUtilsTest.java
deleted file mode 100644
index 768835a..0000000
--- a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/MavenRepositorySystemUtilsTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.impl.MetadataGeneratorFactory;
-import org.eclipse.aether.spi.locator.ServiceLocator;
-
-import junit.framework.TestCase;
-
-public class MavenRepositorySystemUtilsTest
-    extends TestCase
-{
-
-    public void testGetRepositorySystem()
-    {
-        ServiceLocator locator = MavenRepositorySystemUtils.newServiceLocator();
-        RepositorySystem repoSys = locator.getService( RepositorySystem.class );
-        assertNotNull( repoSys );
-    }
-
-    public void testGetMetadataGeneratorFactories()
-    {
-        ServiceLocator locator = MavenRepositorySystemUtils.newServiceLocator();
-        assertEquals( 2, locator.getServices( MetadataGeneratorFactory.class ).size() );
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataTest.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataTest.java b/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataTest.java
deleted file mode 100644
index 278231f..0000000
--- a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import static org.junit.Assert.assertTrue;
-
-import java.text.SimpleDateFormat;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.HashSet;
-import java.util.Locale;
-import java.util.Set;
-
-import org.apache.maven.artifact.repository.metadata.Metadata;
-import org.eclipse.aether.artifact.DefaultArtifact;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class RemoteSnapshotMetadataTest
-{
-    private Locale defaultLocale;
-
-    @Before
-    public void setLocaleToUseBuddhistCalendar()
-    {
-        defaultLocale = Locale.getDefault();
-        Locale.setDefault( new Locale( "th", "TH" ) );
-    }
-
-    @After
-    public void restoreLocale()
-    {
-        Locale.setDefault( defaultLocale );
-    }
-
-    static String gregorianDate()
-    {
-        SimpleDateFormat df = new SimpleDateFormat( "yyyyMMdd" );
-        df.setCalendar( new GregorianCalendar() );
-        df.setTimeZone( RemoteSnapshotMetadata.DEFAULT_SNAPSHOT_TIME_ZONE );
-        return df.format( new Date() );
-    }
-
-    @Test
-    public void gregorianCalendarIsUsed()
-    {
-        String dateBefore = gregorianDate();
-
-        RemoteSnapshotMetadata metadata = new RemoteSnapshotMetadata(
-                new DefaultArtifact( "a:b:1-SNAPSHOT" ), false);
-        metadata.merge( new Metadata() );
-
-        String dateAfter = gregorianDate();
-
-        String ts = metadata.metadata.getVersioning().getSnapshot().getTimestamp();
-        String datePart = ts.replaceAll( "\\..*", "" );
-
-        /* Allow for this test running across midnight */
-        Set<String> expected = new HashSet<String>( Arrays.asList( dateBefore, dateAfter ) );
-        assertTrue( "Expected " + datePart + " to be in " + expected,
-                expected.contains( datePart ) );
-    }
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java b/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java
deleted file mode 100644
index db77a44..0000000
--- a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java
+++ /dev/null
@@ -1,220 +0,0 @@
-package org.apache.maven.repository.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.collection.CollectRequest;
-import org.eclipse.aether.collection.CollectResult;
-import org.eclipse.aether.graph.Dependency;
-import org.eclipse.aether.graph.DependencyNode;
-import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
-import org.eclipse.aether.resolution.ArtifactDescriptorResult;
-import org.eclipse.aether.resolution.ArtifactRequest;
-import org.eclipse.aether.resolution.ArtifactResult;
-import org.eclipse.aether.artifact.DefaultArtifact;
-
-public class RepositorySystemTest
-    extends AbstractRepositoryTestCase
-{
-    public void testResolveVersionRange()
-        throws Exception
-    {
-        //VersionRangeResult resolveVersionRange( RepositorySystemSession session, VersionRangeRequest request )
-        //                throws VersionRangeResolutionException;
-
-    }
-
-    public void testResolveVersion()
-        throws Exception
-    {
-        //VersionResult resolveVersion( RepositorySystemSession session, VersionRequest request )
-        //                throws VersionResolutionException;
-    }
-
-    public void testReadArtifactDescriptor()
-        throws Exception
-    {
-        Artifact artifact = new DefaultArtifact( "ut.simple:artifact:extension:classifier:1.0" );
-
-        ArtifactDescriptorRequest request = new ArtifactDescriptorRequest();
-        request.setArtifact( artifact );
-        request.addRepository( newTestRepository() );
-
-        ArtifactDescriptorResult result = system.readArtifactDescriptor( session, request );
-
-        List<Dependency> deps = result.getDependencies();
-        assertEquals( 2, deps.size() );
-        checkUtSimpleArtifactDependencies( deps.get( 0 ), deps.get( 1 ) );
-    }
-
-    /**
-     * check ut.simple:artifact:1.0 dependencies
-     */
-    private void checkUtSimpleArtifactDependencies( Dependency dep1, Dependency dep2 )
-    {
-        assertEquals( "compile", dep1.getScope() );
-        assertFalse( dep1.isOptional() );
-        assertEquals( 0, dep1.getExclusions().size() );
-        Artifact depArtifact = dep1.getArtifact();
-        assertEquals( "ut.simple", depArtifact.getGroupId() );
-        assertEquals( "dependency", depArtifact.getArtifactId() );
-        assertEquals( "1.0", depArtifact.getVersion() );
-        assertEquals( "1.0", depArtifact.getBaseVersion() );
-        assertNull( depArtifact.getFile() );
-        assertFalse( depArtifact.isSnapshot() );
-        assertEquals( "", depArtifact.getClassifier() );
-        assertEquals( "jar", depArtifact.getExtension() );
-        assertEquals( "java", depArtifact.getProperty( "language", null ) );
-        assertEquals( "jar", depArtifact.getProperty( "type", null ) );
-        assertEquals( "true", depArtifact.getProperty( "constitutesBuildPath", null ) );
-        assertEquals( "false", depArtifact.getProperty( "includesDependencies", null ) );
-        assertEquals( 4, depArtifact.getProperties().size() );
-
-        assertEquals( "compile", dep2.getScope() );
-        assertFalse( dep2.isOptional() );
-        assertEquals( 0, dep2.getExclusions().size() );
-        depArtifact = dep2.getArtifact();
-        assertEquals( "ut.simple", depArtifact.getGroupId() );
-        assertEquals( "dependency", depArtifact.getArtifactId() );
-        assertEquals( "1.0", depArtifact.getVersion() );
-        assertEquals( "1.0", depArtifact.getBaseVersion() );
-        assertNull( depArtifact.getFile() );
-        assertFalse( depArtifact.isSnapshot() );
-        assertEquals( "sources", depArtifact.getClassifier() );
-        assertEquals( "jar", depArtifact.getExtension() );
-        assertEquals( "java", depArtifact.getProperty( "language", null ) );
-        assertEquals( "jar", depArtifact.getProperty( "type", null ) ); // shouldn't it be java-sources given the classifier?
-        assertEquals( "true", depArtifact.getProperty( "constitutesBuildPath", null ) ); // shouldn't it be false given the classifier?
-        assertEquals( "false", depArtifact.getProperty( "includesDependencies", null ) );
-        assertEquals( 4, depArtifact.getProperties().size() );
-    }
-
-    public void testCollectDependencies()
-        throws Exception
-    {
-        Artifact artifact = new DefaultArtifact( "ut.simple:artifact:extension:classifier:1.0" );
-        // notice: extension and classifier not really used in this test...
-
-        CollectRequest collectRequest = new CollectRequest();
-        collectRequest.setRoot( new Dependency( artifact, null ) );
-        collectRequest.addRepository( newTestRepository() );
-
-        CollectResult collectResult = system.collectDependencies( session, collectRequest );
-
-        List<DependencyNode> nodes = collectResult.getRoot().getChildren();
-        assertEquals( 2, nodes.size() );
-        checkUtSimpleArtifactDependencies( nodes.get( 0 ).getDependency(), nodes.get( 1 ).getDependency() );
-    }
-
-    public void testResolveArtifact()
-        throws Exception
-    {
-        Artifact artifact = new DefaultArtifact( "ut.simple:artifact:1.0" );
-
-        ArtifactRequest artifactRequest = new ArtifactRequest();
-        artifactRequest.setArtifact( artifact );
-        artifactRequest.addRepository( newTestRepository() );
-
-        ArtifactResult artifactResult = system.resolveArtifact( session, artifactRequest );
-        checkArtifactResult( artifactResult, "artifact-1.0.jar" );
-
-        artifact = new DefaultArtifact( "ut.simple:artifact:zip:1.0" );
-        artifactRequest.setArtifact( artifact );
-        artifactResult = system.resolveArtifact( session, artifactRequest );
-        checkArtifactResult( artifactResult, "artifact-1.0.zip" );
-
-        artifact = new DefaultArtifact( "ut.simple:artifact:zip:classifier:1.0" );
-        artifactRequest.setArtifact( artifact );
-        artifactResult = system.resolveArtifact( session, artifactRequest );
-        checkArtifactResult( artifactResult, "artifact-1.0-classifier.zip" );
-    }
-
-    private void checkArtifactResult( ArtifactResult result, String filename )
-    {
-        assertFalse( result.isMissing() );
-        assertTrue( result.isResolved() );
-        Artifact artifact = result.getArtifact();
-        assertNotNull( artifact.getFile() );
-        assertEquals( filename, artifact.getFile().getName() );
-    }
-
-    public void testResolveArtifacts()
-        throws Exception
-    {
-        ArtifactRequest req1 = new ArtifactRequest();
-        req1.setArtifact( new DefaultArtifact( "ut.simple:artifact:1.0" ) );
-        req1.addRepository( newTestRepository() );
-
-        ArtifactRequest req2 = new ArtifactRequest();
-        req2.setArtifact( new DefaultArtifact( "ut.simple:artifact:zip:1.0" ) );
-        req2.addRepository( newTestRepository() );
-
-        ArtifactRequest req3 = new ArtifactRequest();
-        req3.setArtifact( new DefaultArtifact( "ut.simple:artifact:zip:classifier:1.0" ) );
-        req3.addRepository( newTestRepository() );
-
-        List<ArtifactRequest> requests = Arrays.asList( req1, req2, req3 );
-
-        List<ArtifactResult> results = system.resolveArtifacts( session, requests );
-
-        assertEquals( 3, results.size() );
-        checkArtifactResult( results.get( 0 ), "artifact-1.0.jar" );
-        checkArtifactResult( results.get( 1 ), "artifact-1.0.zip" );
-        checkArtifactResult( results.get( 2 ), "artifact-1.0-classifier.zip" );
-    }
-
-    public void testResolveMetadata()
-        throws Exception
-    {
-        //List<MetadataResult> resolveMetadata( RepositorySystemSession session,
-        //                                      Collection<? extends MetadataRequest> requests );
-    }
-
-    public void testInstall()
-        throws Exception
-    {
-        //InstallResult install( RepositorySystemSession session, InstallRequest request )
-        //                throws InstallationException;
-        // release, snapshot unique ou non unique, attachement
-    }
-
-    public void testDeploy()
-        throws Exception
-    {
-        //DeployResult deploy( RepositorySystemSession session, DeployRequest request )
-        //                throws DeploymentException;
-    }
-
-    public void testNewLocalRepositoryManager()
-        throws Exception
-    {
-        //LocalRepositoryManager newLocalRepositoryManager( LocalRepository localRepository );
-    }
-
-    public void testNewSyncContext()
-        throws Exception
-    {
-        //SyncContext newSyncContext( RepositorySystemSession session, boolean shared );
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleRepositoryListener.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleRepositoryListener.java b/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleRepositoryListener.java
deleted file mode 100644
index 2879a9f..0000000
--- a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleRepositoryListener.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package org.apache.maven.repository.internal.util;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.PrintStream;
-
-import org.eclipse.aether.AbstractRepositoryListener;
-import org.eclipse.aether.RepositoryEvent;
-
-public class ConsoleRepositoryListener
-    extends AbstractRepositoryListener
-{
-
-    private PrintStream out;
-
-    public ConsoleRepositoryListener()
-    {
-        this( null );
-    }
-
-    public ConsoleRepositoryListener( PrintStream out )
-    {
-        this.out = ( out != null ) ? out : System.out;
-    }
-
-    public void artifactDeployed( RepositoryEvent event )
-    {
-        println( "artifactDeployed", event.getArtifact() + " to " + event.getRepository() );
-    }
-
-    public void artifactDeploying( RepositoryEvent event )
-    {
-        println( "artifactDeploying", event.getArtifact() + " to " + event.getRepository() );
-    }
-
-    public void artifactDescriptorInvalid( RepositoryEvent event )
-    {
-        println( "artifactDescriptorInvalid", "for " + event.getArtifact() + ": " + event.getException().getMessage() );
-    }
-
-    public void artifactDescriptorMissing( RepositoryEvent event )
-    {
-        println( "artifactDescriptorMissing", "for " + event.getArtifact() );
-    }
-
-    public void artifactInstalled( RepositoryEvent event )
-    {
-        println( "artifactInstalled", event.getArtifact() + " to " + event.getFile() );
-    }
-
-    public void artifactInstalling( RepositoryEvent event )
-    {
-        println( "artifactInstalling", event.getArtifact() + " to " + event.getFile() );
-    }
-
-    public void artifactResolved( RepositoryEvent event )
-    {
-        println( "artifactResolved", event.getArtifact() + " from " + event.getRepository() );
-    }
-
-    public void artifactDownloading( RepositoryEvent event )
-    {
-        println( "artifactDownloading", event.getArtifact() + " from " + event.getRepository() );
-    }
-
-    public void artifactDownloaded( RepositoryEvent event )
-    {
-        println( "artifactDownloaded", event.getArtifact() + " from " + event.getRepository() );
-    }
-
-    public void artifactResolving( RepositoryEvent event )
-    {
-        println( "artifactResolving", event.getArtifact().toString() );
-    }
-
-    public void metadataDeployed( RepositoryEvent event )
-    {
-        println( "metadataDeployed", event.getMetadata() + " to " + event.getRepository() );
-    }
-
-    public void metadataDeploying( RepositoryEvent event )
-    {
-        println( "metadataDeploying", event.getMetadata() + " to " + event.getRepository() );
-    }
-
-    public void metadataInstalled( RepositoryEvent event )
-    {
-        println( "metadataInstalled", event.getMetadata() + " to " + event.getFile() );
-    }
-
-    public void metadataInstalling( RepositoryEvent event )
-    {
-        println( "metadataInstalling", event.getMetadata() + " to " + event.getFile() );
-    }
-
-    public void metadataInvalid( RepositoryEvent event )
-    {
-        println( "metadataInvalid", event.getMetadata().toString() );
-    }
-
-    public void metadataResolved( RepositoryEvent event )
-    {
-        println( "metadataResolved", event.getMetadata() + " from " + event.getRepository() );
-    }
-
-    public void metadataResolving( RepositoryEvent event )
-    {
-        println( "metadataResolving", event.getMetadata() + " from " + event.getRepository() );
-    }
-
-    private void println( String event, String message )
-    {
-        out.println( "Aether Repository - " + event + ": " + message );
-    }
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleTransferListener.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleTransferListener.java b/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleTransferListener.java
deleted file mode 100644
index cf587d8..0000000
--- a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleTransferListener.java
+++ /dev/null
@@ -1,186 +0,0 @@
-package org.apache.maven.repository.internal.util;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.PrintStream;
-import java.text.DecimalFormat;
-import java.text.DecimalFormatSymbols;
-import java.util.Locale;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.eclipse.aether.transfer.AbstractTransferListener;
-import org.eclipse.aether.transfer.TransferEvent;
-import org.eclipse.aether.transfer.TransferResource;
-
-public class ConsoleTransferListener
-    extends AbstractTransferListener
-{
-
-    private PrintStream out;
-
-    private Map<TransferResource, Long> downloads = new ConcurrentHashMap<>();
-
-    private int lastLength;
-
-    public ConsoleTransferListener()
-    {
-        this( null );
-    }
-
-    public ConsoleTransferListener( PrintStream out )
-    {
-        this.out = ( out != null ) ? out : System.out;
-    }
-
-    @Override
-    public void transferInitiated( TransferEvent event )
-    {
-        String message = event.getRequestType() == TransferEvent.RequestType.PUT ? "Uploading" : "Downloading";
-
-        println( "transferInitiated", message + ": " + event.getResource().getRepositoryUrl() + event.getResource().getResourceName() );
-    }
-
-    @Override
-    public void transferProgressed( TransferEvent event )
-    {
-        TransferResource resource = event.getResource();
-        downloads.put( resource, event.getTransferredBytes() );
-
-        StringBuilder buffer = new StringBuilder( 64 );
-
-        for ( Map.Entry<TransferResource, Long> entry : downloads.entrySet() )
-        {
-            long total = entry.getKey().getContentLength();
-            long complete = entry.getValue();
-
-            buffer.append( getStatus( complete, total ) ).append( "  " );
-        }
-
-        int pad = lastLength - buffer.length();
-        lastLength = buffer.length();
-        pad( buffer, pad );
-        buffer.append( '\r' );
-
-        print( "transferProgressed", buffer.toString() );
-    }
-
-    private String getStatus( long complete, long total )
-    {
-        if ( total >= 1024 )
-        {
-            return toKB( complete ) + "/" + toKB( total ) + " KB ";
-        }
-        else if ( total >= 0 )
-        {
-            return complete + "/" + total + " B ";
-        }
-        else if ( complete >= 1024 )
-        {
-            return toKB( complete ) + " KB ";
-        }
-        else
-        {
-            return complete + " B ";
-        }
-    }
-
-    private void pad( StringBuilder buffer, int spaces )
-    {
-        String block = "                                        ";
-        while ( spaces > 0 )
-        {
-            int n = Math.min( spaces, block.length() );
-            buffer.append( block, 0, n );
-            spaces -= n;
-        }
-    }
-
-    @Override
-    public void transferSucceeded( TransferEvent event )
-    {
-        transferCompleted( event );
-
-        TransferResource resource = event.getResource();
-        long contentLength = event.getTransferredBytes();
-        if ( contentLength >= 0 )
-        {
-            String type = ( event.getRequestType() == TransferEvent.RequestType.PUT ? "Uploaded" : "Downloaded" );
-            String len = contentLength >= 1024 ? toKB( contentLength ) + " KB" : contentLength + " B";
-
-            String throughput = "";
-            long duration = System.currentTimeMillis() - resource.getTransferStartTime();
-            if ( duration > 0 )
-            {
-                DecimalFormat format = new DecimalFormat( "0.0", new DecimalFormatSymbols( Locale.ENGLISH ) );
-                double kbPerSec = ( contentLength / 1024.0 ) / ( duration / 1000.0 );
-                throughput = " at " + format.format( kbPerSec ) + " KB/sec";
-            }
-
-            println( "transferSucceeded", type + ": " + resource.getRepositoryUrl() + resource.getResourceName() + " ("
-                + len + throughput + ")" );
-        }
-    }
-
-    @Override
-    public void transferFailed( TransferEvent event )
-    {
-        transferCompleted( event );
-
-        println( "transferFailed", event.getException().getClass() + ": " + event.getException().getMessage()  );
-    }
-
-    private void transferCompleted( TransferEvent event )
-    {
-        downloads.remove( event.getResource() );
-
-        StringBuilder buffer = new StringBuilder( 64 );
-        pad( buffer, lastLength );
-        buffer.append( '\r' );
-        out.println( buffer );
-    }
-
-    @Override
-    public void transferCorrupted( TransferEvent event )
-    {
-        println( "transferCorrupted", event.getException().getClass() + ": " + event.getException().getMessage() );
-    }
-
-    protected long toKB( long bytes )
-    {
-        return ( bytes + 1023 ) / 1024;
-    }
-
-    private void println( String event, String message )
-    {
-        print( event, message );
-        out.println();
-    }
-
-    private void print( String event, String message )
-    {
-        out.print( "Aether Transfer - " + event );
-        if ( message != null )
-        {
-            out.print( ": " );
-            out.print( message );
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5324/07.20.3-SNAPSHOT/maven-metadata.xml
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5324/07.20.3-SNAPSHOT/maven-metadata.xml b/maven-aether-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5324/07.20.3-SNAPSHOT/maven-metadata.xml
deleted file mode 100644
index 9f0a7fe..0000000
--- a/maven-aether-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5324/07.20.3-SNAPSHOT/maven-metadata.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~ http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
--->
-
-<metadata xmlns="http://maven.apache.org/METADATA/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/METADATA/1.1.0 http://maven.apache.org/xsd/metadata-1.1.0.xsd"
-  modelVersion="1.1.0">
-  <groupId>org.apache.maven.its</groupId>
-  <artifactId>dep-mng5324</artifactId>
-  <version>07.20.3-SNAPSHOT</version><!-- metadata for artifact snapshot -->
-  <versioning>
-    <snapshot>
-      <timestamp>20120809.112920</timestamp>
-      <buildNumber>97</buildNumber>
-    </snapshot>
-    <lastUpdated>20120809112920</lastUpdated>
-    <snapshotVersions>
-      <snapshotVersion>
-        <classifier>classifierA</classifier>
-        <extension>jar</extension>
-        <value>07.20.3-20120809.112124-88</value>
-        <updated>20120809112124</updated>
-      </snapshotVersion>
-      <snapshotVersion>
-        <classifier>classifierB</classifier>
-        <extension>jar</extension>
-        <value>07.20.3-20120809.112920-97</value>
-        <updated>20120809112920</updated>
-      </snapshotVersion>
-    </snapshotVersions>
-  </versioning>
-</metadata>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5459/0.4.0-SNAPSHOT/maven-metadata.xml
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5459/0.4.0-SNAPSHOT/maven-metadata.xml b/maven-aether-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5459/0.4.0-SNAPSHOT/maven-metadata.xml
deleted file mode 100644
index 923f26f..0000000
--- a/maven-aether-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5459/0.4.0-SNAPSHOT/maven-metadata.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~ http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
--->
-
-<metadata xmlns="http://maven.apache.org/METADATA/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/METADATA/1.1.0 http://maven.apache.org/xsd/metadata-1.1.0.xsd"
-  modelVersion="1.1.0">
-  <groupId>org.apache.maven.its</groupId>
-  <artifactId>dep-mng5459</artifactId>
-  <version>0.4.0-SNAPSHOT</version>
-  <versioning>
-    <snapshot>
-      <timestamp>20130404.090532</timestamp>
-      <buildNumber>2</buildNumber>
-    </snapshot>
-    <lastUpdated>20130404093657</lastUpdated>
-    <snapshotVersions>
-      <snapshotVersion>
-        <extension>pom</extension>
-        <value>0.4.0-20130404.090532-2</value>
-        <updated>20130404090532</updated>
-      </snapshotVersion>
-      <snapshotVersion>
-        <extension>jar</extension>
-        <value>0.4.0-20130404.093655-3</value>
-        <updated>20130404093655</updated>
-      </snapshotVersion>
-    </snapshotVersions>
-  </versioning>
-</metadata>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0-classifier.zip
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0-classifier.zip b/maven-aether-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0-classifier.zip
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.jar
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.jar b/maven-aether-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.jar
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.pom
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.pom b/maven-aether-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.pom
deleted file mode 100644
index f8b72af..0000000
--- a/maven-aether-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.pom
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~ http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>ut.simple</groupId>
-    <artifactId>parent</artifactId>
-    <version>1.0</version>
-  </parent>
-
-  <artifactId>artifact</artifactId>
-
-  <name>Simple Unit Test Artifact</name>
-
-  <dependencies>
-    <dependency>
-      <groupId>ut.simple</groupId>
-      <artifactId>dependency</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>ut.simple</groupId>
-      <artifactId>dependency</artifactId>
-      <version>1.0</version>
-      <classifier>sources</classifier>
-    </dependency>
-  </dependencies>
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.zip
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.zip b/maven-aether-provider/src/test/resources/repo/ut/simple/artifact/1.0/artifact-1.0.zip
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/resources/repo/ut/simple/artifact/maven-metadata.xml
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/resources/repo/ut/simple/artifact/maven-metadata.xml b/maven-aether-provider/src/test/resources/repo/ut/simple/artifact/maven-metadata.xml
deleted file mode 100644
index 2de7ecc..0000000
--- a/maven-aether-provider/src/test/resources/repo/ut/simple/artifact/maven-metadata.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~ http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
--->
-
-<metadata xmlns="http://maven.apache.org/METADATA/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/METADATA/1.1.0 http://maven.apache.org/xsd/metadata-1.1.0.xsd">
-  <groupId>ut.simple</groupId>
-  <artifactId>artifact</artifactId>
-  <versioning>
-    <latest>1.0</latest>
-    <release>1.0</release>
-    <versions>
-      <version>1.0</version>
-    </versions>
-    <lastUpdated>20111123122038</lastUpdated>
-  </versioning>
-</metadata>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0-sources.jar
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0-sources.jar b/maven-aether-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0-sources.jar
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0.jar
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0.jar b/maven-aether-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0.jar
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0.pom
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0.pom b/maven-aether-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0.pom
deleted file mode 100644
index c021dfa..0000000
--- a/maven-aether-provider/src/test/resources/repo/ut/simple/dependency/1.0/dependency-1.0.pom
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~ http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>ut.simple</groupId>
-  <artifactId>dependency</artifactId>
-  <version>1.0</version>
-
-  <name>Simple Unit Test Dependency</name>
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/resources/repo/ut/simple/dependency/maven-metadata.xml
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/resources/repo/ut/simple/dependency/maven-metadata.xml b/maven-aether-provider/src/test/resources/repo/ut/simple/dependency/maven-metadata.xml
deleted file mode 100644
index 8a97c34..0000000
--- a/maven-aether-provider/src/test/resources/repo/ut/simple/dependency/maven-metadata.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~ http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
--->
-
-<metadata xmlns="http://maven.apache.org/METADATA/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/METADATA/1.1.0 http://maven.apache.org/xsd/metadata-1.1.0.xsd">
-  <groupId>ut.simple</groupId>
-  <artifactId>dependency</artifactId>
-  <versioning>
-    <latest>1.0</latest>
-    <release>1.0</release>
-    <versions>
-      <version>1.0</version>
-    </versions>
-    <lastUpdated>20111123122038</lastUpdated>
-  </versioning>
-</metadata>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/resources/repo/ut/simple/parent/1.0/parent-1.0.pom
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/resources/repo/ut/simple/parent/1.0/parent-1.0.pom b/maven-aether-provider/src/test/resources/repo/ut/simple/parent/1.0/parent-1.0.pom
deleted file mode 100644
index ed64c9e..0000000
--- a/maven-aether-provider/src/test/resources/repo/ut/simple/parent/1.0/parent-1.0.pom
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~ http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>ut.simple</groupId>
-  <artifactId>parent</artifactId>
-  <version>1.0</version>
-  <packaging>pom</packaging>
-
-  <name>Simple Unit Test Parent</name>
-
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>ut.simple</groupId>
-        <artifactId>dependency</artifactId>
-        <version>1.0</version>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/resources/repo/ut/simple/parent/maven-metadata.xml
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/resources/repo/ut/simple/parent/maven-metadata.xml b/maven-aether-provider/src/test/resources/repo/ut/simple/parent/maven-metadata.xml
deleted file mode 100644
index 7199d52..0000000
--- a/maven-aether-provider/src/test/resources/repo/ut/simple/parent/maven-metadata.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~ http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
--->
-
-<metadata xmlns="http://maven.apache.org/METADATA/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/METADATA/1.1.0 http://maven.apache.org/xsd/metadata-1.1.0.xsd">
-  <groupId>ut.simple</groupId>
-  <artifactId>parent</artifactId>
-  <versioning>
-    <latest>1.0</latest>
-    <release>1.0</release>
-    <versions>
-      <version>1.0</version>
-    </versions>
-    <lastUpdated>20111123122038</lastUpdated>
-  </versioning>
-</metadata>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-compat/pom.xml
----------------------------------------------------------------------
diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml
index 876c11c..c740504 100644
--- a/maven-compat/pom.xml
+++ b/maven-compat/pom.xml
@@ -60,7 +60,7 @@ under the License.
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
-      <artifactId>maven-aether-provider</artifactId>
+      <artifactId>maven-resolver-provider</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.resolver</groupId>

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-core/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/pom.xml b/maven-core/pom.xml
index ad5484a..95162bd 100644
--- a/maven-core/pom.xml
+++ b/maven-core/pom.xml
@@ -70,7 +70,7 @@ under the License.
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
-      <artifactId>maven-aether-provider</artifactId>
+      <artifactId>maven-resolver-provider</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.resolver</groupId>

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-core/src/main/resources/META-INF/maven/extension.xml
----------------------------------------------------------------------
diff --git a/maven-core/src/main/resources/META-INF/maven/extension.xml b/maven-core/src/main/resources/META-INF/maven/extension.xml
index f9cf07a..1d24d92 100644
--- a/maven-core/src/main/resources/META-INF/maven/extension.xml
+++ b/maven-core/src/main/resources/META-INF/maven/extension.xml
@@ -54,7 +54,7 @@ under the License.
     <exportedPackage>org.apache.maven.wagon.repository</exportedPackage>
     <exportedPackage>org.apache.maven.wagon.resource</exportedPackage>
 
-    <!-- aether-api, aether-spi, aether-impl -->
+    <!-- maven-resolver-api, maven-resolver-spi, maven-resolver-impl -->
     <exportedPackage>org.eclipse.aether.*</exportedPackage>
     <exportedPackage>org.eclipse.aether.artifact</exportedPackage>
     <exportedPackage>org.eclipse.aether.collection</exportedPackage>
@@ -132,7 +132,7 @@ under the License.
     <exportedArtifact>org.sonatype.sisu:sisu-inject-plexus</exportedArtifact>
     <exportedArtifact>org.eclipse.sisu:org.eclipse.sisu.plexus</exportedArtifact>
     <exportedArtifact>org.apache.maven:maven-artifact</exportedArtifact>
-    <exportedArtifact>org.apache.maven:maven-aether-provider</exportedArtifact>
+    <exportedArtifact>org.apache.maven:maven-resolver-provider</exportedArtifact>
     <exportedArtifact>org.apache.maven:maven-artifact-manager</exportedArtifact>
     <exportedArtifact>org.apache.maven:maven-compat</exportedArtifact>
     <exportedArtifact>org.apache.maven:maven-core</exportedArtifact>
@@ -152,9 +152,9 @@ under the License.
     <exportedArtifact>org.apache.maven:maven-settings-builder</exportedArtifact>
     <exportedArtifact>org.apache.maven:maven-toolchain</exportedArtifact>
     <exportedArtifact>org.apache.maven.wagon:wagon-provider-api</exportedArtifact>
-    <exportedArtifact>org.eclipse.aether:aether-api</exportedArtifact>
-    <exportedArtifact>org.eclipse.aether:aether-spi</exportedArtifact>
-    <exportedArtifact>org.eclipse.aether:aether-impl</exportedArtifact>
+    <exportedArtifact>org.apache.maven.resolver:maven-resolver-api</exportedArtifact>
+    <exportedArtifact>org.apache.maven.resolver:maven-resolver-spi</exportedArtifact>
+    <exportedArtifact>org.apache.maven.resolver:maven-resolver-impl</exportedArtifact>
 
     <exportedArtifact>javax.inject:javax.inject</exportedArtifact>
     <exportedArtifact>org.slf4j:slf4j-api</exportedArtifact>
@@ -166,6 +166,9 @@ under the License.
     <exportedArtifact>org.sonatype.aether:aether-api</exportedArtifact>
     <exportedArtifact>org.sonatype.aether:aether-spi</exportedArtifact>
     <exportedArtifact>org.sonatype.aether:aether-impl</exportedArtifact>
+    <exportedArtifact>org.eclipse.aether:aether-api</exportedArtifact>
+    <exportedArtifact>org.eclipse.aether:aether-spi</exportedArtifact>
+    <exportedArtifact>org.eclipse.aether:aether-impl</exportedArtifact>
 
     <!--
       | NOTE: Don't exclude the wagons or any of their dependencies (apart from the wagon API). This would otherwise

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/pom.xml
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/pom.xml b/maven-resolver-provider/pom.xml
new file mode 100644
index 0000000..7d71e33
--- /dev/null
+++ b/maven-resolver-provider/pom.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven</groupId>
+    <artifactId>maven</artifactId>
+    <version>3.5.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>maven-resolver-provider</artifactId>
+
+  <name>Maven Artifact Resolver Provider</name>
+  <description>Extensions to Maven Resolver for utilizing Maven POM and repository metadata.</description>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-model</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-model-builder</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-repository-metadata</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-spi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-util</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-impl</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-component-annotations</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.google.inject</groupId>
+      <artifactId>guice</artifactId>
+      <classifier>no_aop</classifier>
+      <optional>true</optional>
+      <exclusions>
+        <exclusion>
+          <groupId>aopalliance</groupId>
+          <artifactId>aopalliance</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+    </dependency>
+    <!-- Testing -->
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-connector-basic</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-transport-wagon</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.wagon</groupId>
+      <artifactId>wagon-file</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse.sisu</groupId>
+      <artifactId>org.eclipse.sisu.plexus</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
+      <version>1.9.5</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.plexus</groupId>
+        <artifactId>plexus-component-metadata</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>
+

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java
new file mode 100644
index 0000000..2395b36
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java
@@ -0,0 +1,153 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.model.DependencyManagement;
+import org.apache.maven.model.DistributionManagement;
+import org.apache.maven.model.License;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Prerequisites;
+import org.apache.maven.model.Repository;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.artifact.ArtifactProperties;
+import org.eclipse.aether.artifact.ArtifactType;
+import org.eclipse.aether.artifact.ArtifactTypeRegistry;
+import org.eclipse.aether.artifact.DefaultArtifact;
+import org.eclipse.aether.artifact.DefaultArtifactType;
+import org.eclipse.aether.graph.Dependency;
+import org.eclipse.aether.graph.Exclusion;
+import org.eclipse.aether.resolution.ArtifactDescriptorResult;
+
+/**
+ * Populates Aether {@link ArtifactDescriptorResult} from Maven project {@link Model}.
+ * 
+ * @since 3.2.4
+ * @provisional This class is part of work in progress and can be changed or removed without notice.
+ */
+public class ArtifactDescriptorReaderDelegate
+{
+    public void populateResult( RepositorySystemSession session, ArtifactDescriptorResult result, Model model )
+    {
+        ArtifactTypeRegistry stereotypes = session.getArtifactTypeRegistry();
+
+        for ( Repository r : model.getRepositories() )
+        {
+            result.addRepository( ArtifactDescriptorUtils.toRemoteRepository( r ) );
+        }
+
+        for ( org.apache.maven.model.Dependency dependency : model.getDependencies() )
+        {
+            result.addDependency( convert( dependency, stereotypes ) );
+        }
+
+        DependencyManagement mngt = model.getDependencyManagement();
+        if ( mngt != null )
+        {
+            for ( org.apache.maven.model.Dependency dependency : mngt.getDependencies() )
+            {
+                result.addManagedDependency( convert( dependency, stereotypes ) );
+            }
+        }
+
+        Map<String, Object> properties = new LinkedHashMap<>();
+
+        Prerequisites prerequisites = model.getPrerequisites();
+        if ( prerequisites != null )
+        {
+            properties.put( "prerequisites.maven", prerequisites.getMaven() );
+        }
+
+        List<License> licenses = model.getLicenses();
+        properties.put( "license.count", licenses.size() );
+        for ( int i = 0; i < licenses.size(); i++ )
+        {
+            License license = licenses.get( i );
+            properties.put( "license." + i + ".name", license.getName() );
+            properties.put( "license." + i + ".url", license.getUrl() );
+            properties.put( "license." + i + ".comments", license.getComments() );
+            properties.put( "license." + i + ".distribution", license.getDistribution() );
+        }
+
+        result.setProperties( properties );
+
+        setArtifactProperties( result, model );
+    }
+
+    private Dependency convert( org.apache.maven.model.Dependency dependency, ArtifactTypeRegistry stereotypes )
+    {
+        ArtifactType stereotype = stereotypes.get( dependency.getType() );
+        if ( stereotype == null )
+        {
+            stereotype = new DefaultArtifactType( dependency.getType() );
+        }
+
+        boolean system = dependency.getSystemPath() != null && dependency.getSystemPath().length() > 0;
+
+        Map<String, String> props = null;
+        if ( system )
+        {
+            props = Collections.singletonMap( ArtifactProperties.LOCAL_PATH, dependency.getSystemPath() );
+        }
+
+        Artifact artifact =
+            new DefaultArtifact( dependency.getGroupId(), dependency.getArtifactId(), dependency.getClassifier(), null,
+                                 dependency.getVersion(), props, stereotype );
+
+        List<Exclusion> exclusions = new ArrayList<>( dependency.getExclusions().size() );
+        for ( org.apache.maven.model.Exclusion exclusion : dependency.getExclusions() )
+        {
+            exclusions.add( convert( exclusion ) );
+        }
+
+        Dependency result = new Dependency( artifact, dependency.getScope(), dependency.isOptional(), exclusions );
+
+        return result;
+    }
+
+    private Exclusion convert( org.apache.maven.model.Exclusion exclusion )
+    {
+        return new Exclusion( exclusion.getGroupId(), exclusion.getArtifactId(), "*", "*" );
+    }
+
+    private void setArtifactProperties( ArtifactDescriptorResult result, Model model )
+    {
+        String downloadUrl = null;
+        DistributionManagement distMngt = model.getDistributionManagement();
+        if ( distMngt != null )
+        {
+            downloadUrl = distMngt.getDownloadUrl();
+        }
+        if ( downloadUrl != null && downloadUrl.length() > 0 )
+        {
+            Artifact artifact = result.getArtifact();
+            Map<String, String> props = new HashMap<>( artifact.getProperties() );
+            props.put( ArtifactProperties.DOWNLOAD_URL, downloadUrl );
+            result.setArtifact( artifact.setProperties( props ) );
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorUtils.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorUtils.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorUtils.java
new file mode 100644
index 0000000..7d4ede8
--- /dev/null
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorUtils.java
@@ -0,0 +1,81 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.model.Repository;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.artifact.DefaultArtifact;
+import org.eclipse.aether.repository.RemoteRepository;
+import org.eclipse.aether.repository.RepositoryPolicy;
+
+/**
+ * <strong>Warning:</strong> This is an internal utility class that is only public for technical reasons, it is not part
+ * of the public API. In particular, this class can be changed or deleted without prior notice.
+ *
+ * @author Benjamin Bentmann
+ */
+public class ArtifactDescriptorUtils
+{
+
+    public static Artifact toPomArtifact( Artifact artifact )
+    {
+        Artifact pomArtifact = artifact;
+
+        if ( pomArtifact.getClassifier().length() > 0 || !"pom".equals( pomArtifact.getExtension() ) )
+        {
+            pomArtifact =
+                new DefaultArtifact( artifact.getGroupId(), artifact.getArtifactId(), "pom", artifact.getVersion() );
+        }
+
+        return pomArtifact;
+    }
+
+    public static RemoteRepository toRemoteRepository( Repository repository )
+    {
+        RemoteRepository.Builder builder =
+            new RemoteRepository.Builder( repository.getId(), repository.getLayout(), repository.getUrl() );
+        builder.setSnapshotPolicy( toRepositoryPolicy( repository.getSnapshots() ) );
+        builder.setReleasePolicy( toRepositoryPolicy( repository.getReleases() ) );
+        return builder.build();
+    }
+
+    public static RepositoryPolicy toRepositoryPolicy( org.apache.maven.model.RepositoryPolicy policy )
+    {
+        boolean enabled = true;
+        String checksums = RepositoryPolicy.CHECKSUM_POLICY_WARN;
+        String updates = RepositoryPolicy.UPDATE_POLICY_DAILY;
+
+        if ( policy != null )
+        {
+            enabled = policy.isEnabled();
+            if ( policy.getUpdatePolicy() != null )
+            {
+                updates = policy.getUpdatePolicy();
+            }
+            if ( policy.getChecksumPolicy() != null )
+            {
+                checksums = policy.getChecksumPolicy();
+            }
+        }
+
+        return new RepositoryPolicy( enabled, updates, checksums );
+    }
+
+}


[45/46] maven git commit: [MNG-5984] Maven core extension resolution ignores repositories from activeByDefault profiles in settings.xml

Posted by sc...@apache.org.
[MNG-5984] Maven core extension resolution ignores repositories from activeByDefault profiles in settings.xml


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/d6d6c8d6
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/d6d6c8d6
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/d6d6c8d6

Branch: refs/heads/MNG-5984
Commit: d6d6c8d67d32918cc7d076690639c5faaddedd96
Parents: 114ef6c
Author: Christian Schulte <sc...@apache.org>
Authored: Thu Feb 25 19:46:13 2016 +0100
Committer: Christian Schulte <sc...@apache.org>
Committed: Wed Mar 8 18:02:29 2017 +0100

----------------------------------------------------------------------
 .../apache/maven/settings/SettingsUtils.java    |   2 +-
 .../java/org/apache/maven/cli/MavenCli.java     | 158 ++++++++++++++++---
 .../SettingsXmlConfigurationProcessor.java      |  65 ++------
 3 files changed, 152 insertions(+), 73 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/d6d6c8d6/maven-core/src/main/java/org/apache/maven/settings/SettingsUtils.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/settings/SettingsUtils.java b/maven-core/src/main/java/org/apache/maven/settings/SettingsUtils.java
index 8da696e..16ccdb6 100644
--- a/maven-core/src/main/java/org/apache/maven/settings/SettingsUtils.java
+++ b/maven-core/src/main/java/org/apache/maven/settings/SettingsUtils.java
@@ -139,7 +139,7 @@ public final class SettingsUtils
 
         profile.setId( settingsProfile.getId() );
 
-        profile.setSource( "settings.xml" );
+        profile.setSource( org.apache.maven.model.Profile.SOURCE_SETTINGS );
 
         Activation settingsActivation = settingsProfile.getActivation();
 

http://git-wip-us.apache.org/repos/asf/maven/blob/d6d6c8d6/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
index 8d38ab0..27f86d8 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
@@ -19,6 +19,28 @@ package org.apache.maven.cli;
  * under the License.
  */
 
+import java.io.BufferedInputStream;
+import java.io.Console;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.StringTokenizer;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
 import com.google.common.base.Charsets;
 import com.google.common.io.Files;
 import com.google.inject.AbstractModule;
@@ -28,6 +50,8 @@ import org.apache.commons.cli.UnrecognizedOptionException;
 import org.apache.maven.BuildAbort;
 import org.apache.maven.InternalErrorException;
 import org.apache.maven.Maven;
+import org.apache.maven.artifact.InvalidRepositoryException;
+import org.apache.maven.bridge.MavenRepositorySystem;
 import org.apache.maven.building.FileSource;
 import org.apache.maven.building.Problem;
 import org.apache.maven.building.Source;
@@ -58,7 +82,15 @@ import org.apache.maven.execution.MavenExecutionResult;
 import org.apache.maven.extension.internal.CoreExports;
 import org.apache.maven.extension.internal.CoreExtensionEntry;
 import org.apache.maven.lifecycle.LifecycleExecutionException;
+import org.apache.maven.model.Profile;
+import org.apache.maven.model.Repository;
+import org.apache.maven.model.building.DefaultModelProblem;
+import org.apache.maven.model.building.ModelProblem;
+import org.apache.maven.model.building.ModelProblemCollector;
+import org.apache.maven.model.building.ModelProblemCollectorRequest;
 import org.apache.maven.model.building.ModelProcessor;
+import org.apache.maven.model.profile.DefaultProfileActivationContext;
+import org.apache.maven.model.profile.ProfileSelector;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.properties.internal.EnvironmentUtils;
 import org.apache.maven.properties.internal.SystemProperties;
@@ -89,28 +121,6 @@ import org.sonatype.plexus.components.sec.dispatcher.SecDispatcher;
 import org.sonatype.plexus.components.sec.dispatcher.SecUtil;
 import org.sonatype.plexus.components.sec.dispatcher.model.SettingsSecurity;
 
-import java.io.BufferedInputStream;
-import java.io.Console;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Properties;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
 import static org.apache.maven.shared.utils.logging.MessageUtils.buffer;
 
 // TODO push all common bits back to plexus cli and prepare for transition to Guice. We don't need 50 ways to make CLIs
@@ -177,6 +187,8 @@ public class MavenCli
 
     private Map<String, ConfigurationProcessor> configurationProcessors;
 
+    private ProfileSelector profileSelector;
+
     public MavenCli()
     {
         this( null );
@@ -299,6 +311,7 @@ public class MavenCli
             populateRequest( cliRequest );
             encryption( cliRequest );
             repository( cliRequest );
+            profiles( cliRequest );
             return execute( cliRequest );
         }
         catch ( ExitException e )
@@ -642,6 +655,8 @@ public class MavenCli
 
         dispatcher = (DefaultSecDispatcher) container.lookup( SecDispatcher.class, "maven" );
 
+        profileSelector = container.lookup( ProfileSelector.class );
+
         return container;
     }
 
@@ -705,6 +720,10 @@ public class MavenCli
 
                 request = executionRequestPopulator.populateDefaults( request );
 
+                profileSelector = container.lookup( ProfileSelector.class );
+
+                profiles( request );
+
                 BootstrapCoreExtensionManager resolver = container.lookup( BootstrapCoreExtensionManager.class );
 
                 return resolver.loadCoreExtensions( request, providedArtifacts, extensions );
@@ -894,13 +913,104 @@ public class MavenCli
     private void repository( CliRequest cliRequest )
         throws Exception
     {
-        if ( cliRequest.commandLine.hasOption( CLIManager.LEGACY_LOCAL_REPOSITORY ) || Boolean.getBoolean(
-            "maven.legacyLocalRepo" ) )
+        if ( cliRequest.commandLine.hasOption( CLIManager.LEGACY_LOCAL_REPOSITORY )
+                 || Boolean.getBoolean( "maven.legacyLocalRepo" ) )
         {
             cliRequest.request.setUseLegacyLocalRepository( true );
         }
     }
 
+    private void profiles( final CliRequest request )
+    {
+        this.profiles( request.getRequest() );
+    }
+
+    private void profiles( final MavenExecutionRequest request )
+    {
+        // Adds repositories from profiles.
+        final DefaultProfileActivationContext profileActivationContext = new DefaultProfileActivationContext();
+        profileActivationContext.setActiveProfileIds( request.getActiveProfiles() );
+        profileActivationContext.setInactiveProfileIds( request.getInactiveProfiles() );
+        profileActivationContext.setSystemProperties( request.getSystemProperties() );
+        profileActivationContext.setUserProperties( request.getUserProperties() );
+        profileActivationContext.setProjectDirectory( request.getPom() != null
+                                                          ? request.getPom().getParentFile()
+                                                          : null );
+
+        final List<ModelProblem> modelProblems = new ArrayList<>();
+        final List<Profile> activeProfiles =
+            this.profileSelector.getActiveProfiles( request.getProfiles(), profileActivationContext,
+                                                    new ModelProblemCollector()
+                                                    {
+
+                                                        @Override
+                                                        public void add( final ModelProblemCollectorRequest req )
+                                                        {
+                                                            modelProblems.add( new DefaultModelProblem(
+                                                                    req.getMessage(), req.getSeverity(),
+                                                                    req.getVersion(), Profile.SOURCE_SETTINGS, -1, -1,
+                                                                    null, req.getException() ) );
+
+                                                        }
+
+                                                    } );
+
+        if ( !modelProblems.isEmpty() )
+        {
+            slf4jLogger.warn( "" );
+            slf4jLogger.warn( "Some problems were encountered while processing profiles" );
+
+            for ( final ModelProblem problem : modelProblems )
+            {
+                slf4jLogger.warn( problem.getMessage(), problem.getException() );
+            }
+
+            slf4jLogger.warn( "" );
+        }
+
+        if ( !activeProfiles.isEmpty() )
+        {
+            for ( final Profile profile : activeProfiles )
+            {
+                final List<Repository> remoteRepositories = profile.getRepositories();
+
+                for ( final Repository remoteRepository : remoteRepositories )
+                {
+                    try
+                    {
+                        request.addRemoteRepository(
+                            MavenRepositorySystem.buildArtifactRepository( remoteRepository ) );
+
+                    }
+                    catch ( final InvalidRepositoryException e )
+                    {
+                        slf4jLogger.warn( String.format( "Failure adding repository '%s' from profile '%s'.",
+                                                         remoteRepository.getId(), profile.getId() ), e );
+
+                    }
+                }
+
+                final List<Repository> pluginRepositories = profile.getPluginRepositories();
+
+                for ( final Repository pluginRepository : pluginRepositories )
+                {
+                    try
+                    {
+                        request.addPluginArtifactRepository(
+                            MavenRepositorySystem.buildArtifactRepository( pluginRepository ) );
+
+                    }
+                    catch ( InvalidRepositoryException e )
+                    {
+                        slf4jLogger.warn( String.format( "Failure adding plugin repository '%s' from profile '%s'.",
+                                                         pluginRepository.getId(), profile.getId() ), e );
+
+                    }
+                }
+            }
+        }
+    }
+
     private int execute( CliRequest cliRequest )
         throws MavenExecutionRequestPopulationException
     {

http://git-wip-us.apache.org/repos/asf/maven/blob/d6d6c8d6/maven-embedder/src/main/java/org/apache/maven/cli/configuration/SettingsXmlConfigurationProcessor.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/configuration/SettingsXmlConfigurationProcessor.java b/maven-embedder/src/main/java/org/apache/maven/cli/configuration/SettingsXmlConfigurationProcessor.java
index d9a6954..1008d4e 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/configuration/SettingsXmlConfigurationProcessor.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/configuration/SettingsXmlConfigurationProcessor.java
@@ -21,11 +21,8 @@ package org.apache.maven.cli.configuration;
 
 import java.io.File;
 import java.io.FileNotFoundException;
-import java.util.List;
 
 import org.apache.commons.cli.CommandLine;
-import org.apache.maven.artifact.InvalidRepositoryException;
-import org.apache.maven.bridge.MavenRepositorySystem;
 import org.apache.maven.building.Source;
 import org.apache.maven.cli.CLIManager;
 import org.apache.maven.cli.CliRequest;
@@ -33,7 +30,6 @@ import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.execution.MavenExecutionRequestPopulationException;
 import org.apache.maven.settings.Mirror;
 import org.apache.maven.settings.Proxy;
-import org.apache.maven.settings.Repository;
 import org.apache.maven.settings.Server;
 import org.apache.maven.settings.Settings;
 import org.apache.maven.settings.SettingsUtils;
@@ -42,7 +38,6 @@ import org.apache.maven.settings.building.SettingsBuilder;
 import org.apache.maven.settings.building.SettingsBuildingRequest;
 import org.apache.maven.settings.building.SettingsBuildingResult;
 import org.apache.maven.settings.building.SettingsProblem;
-import org.apache.maven.settings.crypto.SettingsDecrypter;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
 import org.slf4j.Logger;
@@ -51,6 +46,7 @@ import org.slf4j.Logger;
 public class SettingsXmlConfigurationProcessor
     implements ConfigurationProcessor
 {
+
     public static final String HINT = "settings";
 
     public static final String USER_HOME = System.getProperty( "user.home" );
@@ -68,9 +64,6 @@ public class SettingsXmlConfigurationProcessor
     @Requirement
     private SettingsBuilder settingsBuilder;
 
-    @Requirement
-    private SettingsDecrypter settingsDecrypter;
-
     @Override
     public void process( CliRequest cliRequest )
         throws Exception
@@ -88,8 +81,9 @@ public class SettingsXmlConfigurationProcessor
 
             if ( !userSettingsFile.isFile() )
             {
-                throw new FileNotFoundException( "The specified user settings file does not exist: "
-                    + userSettingsFile );
+                throw new FileNotFoundException( String.format( "The specified user settings file does not exist: %s",
+                                                                userSettingsFile ) );
+
             }
         }
         else
@@ -106,8 +100,9 @@ public class SettingsXmlConfigurationProcessor
 
             if ( !globalSettingsFile.isFile() )
             {
-                throw new FileNotFoundException( "The specified global settings file does not exist: "
-                    + globalSettingsFile );
+                throw new FileNotFoundException( String.format( "The specified global settings file does not exist: %s",
+                                                                globalSettingsFile ) );
+
             }
         }
         else
@@ -129,10 +124,13 @@ public class SettingsXmlConfigurationProcessor
             request.getEventSpyDispatcher().onEvent( settingsRequest );
         }
 
-        logger.debug( "Reading global settings from "
-            + getLocation( settingsRequest.getGlobalSettingsSource(), settingsRequest.getGlobalSettingsFile() ) );
-        logger.debug( "Reading user settings from "
-            + getLocation( settingsRequest.getUserSettingsSource(), settingsRequest.getUserSettingsFile() ) );
+        logger.debug( String.format( "Reading global settings from %s",
+                                     getLocation( settingsRequest.getGlobalSettingsSource(),
+                                                  settingsRequest.getGlobalSettingsFile() ) ) );
+
+        logger.debug( String.format( "Reading user settings from %s",
+                                     getLocation( settingsRequest.getUserSettingsSource(),
+                                                  settingsRequest.getUserSettingsFile() ) ) );
 
         SettingsBuildingResult settingsResult = settingsBuilder.build( settingsRequest );
 
@@ -218,43 +216,13 @@ public class SettingsXmlConfigurationProcessor
             request.addMirror( mirror );
         }
 
-        request.setActiveProfiles( settings.getActiveProfiles() );
+        request.addActiveProfiles( settings.getActiveProfiles() );
 
         for ( org.apache.maven.settings.Profile rawProfile : settings.getProfiles() )
         {
             request.addProfile( SettingsUtils.convertFromSettingsProfile( rawProfile ) );
-
-            if ( settings.getActiveProfiles().contains( rawProfile.getId() ) )
-            {
-                List<Repository> remoteRepositories = rawProfile.getRepositories();
-                for ( Repository remoteRepository : remoteRepositories )
-                {
-                    try
-                    {
-                        request.addRemoteRepository( 
-                            MavenRepositorySystem.buildArtifactRepository( remoteRepository ) );
-                    }
-                    catch ( InvalidRepositoryException e )
-                    {
-                        // do nothing for now
-                    }
-                }
-                
-                List<Repository> pluginRepositories = rawProfile.getPluginRepositories();
-                for ( Repository pluginRepository : pluginRepositories )
-                {
-                    try
-                    {
-                        request.addPluginArtifactRepository( 
-                            MavenRepositorySystem.buildArtifactRepository( pluginRepository ) );
-                    }
-                    catch ( InvalidRepositoryException e )
-                    {
-                        // do nothing for now
-                    }
-                }                
-            }
         }
+
         return request;
     }
 
@@ -287,4 +255,5 @@ public class SettingsXmlConfigurationProcessor
             return new File( workingDirectory, file.getPath() ).getAbsoluteFile();
         }
     }
+
 }


[21/46] maven git commit: [MNG-5967] Dependency updates

Posted by sc...@apache.org.
[MNG-5967] Dependency updates


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/37fef3d7
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/37fef3d7
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/37fef3d7

Branch: refs/heads/MNG-5984
Commit: 37fef3d762c8068b876b07b84b83a39cdc3ac5f4
Parents: 8d91726
Author: Christian Schulte <sc...@apache.org>
Authored: Mon Jan 25 03:48:14 2016 +0100
Committer: Michael Osipov <mi...@apache.org>
Committed: Sat Feb 11 16:36:46 2017 +0100

----------------------------------------------------------------------
 maven-core/pom.xml              |  1 -
 maven-model-builder/pom.xml     |  2 +-
 maven-resolver-provider/pom.xml |  1 -
 pom.xml                         | 25 +++++++++++++++----------
 4 files changed, 16 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/37fef3d7/maven-core/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/pom.xml b/maven-core/pom.xml
index 95162bd..0e20235 100644
--- a/maven-core/pom.xml
+++ b/maven-core/pom.xml
@@ -134,7 +134,6 @@ under the License.
     <dependency>
       <groupId>org.mockito</groupId>
       <artifactId>mockito-core</artifactId>
-      <version>1.9.5</version>
       <scope>test</scope>
     </dependency>
   </dependencies>

http://git-wip-us.apache.org/repos/asf/maven/blob/37fef3d7/maven-model-builder/pom.xml
----------------------------------------------------------------------
diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml
index fbfd417..0dd08ac 100644
--- a/maven-model-builder/pom.xml
+++ b/maven-model-builder/pom.xml
@@ -80,7 +80,7 @@ under the License.
     <dependency>
       <groupId>xmlunit</groupId>
       <artifactId>xmlunit</artifactId>
-      <version>1.3</version>
+      <version>1.6</version>
       <scope>test</scope>
     </dependency>
   </dependencies>

http://git-wip-us.apache.org/repos/asf/maven/blob/37fef3d7/maven-resolver-provider/pom.xml
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/pom.xml b/maven-resolver-provider/pom.xml
index 7d71e33..e95cc41 100644
--- a/maven-resolver-provider/pom.xml
+++ b/maven-resolver-provider/pom.xml
@@ -110,7 +110,6 @@ under the License.
     <dependency>
       <groupId>org.mockito</groupId>
       <artifactId>mockito-core</artifactId>
-      <version>1.9.5</version>
       <scope>test</scope>
     </dependency>
   </dependencies>

http://git-wip-us.apache.org/repos/asf/maven/blob/37fef3d7/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 83b7b18..d4d371b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -50,23 +50,23 @@ under the License.
     <maven.compiler.source>1.7</maven.compiler.source>
     <maven.compiler.target>1.7</maven.compiler.target>
     <classWorldsVersion>2.5.2</classWorldsVersion>
-    <commonsCliVersion>1.2</commonsCliVersion>
-    <commonsLangVersion>3.4</commonsLangVersion>
-    <junitVersion>4.11</junitVersion>
+    <commonsCliVersion>1.3.1</commonsCliVersion>
+    <commonsLangVersion>3.5</commonsLangVersion>
+    <junitVersion>4.12</junitVersion>
+    <mockitoVersion>1.10.19</mockitoVersion>
     <plexusVersion>1.7.1</plexusVersion>
-    <plexusInterpolationVersion>1.21</plexusInterpolationVersion>
-    <plexusUtilsVersion>3.0.22</plexusUtilsVersion>
-    <!-- Latest version of Guava that works with Sisu -->
-    <guavaVersion>18.0</guavaVersion>
+    <plexusInterpolationVersion>1.24</plexusInterpolationVersion>
+    <plexusUtilsVersion>3.0.24</plexusUtilsVersion>
+    <guavaVersion>20.0</guavaVersion>
     <guiceVersion>4.0</guiceVersion>
     <sisuInjectVersion>0.3.3</sisuInjectVersion>
     <wagonVersion>2.12</wagonVersion>
-    <securityDispatcherVersion>1.3</securityDispatcherVersion>
+    <securityDispatcherVersion>1.4</securityDispatcherVersion>
     <cipherVersion>1.7</cipherVersion>
     <modelloVersion>1.8.3</modelloVersion>
     <jxpathVersion>1.3</jxpathVersion>
     <resolverVersion>1.0.3</resolverVersion>
-    <slf4jVersion>1.7.5</slf4jVersion>
+    <slf4jVersion>1.7.22</slf4jVersion>
     <maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile>
     <!-- Control the name of the distribution and information output by mvn -->
     <distributionId>apache-maven</distributionId>
@@ -300,7 +300,7 @@ under the License.
       <dependency>
         <groupId>ch.qos.logback</groupId>
         <artifactId>logback-classic</artifactId>
-        <version>1.0.7</version>
+        <version>1.2.1</version>
         <optional>true</optional>
       </dependency>
       <!--  Wagon -->
@@ -393,6 +393,11 @@ under the License.
         <artifactId>plexus-cipher</artifactId>
         <version>${cipherVersion}</version>
       </dependency>
+      <dependency>
+        <groupId>org.mockito</groupId>
+        <artifactId>mockito-core</artifactId>
+        <version>${mockitoVersion}</version>
+      </dependency>
     </dependencies>
     <!--bootstrap-start-comment-->
   </dependencyManagement>


[37/46] maven git commit: [maven-release-plugin] prepare for next development iteration

Posted by sc...@apache.org.
[maven-release-plugin] prepare for next development iteration


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/e6528827
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/e6528827
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/e6528827

Branch: refs/heads/MNG-5984
Commit: e6528827571b0ebe06675ef47c8157d1522116a5
Parents: 8e6bbc4
Author: Stephen Connolly <st...@gmail.com>
Authored: Thu Feb 23 14:56:31 2017 +0000
Committer: Stephen Connolly <st...@gmail.com>
Committed: Thu Feb 23 14:56:31 2017 +0000

----------------------------------------------------------------------
 apache-maven/pom.xml              | 2 +-
 maven-artifact/pom.xml            | 2 +-
 maven-builder-support/pom.xml     | 2 +-
 maven-compat/pom.xml              | 2 +-
 maven-core/pom.xml                | 2 +-
 maven-embedder/pom.xml            | 2 +-
 maven-model-builder/pom.xml       | 2 +-
 maven-model/pom.xml               | 2 +-
 maven-plugin-api/pom.xml          | 2 +-
 maven-repository-metadata/pom.xml | 2 +-
 maven-resolver-provider/pom.xml   | 2 +-
 maven-settings-builder/pom.xml    | 2 +-
 maven-settings/pom.xml            | 2 +-
 maven-slf4j-provider/pom.xml      | 2 +-
 pom.xml                           | 4 ++--
 15 files changed, 16 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/e6528827/apache-maven/pom.xml
----------------------------------------------------------------------
diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml
index bf746fe..6fc5a73 100644
--- a/apache-maven/pom.xml
+++ b/apache-maven/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-alpha-1</version>
+    <version>3.5.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>apache-maven</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/e6528827/maven-artifact/pom.xml
----------------------------------------------------------------------
diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml
index d52f636..e3943c9 100644
--- a/maven-artifact/pom.xml
+++ b/maven-artifact/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-alpha-1</version>
+    <version>3.5.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-artifact</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/e6528827/maven-builder-support/pom.xml
----------------------------------------------------------------------
diff --git a/maven-builder-support/pom.xml b/maven-builder-support/pom.xml
index 1522718..39eb161 100644
--- a/maven-builder-support/pom.xml
+++ b/maven-builder-support/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-alpha-1</version>
+    <version>3.5.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-builder-support</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/e6528827/maven-compat/pom.xml
----------------------------------------------------------------------
diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml
index 3424480..2b205f7 100644
--- a/maven-compat/pom.xml
+++ b/maven-compat/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-alpha-1</version>
+    <version>3.5.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-compat</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/e6528827/maven-core/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/pom.xml b/maven-core/pom.xml
index 7c67b62..0e20235 100644
--- a/maven-core/pom.xml
+++ b/maven-core/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-alpha-1</version>
+    <version>3.5.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-core</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/e6528827/maven-embedder/pom.xml
----------------------------------------------------------------------
diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml
index 268e313..30ad2ce 100644
--- a/maven-embedder/pom.xml
+++ b/maven-embedder/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-alpha-1</version>
+    <version>3.5.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-embedder</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/e6528827/maven-model-builder/pom.xml
----------------------------------------------------------------------
diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml
index 65943cc..0dd08ac 100644
--- a/maven-model-builder/pom.xml
+++ b/maven-model-builder/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-alpha-1</version>
+    <version>3.5.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-model-builder</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/e6528827/maven-model/pom.xml
----------------------------------------------------------------------
diff --git a/maven-model/pom.xml b/maven-model/pom.xml
index 1c636c7..41cf168 100644
--- a/maven-model/pom.xml
+++ b/maven-model/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-alpha-1</version>
+    <version>3.5.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-model</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/e6528827/maven-plugin-api/pom.xml
----------------------------------------------------------------------
diff --git a/maven-plugin-api/pom.xml b/maven-plugin-api/pom.xml
index 5d2ee53..d8f802d 100644
--- a/maven-plugin-api/pom.xml
+++ b/maven-plugin-api/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-alpha-1</version>
+    <version>3.5.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-plugin-api</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/e6528827/maven-repository-metadata/pom.xml
----------------------------------------------------------------------
diff --git a/maven-repository-metadata/pom.xml b/maven-repository-metadata/pom.xml
index 228ad35..7480de7 100644
--- a/maven-repository-metadata/pom.xml
+++ b/maven-repository-metadata/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-alpha-1</version>
+    <version>3.5.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-repository-metadata</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/e6528827/maven-resolver-provider/pom.xml
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/pom.xml b/maven-resolver-provider/pom.xml
index 8fc0625..e95cc41 100644
--- a/maven-resolver-provider/pom.xml
+++ b/maven-resolver-provider/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-alpha-1</version>
+    <version>3.5.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-resolver-provider</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/e6528827/maven-settings-builder/pom.xml
----------------------------------------------------------------------
diff --git a/maven-settings-builder/pom.xml b/maven-settings-builder/pom.xml
index de588e4..2d415c9 100644
--- a/maven-settings-builder/pom.xml
+++ b/maven-settings-builder/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-alpha-1</version>
+    <version>3.5.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-settings-builder</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/e6528827/maven-settings/pom.xml
----------------------------------------------------------------------
diff --git a/maven-settings/pom.xml b/maven-settings/pom.xml
index 6bf507f..133ee32 100644
--- a/maven-settings/pom.xml
+++ b/maven-settings/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-alpha-1</version>
+    <version>3.5.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-settings</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/e6528827/maven-slf4j-provider/pom.xml
----------------------------------------------------------------------
diff --git a/maven-slf4j-provider/pom.xml b/maven-slf4j-provider/pom.xml
index e6f4a4a..81af382 100644
--- a/maven-slf4j-provider/pom.xml
+++ b/maven-slf4j-provider/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven</artifactId>
-    <version>3.5.0-alpha-1</version>
+    <version>3.5.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-slf4j-provider</artifactId>

http://git-wip-us.apache.org/repos/asf/maven/blob/e6528827/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 9db0689..a085ffa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,7 +30,7 @@ under the License.
   </parent>
 
   <artifactId>maven</artifactId>
-  <version>3.5.0-alpha-1</version>
+  <version>3.5.0-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <name>Apache Maven</name>
@@ -98,7 +98,7 @@ under the License.
     <connection>scm:git:https://git-wip-us.apache.org/repos/asf/maven.git</connection>
     <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/maven.git</developerConnection>
     <url>https://github.com/apache/maven/tree/${project.scm.tag}</url>
-    <tag>maven-3.5.0-alpha-1</tag>
+    <tag>master</tag>
   </scm>
   <issueManagement>
     <system>jira</system>