You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2013/03/18 22:47:27 UTC

[42/50] git commit: Merge branch 'aether' of github.com:bentmann/maven-3 into eclipse-aether

Merge branch 'aether' of github.com:bentmann/maven-3 into eclipse-aether

Conflicts:
	.gitignore
	apache-maven/pom.xml
	maven-aether-provider/pom.xml
	maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
	maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
	maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java
	maven-aether-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadataGenerator.java
	maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemSession.java
	maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenServiceLocator.java
	maven-aether-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataGenerator.java
	maven-artifact/pom.xml
	maven-compat/pom.xml
	maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
	maven-compat/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java
	maven-core/pom.xml
	maven-core/src/main/java/org/apache/maven/DefaultMaven.java
	maven-core/src/main/java/org/apache/maven/ReactorReader.java
	maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRealmCache.java
	maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java
	maven-core/src/main/resources/META-INF/plexus/artifact-handlers.xml
	maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
	maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
	maven-core/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java
	maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
	maven-core/src/test/java/org/apache/maven/repository/TestRepositoryConnector.java
	maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
	maven-embedder/pom.xml
	maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
	maven-model-builder/pom.xml
	maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
	maven-model/pom.xml
	maven-plugin-api/pom.xml
	maven-plugin-api/src/main/mdo/plugin.mdo
	maven-plugin-api/src/site/apt/index.apt
	maven-repository-metadata/pom.xml
	maven-settings-builder/pom.xml
	maven-settings/pom.xml
	pom.xml
	src/site/site.xml


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

Branch: refs/heads/master
Commit: 27ad9858d215e40ab4853428c144554ae1bbb981
Parents: 39d063a 4fdcdbd
Author: Jason van Zyl <ja...@tesla.io>
Authored: Thu Feb 14 20:21:50 2013 -0500
Committer: Jason van Zyl <ja...@tesla.io>
Committed: Thu Feb 14 20:21:50 2013 -0500

----------------------------------------------------------------------
 .gitignore                                         |    3 +
 apache-maven/pom.xml                               |    2 +-
 maven-aether-provider/pom.xml                      |   23 ++-
 .../internal/ArtifactDescriptorUtils.java          |   18 +-
 .../internal/DefaultArtifactDescriptorReader.java  |  158 +++++++----
 .../repository/internal/DefaultModelCache.java     |    4 +-
 .../repository/internal/DefaultModelResolver.java  |   20 +-
 .../repository/internal/DefaultServiceLocator.java |   52 ----
 .../internal/DefaultVersionRangeResolver.java      |  104 +++++---
 .../internal/DefaultVersionResolver.java           |  105 +++++---
 .../repository/internal/LocalSnapshotMetadata.java |    2 +-
 .../internal/LocalSnapshotMetadataGenerator.java   |   12 +-
 .../repository/internal/MavenAetherModule.java     |   55 ++++
 .../maven/repository/internal/MavenMetadata.java   |   31 +--
 .../internal/MavenRepositorySystemSession.java     |  119 --------
 .../internal/MavenRepositorySystemUtils.java       |  136 +++++++++
 .../repository/internal/MavenServiceLocator.java   |   54 ----
 .../repository/internal/RelocatedArtifact.java     |   14 +-
 .../internal/RemoteSnapshotMetadata.java           |    2 +-
 .../internal/RemoteSnapshotMetadataGenerator.java  |   12 +-
 .../internal/SnapshotMetadataGeneratorFactory.java |   12 +-
 .../repository/internal/VersionsMetadata.java      |    4 +-
 .../internal/VersionsMetadataGenerator.java        |   12 +-
 .../internal/VersionsMetadataGeneratorFactory.java |   12 +-
 .../internal/AbstractRepositoryTestCase.java       |   76 -----
 .../internal/DefaultServiceLocatorTest.java        |   45 ---
 .../internal/DefaultVersionResolverTest.java       |   96 -------
 .../internal/MavenRepositorySystemUtilsTest.java   |   45 +++
 .../repository/internal/RepositorySystemTest.java  |  220 ---------------
 .../internal/util/ConsoleRepositoryListener.java   |  132 ---------
 .../internal/util/ConsoleTransferListener.java     |  186 ------------
 maven-compat/pom.xml                               |    2 +-
 .../artifact/deployer/DefaultArtifactDeployer.java |   30 +-
 .../installer/DefaultArtifactInstaller.java        |   18 +-
 .../DefaultArtifactRepositoryFactory.java          |    2 +-
 .../repository/metadata/MetadataBridge.java        |   20 ++-
 .../artifact/resolver/DefaultArtifactResolver.java |   14 +-
 .../org/apache/maven/project/ProjectUtils.java     |    2 +-
 .../repository/legacy/LegacyRepositorySystem.java  |   38 ++-
 .../AbstractArtifactComponentTestCase.java         |   63 +++--
 .../project/AbstractMavenProjectTestCase.java      |   15 +-
 .../maven/project/ClasspathArtifactResolver.java   |   14 +-
 .../project/LegacyLocalRepositoryManager.java      |  147 +++++++++-
 .../apache/maven/project/ProjectClasspathTest.java |    4 +-
 .../repository/LegacyRepositorySystemTest.java     |   18 +-
 .../legacy/LegacyRepositorySystemTest.java         |    8 +
 .../artifact/resolver/ArtifactResolverTest.xml     |    2 +-
 maven-core/pom.xml                                 |    6 +-
 .../main/java/org/apache/maven/DefaultMaven.java   |   97 +++++--
 .../apache/maven/LoggingRepositoryListener.java    |    6 +-
 .../main/java/org/apache/maven/ReactorReader.java  |   12 +-
 .../java/org/apache/maven/RepositoryUtils.java     |   54 ++--
 .../repository/LegacyLocalRepositoryManager.java   |   38 +--
 .../classrealm/ArtifactClassRealmConstituent.java  |    2 +-
 .../apache/maven/classrealm/ClassRealmManager.java |    2 +-
 .../maven/classrealm/DefaultClassRealmManager.java |   28 +-
 .../java/org/apache/maven/eventspy/EventSpy.java   |    2 +-
 .../eventspy/internal/EventSpyDispatcher.java      |    2 +-
 .../internal/EventSpyRepositoryListener.java       |    6 +-
 .../execution/DefaultMavenExecutionRequest.java    |    8 +-
 .../maven/execution/MavenExecutionRequest.java     |    6 +-
 .../org/apache/maven/execution/MavenSession.java   |    2 +-
 .../internal/LifecycleDependencyResolver.java      |   14 +-
 .../apache/maven/plugin/BuildPluginManager.java    |    4 +-
 .../java/org/apache/maven/plugin/CacheUtils.java   |   10 +-
 .../maven/plugin/DefaultBuildPluginManager.java    |    4 +-
 .../maven/plugin/DefaultExtensionRealmCache.java   |    2 +-
 .../maven/plugin/DefaultPluginArtifactsCache.java  |   12 +-
 .../maven/plugin/DefaultPluginDescriptorCache.java |    8 +-
 .../maven/plugin/DefaultPluginRealmCache.java      |   10 +-
 .../apache/maven/plugin/ExtensionRealmCache.java   |    2 +-
 .../org/apache/maven/plugin/LegacySupport.java     |    2 +-
 .../apache/maven/plugin/MavenPluginManager.java    |    6 +-
 .../apache/maven/plugin/PluginArtifactsCache.java  |    8 +-
 .../apache/maven/plugin/PluginDescriptorCache.java |    4 +-
 .../org/apache/maven/plugin/PluginRealmCache.java  |    6 +-
 .../plugin/internal/DefaultLegacySupport.java      |    2 +-
 .../plugin/internal/DefaultMavenPluginManager.java |   16 +-
 .../DefaultPluginDependenciesResolver.java         |   91 +++----
 .../maven/plugin/internal/PlexusUtilsInjector.java |   18 +-
 .../internal/PluginDependenciesResolver.java       |   10 +-
 .../maven/plugin/internal/WagonExcluder.java       |    8 +-
 .../plugin/prefix/DefaultPluginPrefixRequest.java  |    4 +-
 .../prefix/NoPluginFoundForPrefixException.java    |    4 +-
 .../maven/plugin/prefix/PluginPrefixRequest.java   |    4 +-
 .../maven/plugin/prefix/PluginPrefixResult.java    |    2 +-
 .../internal/DefaultPluginPrefixResolver.java      |   42 ++--
 .../prefix/internal/DefaultPluginPrefixResult.java |    2 +-
 .../version/DefaultPluginVersionRequest.java       |    4 +-
 .../maven/plugin/version/PluginVersionRequest.java |    4 +-
 .../version/PluginVersionResolutionException.java  |    4 +-
 .../maven/plugin/version/PluginVersionResult.java  |    2 +-
 .../internal/DefaultPluginVersionResolver.java     |   44 ++--
 .../internal/DefaultPluginVersionResult.java       |    2 +-
 .../DefaultDependencyResolutionRequest.java        |    4 +-
 .../project/DefaultDependencyResolutionResult.java |    4 +-
 .../maven/project/DefaultProjectBuilder.java       |   25 +-
 .../project/DefaultProjectBuildingHelper.java      |   12 +-
 .../project/DefaultProjectBuildingRequest.java     |    2 +-
 .../DefaultProjectDependenciesResolver.java        |   71 +++--
 .../maven/project/DefaultProjectRealmCache.java    |    2 +-
 .../maven/project/DependencyResolutionRequest.java |    4 +-
 .../maven/project/DependencyResolutionResult.java  |    4 +-
 .../org/apache/maven/project/MavenProject.java     |    4 +-
 .../maven/project/ProjectBuildingRequest.java      |    2 +-
 .../apache/maven/project/ProjectModelResolver.java |   18 +-
 .../apache/maven/project/ProjectRealmCache.java    |    2 +-
 .../project/artifact/MavenMetadataSource.java      |   10 +-
 .../apache/maven/repository/RepositorySystem.java  |    2 +-
 .../rtinfo/internal/DefaultRuntimeInformation.java |   12 +-
 .../maven/AbstractCoreMavenComponentTestCase.java  |   17 +-
 .../internal/stub/BuildPluginManagerStub.java      |    4 +-
 .../internal/stub/PluginPrefixResolverStub.java    |    2 +-
 .../internal/stub/PluginVersionResolverStub.java   |    2 +-
 .../stub/ProjectDependenciesResolverStub.java      |    6 +-
 .../project/AbstractMavenProjectTestCase.java      |   15 +-
 .../project/LegacyLocalRepositoryManager.java      |  147 +++++++++-
 .../apache/maven/project/PomConstructionTest.java  |   28 ++-
 .../maven/repository/TestRepositoryConnector.java  |   18 +-
 .../repository/TestRepositoryConnectorFactory.java |   12 +-
 .../maven/repository/TestRepositorySystem.java     |    2 +-
 .../settings/PomConstructionWithSettingsTest.java  |   22 +-
 .../main/java/org/apache/maven/cli/MavenCli.java   |    3 +-
 .../transfer/AbstractMavenTransferListener.java    |    8 +-
 .../cli/transfer/ConsoleMavenTransferListener.java |    6 +-
 .../cli/transfer/QuietMavenTransferListener.java   |    2 +-
 .../cli/transfer/Slf4jMavenTransferListener.java   |    8 +-
 maven-plugin-api/pom.xml                           |   10 +
 maven-plugin-api/src/site/apt/index.apt            |   15 +
 pom.xml                                            |   30 +-
 src/site/site.xml                                  |    4 +
 131 files changed, 1548 insertions(+), 1780 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/.gitignore
----------------------------------------------------------------------
diff --cc .gitignore
index adc6c00,94d217b..e52bf75
--- a/.gitignore
+++ b/.gitignore
@@@ -7,6 -7,5 +7,9 @@@ bin
  # Intellij
  *.ipr
  *.iml
++<<<<<<< HEAD
 +.idea
++=======
++>>>>>>> 4fdcdbd26244ff81e242054fd38cf415d92499be
  
  .DS_Store

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/apache-maven/pom.xml
----------------------------------------------------------------------
diff --cc apache-maven/pom.xml
index ce547e7,bc63839..6a797a3
--- a/apache-maven/pom.xml
+++ b/apache-maven/pom.xml
@@@ -80,13 -80,9 +80,13 @@@
        <artifactId>wagon-file</artifactId>
      </dependency>
      <dependency>
-       <groupId>org.sonatype.aether</groupId>
+       <groupId>org.eclipse.aether</groupId>
        <artifactId>aether-connector-wagon</artifactId>
      </dependency>
 +    <dependency>
 +      <groupId>org.slf4j</groupId>
 +      <artifactId>slf4j-simple</artifactId>
 +    </dependency>
    </dependencies>
  
    <build>

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-aether-provider/pom.xml
----------------------------------------------------------------------
diff --cc maven-aether-provider/pom.xml
index 6c61177,4e2e01c..231b5dc
--- a/maven-aether-provider/pom.xml
+++ b/maven-aether-provider/pom.xml
@@@ -66,20 -66,6 +66,20 @@@ under the License
        <artifactId>aether-impl</artifactId>
      </dependency>
      <dependency>
-       <groupId>org.sonatype.aether</groupId>
++      <groupId>org.eclipse.aether</groupId>
 +      <artifactId>aether-connector-wagon</artifactId>
 +      <scope>test</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.maven.wagon</groupId>
 +      <artifactId>wagon-file</artifactId>
 +      <scope>test</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.sonatype.sisu</groupId>
 +      <artifactId>sisu-inject-plexus</artifactId>
 +    </dependency>
 +    <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-component-annotations</artifactId>
      </dependency>

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-compat/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-compat/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java
----------------------------------------------------------------------
diff --cc maven-compat/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java
index daab6c4,35bbc2c..52fdd80
--- 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,17 -73,121 +73,120 @@@ public class LegacyLocalRepositoryManag
          return path.toString();
      }
  
+     public String getPathForRemoteArtifact( Artifact artifact, RemoteRepository repository, String context )
+     {
+         return getPathForLocalArtifact( artifact );
+     }
+ 
+     public String getPathForLocalMetadata( Metadata metadata )
+     {
+         return getPath( metadata, "local" );
+     }
+ 
+     public String getPathForRemoteMetadata( Metadata metadata, RemoteRepository repository, String context )
+     {
+         return getPath( metadata, getRepositoryKey( repository, context ) );
+     }
+ 
+     String getRepositoryKey( RemoteRepository repository, String context )
+     {
+         return repository.getId();
+     }
+ 
+     private String getPath( Metadata metadata, String repositoryKey )
+     {
+         StringBuilder path = new StringBuilder( 128 );
+ 
+         if ( metadata.getGroupId().length() > 0 )
+         {
+             path.append( metadata.getGroupId().replace( '.', '/' ) ).append( '/' );
+ 
+             if ( metadata.getArtifactId().length() > 0 )
+             {
+                 path.append( metadata.getArtifactId() ).append( '/' );
+ 
+                 if ( metadata.getVersion().length() > 0 )
+                 {
+                     path.append( metadata.getVersion() ).append( '/' );
+                 }
+             }
+         }
+ 
+         path.append( insertRepositoryKey( metadata.getType(), repositoryKey ) );
+ 
+         return path.toString();
+     }
+ 
+     private String insertRepositoryKey( String filename, String repositoryKey )
+     {
+         String result;
+         int idx = filename.indexOf( '.' );
+         if ( idx < 0 )
+         {
+             result = filename + '-' + repositoryKey;
+         }
+         else
+         {
+             result = filename.substring( 0, idx ) + '-' + repositoryKey + filename.substring( idx );
+         }
+         return result;
+     }
+ 
      public LocalArtifactResult find( RepositorySystemSession session, LocalArtifactRequest request )
      {
-  	    String path = getPathForLocalArtifact( request.getArtifact() );
-  	    File file = new File( getRepository().getBasedir(), path );
+         String path = getPathForLocalArtifact( request.getArtifact() );
+         File file = new File( getRepository().getBasedir(), path );
+ 
          LocalArtifactResult result = new LocalArtifactResult( request );
-  	    if ( file.isFile() )
+         if ( file.isFile() )
+         {
+             result.setFile( file );
+             result.setAvailable( true );
+         }
+ 
+         return result;
+     }
+ 
+     public void add( RepositorySystemSession session, LocalArtifactRegistration request )
+     {
+         // noop
+     }
+ 
+     public LocalMetadataResult find( RepositorySystemSession session, LocalMetadataRequest request )
+     {
+         LocalMetadataResult result = new LocalMetadataResult( request );
+ 
+         String path;
+ 
+         Metadata metadata = request.getMetadata();
+         String context = request.getContext();
+         RemoteRepository remote = request.getRepository();
+ 
+         if ( remote != null )
+         {
+             path = getPathForRemoteMetadata( metadata, remote, context );
+         }
+         else
          {
-  	        result.setFile( file );
-  	        result.setAvailable( true );
-  	    }
-  	    return result;
-  	}
+             path = getPathForLocalMetadata( metadata );
+         }
+ 
+         File file = new File( getRepository().getBasedir(), path );
+         if ( file.isFile() )
+         {
+             result.setFile( file );
+         }
  
+         return result;
+     }
+ 
+     public void add( RepositorySystemSession session, LocalMetadataRegistration request )
+     {
+         // noop
+     }
+ 
+     public String toString()
+     {
+         return String.valueOf( getRepository() );
+     }
 -
  }

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-core/pom.xml
----------------------------------------------------------------------
diff --cc maven-core/pom.xml
index 41e2079,de444d9..346e37e
--- a/maven-core/pom.xml
+++ b/maven-core/pom.xml
@@@ -59,16 -59,19 +59,16 @@@
        <artifactId>maven-aether-provider</artifactId>
      </dependency>
      <dependency>
-       <groupId>org.sonatype.aether</groupId>
+       <groupId>org.eclipse.aether</groupId>
        <artifactId>aether-impl</artifactId>
 -      <version>${aetherVersion}</version>
      </dependency>
      <dependency>
-       <groupId>org.sonatype.aether</groupId>
+       <groupId>org.eclipse.aether</groupId>
        <artifactId>aether-api</artifactId>
 -      <version>${aetherVersion}</version>
      </dependency>
      <dependency>
-       <groupId>org.sonatype.aether</groupId>
+       <groupId>org.eclipse.aether</groupId>
        <artifactId>aether-util</artifactId>
 -      <version>${aetherVersion}</version>
      </dependency>
      <!-- Plexus -->
      <dependency>

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolver.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRealmCache.java
----------------------------------------------------------------------
diff --cc maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRealmCache.java
index c821ae9,8438ba6..e459cbc
--- a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRealmCache.java
+++ b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRealmCache.java
@@@ -29,14 -29,12 +29,14 @@@ import org.apache.maven.artifact.Artifa
  import org.apache.maven.model.Plugin;
  import org.apache.maven.project.MavenProject;
  import org.codehaus.plexus.classworlds.realm.ClassRealm;
 +import org.codehaus.plexus.classworlds.realm.NoSuchRealmException;
  import org.codehaus.plexus.component.annotations.Component;
 +import org.codehaus.plexus.personality.plexus.lifecycle.phase.Disposable;
- import org.sonatype.aether.RepositorySystemSession;
- import org.sonatype.aether.graph.DependencyFilter;
- import org.sonatype.aether.repository.LocalRepository;
- import org.sonatype.aether.repository.RemoteRepository;
- import org.sonatype.aether.repository.WorkspaceRepository;
+ import org.eclipse.aether.RepositorySystemSession;
+ import org.eclipse.aether.graph.DependencyFilter;
+ import org.eclipse.aether.repository.LocalRepository;
+ import org.eclipse.aether.repository.RemoteRepository;
+ import org.eclipse.aether.repository.WorkspaceRepository;
  
  /**
   * Default PluginCache implementation. Assumes cached data does not change.

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
----------------------------------------------------------------------
diff --cc maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
index 4e4db80,07bf354..3a26f9d
--- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
+++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
@@@ -270,10 -269,10 +269,10 @@@ public class DefaultProjectBuilde
      public ProjectBuildingResult build( Artifact artifact, boolean allowStubModel, ProjectBuildingRequest request )
          throws ProjectBuildingException
      {
-         org.sonatype.aether.artifact.Artifact pomArtifact = RepositoryUtils.toArtifact( artifact );
+         org.eclipse.aether.artifact.Artifact pomArtifact = RepositoryUtils.toArtifact( artifact );
          pomArtifact = ArtifactDescriptorUtils.toPomArtifact( pomArtifact );
  
 -        InternalConfig config = new InternalConfig( request, null, null );
 +        InternalConfig config = new InternalConfig( request, null );
  
          boolean localProject;
  

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-core/src/main/java/org/apache/maven/project/DependencyResolutionRequest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
----------------------------------------------------------------------
diff --cc maven-core/src/main/java/org/apache/maven/project/MavenProject.java
index 5090c3e,397b5de..f4ec8a4
--- a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
+++ b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
@@@ -56,25 -72,9 +56,25 @@@ import org.codehaus.plexus.classworlds.
  import org.codehaus.plexus.logging.Logger;
  import org.codehaus.plexus.util.StringUtils;
  import org.codehaus.plexus.util.xml.Xpp3Dom;
- import org.sonatype.aether.graph.DependencyFilter;
- import org.sonatype.aether.repository.RemoteRepository;
+ import org.eclipse.aether.graph.DependencyFilter;
+ import org.eclipse.aether.repository.RemoteRepository;
  
 +import java.io.File;
 +import java.io.IOException;
 +import java.io.Writer;
 +import java.util.ArrayList;
 +import java.util.Arrays;
 +import java.util.Collections;
 +import java.util.HashMap;
 +import java.util.HashSet;
 +import java.util.Iterator;
 +import java.util.LinkedHashMap;
 +import java.util.LinkedHashSet;
 +import java.util.List;
 +import java.util.Map;
 +import java.util.Properties;
 +import java.util.Set;
 +
  /**
   * The concern of the project is provide runtime values based on the model.
   * <p/>

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-core/src/main/java/org/apache/maven/repository/RepositorySystem.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-core/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java
----------------------------------------------------------------------
diff --cc maven-core/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java
index daab6c4,35bbc2c..52fdd80
--- 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,17 -73,121 +73,120 @@@ public class LegacyLocalRepositoryManag
          return path.toString();
      }
  
+     public String getPathForRemoteArtifact( Artifact artifact, RemoteRepository repository, String context )
+     {
+         return getPathForLocalArtifact( artifact );
+     }
+ 
+     public String getPathForLocalMetadata( Metadata metadata )
+     {
+         return getPath( metadata, "local" );
+     }
+ 
+     public String getPathForRemoteMetadata( Metadata metadata, RemoteRepository repository, String context )
+     {
+         return getPath( metadata, getRepositoryKey( repository, context ) );
+     }
+ 
+     String getRepositoryKey( RemoteRepository repository, String context )
+     {
+         return repository.getId();
+     }
+ 
+     private String getPath( Metadata metadata, String repositoryKey )
+     {
+         StringBuilder path = new StringBuilder( 128 );
+ 
+         if ( metadata.getGroupId().length() > 0 )
+         {
+             path.append( metadata.getGroupId().replace( '.', '/' ) ).append( '/' );
+ 
+             if ( metadata.getArtifactId().length() > 0 )
+             {
+                 path.append( metadata.getArtifactId() ).append( '/' );
+ 
+                 if ( metadata.getVersion().length() > 0 )
+                 {
+                     path.append( metadata.getVersion() ).append( '/' );
+                 }
+             }
+         }
+ 
+         path.append( insertRepositoryKey( metadata.getType(), repositoryKey ) );
+ 
+         return path.toString();
+     }
+ 
+     private String insertRepositoryKey( String filename, String repositoryKey )
+     {
+         String result;
+         int idx = filename.indexOf( '.' );
+         if ( idx < 0 )
+         {
+             result = filename + '-' + repositoryKey;
+         }
+         else
+         {
+             result = filename.substring( 0, idx ) + '-' + repositoryKey + filename.substring( idx );
+         }
+         return result;
+     }
+ 
      public LocalArtifactResult find( RepositorySystemSession session, LocalArtifactRequest request )
      {
-  	    String path = getPathForLocalArtifact( request.getArtifact() );
-  	    File file = new File( getRepository().getBasedir(), path );
+         String path = getPathForLocalArtifact( request.getArtifact() );
+         File file = new File( getRepository().getBasedir(), path );
+ 
          LocalArtifactResult result = new LocalArtifactResult( request );
-  	    if ( file.isFile() )
+         if ( file.isFile() )
+         {
+             result.setFile( file );
+             result.setAvailable( true );
+         }
+ 
+         return result;
+     }
+ 
+     public void add( RepositorySystemSession session, LocalArtifactRegistration request )
+     {
+         // noop
+     }
+ 
+     public LocalMetadataResult find( RepositorySystemSession session, LocalMetadataRequest request )
+     {
+         LocalMetadataResult result = new LocalMetadataResult( request );
+ 
+         String path;
+ 
+         Metadata metadata = request.getMetadata();
+         String context = request.getContext();
+         RemoteRepository remote = request.getRepository();
+ 
+         if ( remote != null )
+         {
+             path = getPathForRemoteMetadata( metadata, remote, context );
+         }
+         else
          {
-  	        result.setFile( file );
-  	        result.setAvailable( true );
-  	    }
-  	    return result;
-  	}
+             path = getPathForLocalMetadata( metadata );
+         }
+ 
+         File file = new File( getRepository().getBasedir(), path );
+         if ( file.isFile() )
+         {
+             result.setFile( file );
+         }
  
+         return result;
+     }
+ 
+     public void add( RepositorySystemSession session, LocalMetadataRegistration request )
+     {
+         // noop
+     }
+ 
+     public String toString()
+     {
+         return String.valueOf( getRepository() );
+     }
 -
  }

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
----------------------------------------------------------------------
diff --cc maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
index 8012124,82ac995..918ba6d
--- a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
@@@ -1840,10 -1841,9 +1850,10 @@@ public class PomConstructionTes
          config.setUserProperties( executionProperties );
          config.setValidationLevel( lenientValidation ? ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0
                          : ModelBuildingRequest.VALIDATION_LEVEL_STRICT );
-         MavenRepositorySystemSession repoSession = new MavenRepositorySystemSession( true );
-         repoSession.setLocalRepositoryManager( new SimpleLocalRepositoryManager(
-                                                                                  new File(
-                                                                                            config.getLocalRepository().getBasedir() ) ) );
++
+         DefaultRepositorySystemSession repoSession = MavenRepositorySystemUtils.newSession();
+         LocalRepository localRepo = new LocalRepository( config.getLocalRepository().getBasedir() );
+         repoSession.setLocalRepositoryManager( new SimpleLocalRepositoryManagerFactory().newInstance( localRepo ) );
          config.setRepositorySession( repoSession );
  
          return new PomTestWrapper( pomFile, projectBuilder.build( pomFile, config ).getProject() );

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
----------------------------------------------------------------------
diff --cc maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
index ec0ef67,b97c064..405551e
--- a/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
+++ b/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
@@@ -113,10 -123,9 +123,10 @@@ public class PomConstructionWithSetting
          config.setLocalRepository( repositorySystem.createArtifactRepository( "local", localRepoUrl,
                                                                                new DefaultRepositoryLayout(), null, null ) );
          config.setActiveProfileIds( settings.getActiveProfiles() );
-         MavenRepositorySystemSession repoSession = new MavenRepositorySystemSession( true );
-         repoSession.setLocalRepositoryManager( new SimpleLocalRepositoryManager(
-                                                                                  new File(
-                                                                                            config.getLocalRepository().getBasedir() ) ) );
++
+         DefaultRepositorySystemSession repoSession = MavenRepositorySystemUtils.newSession();
+         LocalRepository localRepo = new LocalRepository( config.getLocalRepository().getBasedir() );
+         repoSession.setLocalRepositoryManager( new SimpleLocalRepositoryManagerFactory().newInstance( localRepo ) );
          config.setRepositorySession( repoSession );
  
          return new PomTestWrapper( pomFile, projectBuilder.build( pomFile, config ).getProject() );

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
----------------------------------------------------------------------
diff --cc maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
index 772f984,c9b45e9..e2b0e21
--- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
@@@ -72,12 -63,9 +71,12 @@@ import org.codehaus.plexus.PlexusContai
  import org.codehaus.plexus.classworlds.ClassWorld;
  import org.codehaus.plexus.classworlds.realm.ClassRealm;
  import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 -import org.codehaus.plexus.logging.Logger;
 +import org.codehaus.plexus.logging.LoggerManager;
  import org.codehaus.plexus.util.StringUtils;
+ import org.eclipse.aether.transfer.TransferListener;
 +import org.slf4j.ILoggerFactory;
 +import org.slf4j.Logger;
 +import org.slf4j.LoggerFactory;
- import org.sonatype.aether.transfer.TransferListener;
  import org.sonatype.plexus.components.cipher.DefaultPlexusCipher;
  import org.sonatype.plexus.components.sec.dispatcher.DefaultSecDispatcher;
  import org.sonatype.plexus.components.sec.dispatcher.SecDispatcher;

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-embedder/src/main/java/org/apache/maven/cli/transfer/AbstractMavenTransferListener.java
----------------------------------------------------------------------
diff --cc maven-embedder/src/main/java/org/apache/maven/cli/transfer/AbstractMavenTransferListener.java
index d63cdfc,0000000..58b1a5d
mode 100644,000000..100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/transfer/AbstractMavenTransferListener.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/transfer/AbstractMavenTransferListener.java
@@@ -1,90 -1,0 +1,90 @@@
 +package org.apache.maven.cli.transfer;
 +
 +/*
 + * 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 org.sonatype.aether.transfer.AbstractTransferListener;
- import org.sonatype.aether.transfer.TransferCancelledException;
- import org.sonatype.aether.transfer.TransferEvent;
- import org.sonatype.aether.transfer.TransferResource;
++import org.eclipse.aether.transfer.AbstractTransferListener;
++import org.eclipse.aether.transfer.TransferCancelledException;
++import org.eclipse.aether.transfer.TransferEvent;
++import org.eclipse.aether.transfer.TransferResource;
 +
 +public abstract class AbstractMavenTransferListener
 +    extends AbstractTransferListener
 +{
 +
 +    protected PrintStream out;
 +
 +    protected AbstractMavenTransferListener( PrintStream out )
 +    {
 +        this.out = out;
 +    }
 +
 +    @Override
 +    public void transferInitiated( TransferEvent event )
 +    {
 +        String message = event.getRequestType() == TransferEvent.RequestType.PUT ? "Uploading" : "Downloading";
 +
 +        out.println( message + ": " + event.getResource().getRepositoryUrl() + event.getResource().getResourceName() );
 +    }
 +
 +    @Override
 +    public void transferCorrupted( TransferEvent event )
 +        throws TransferCancelledException
 +    {
 +        TransferResource resource = event.getResource();
 +
 +        out.println( "[WARNING] " + event.getException().getMessage() + " for " + resource.getRepositoryUrl()
 +            + resource.getResourceName() );
 +    }
 +
 +    @Override
 +    public void transferSucceeded( TransferEvent 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";
 +            }
 +
 +            out.println( type + ": " + resource.getRepositoryUrl() + resource.getResourceName() + " (" + len
 +                + throughput + ")" );
 +        }
 +    }
 +
 +    protected long toKB( long bytes )
 +    {
 +        return ( bytes + 1023 ) / 1024;
 +    }
 +
 +}

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-embedder/src/main/java/org/apache/maven/cli/transfer/ConsoleMavenTransferListener.java
----------------------------------------------------------------------
diff --cc maven-embedder/src/main/java/org/apache/maven/cli/transfer/ConsoleMavenTransferListener.java
index 2263c93,0000000..f5f4abc
mode 100644,000000..100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/transfer/ConsoleMavenTransferListener.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/transfer/ConsoleMavenTransferListener.java
@@@ -1,133 -1,0 +1,133 @@@
 +package org.apache.maven.cli.transfer;
 +
 +/*
 + * 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.util.Map;
 +import java.util.concurrent.ConcurrentHashMap;
 +
- import org.sonatype.aether.transfer.TransferCancelledException;
- import org.sonatype.aether.transfer.TransferEvent;
- import org.sonatype.aether.transfer.TransferResource;
++import org.eclipse.aether.transfer.TransferCancelledException;
++import org.eclipse.aether.transfer.TransferEvent;
++import org.eclipse.aether.transfer.TransferResource;
 +
 +/**
 + * Console download progress meter.
 + * 
 + * @author <a href="mailto:brett@apache.org">Brett Porter</a>
 + */
 +public class ConsoleMavenTransferListener
 +    extends AbstractMavenTransferListener
 +{
 +
 +    private Map<TransferResource, Long> downloads = new ConcurrentHashMap<TransferResource, Long>();
 +
 +    private int lastLength;
 +
 +    public ConsoleMavenTransferListener( PrintStream out )
 +    {
 +        super( out );
 +    }
 +
 +    @Override
 +    public void transferProgressed( TransferEvent event )
 +        throws TransferCancelledException
 +    {
 +        TransferResource resource = event.getResource();
 +        downloads.put( resource, Long.valueOf( event.getTransferredBytes() ) );
 +
 +        StringBuilder buffer = new StringBuilder( 64 );
 +
 +        for ( Map.Entry<TransferResource, Long> entry : downloads.entrySet() )
 +        {
 +            long total = entry.getKey().getContentLength();
 +            Long complete = entry.getValue();
 +            // NOTE: This null check guards against http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6312056
 +            if ( complete != null )
 +            {
 +                buffer.append( getStatus( complete.longValue(), total ) ).append( "  " );
 +            }
 +        }
 +
 +        int pad = lastLength - buffer.length();
 +        lastLength = buffer.length();
 +        pad( buffer, pad );
 +        buffer.append( '\r' );
 +
 +        out.print( 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 );
 +
 +        super.transferSucceeded( event );
 +    }
 +
 +    @Override
 +    public void transferFailed( TransferEvent event )
 +    {
 +        transferCompleted( event );
 +
 +        super.transferFailed( event );
 +    }
 +
 +    private void transferCompleted( TransferEvent event )
 +    {
 +        downloads.remove( event.getResource() );
 +
 +        StringBuilder buffer = new StringBuilder( 64 );
 +        pad( buffer, lastLength );
 +        buffer.append( '\r' );
 +        out.print( buffer.toString() );
 +    }
 +
 +}

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-embedder/src/main/java/org/apache/maven/cli/transfer/QuietMavenTransferListener.java
----------------------------------------------------------------------
diff --cc maven-embedder/src/main/java/org/apache/maven/cli/transfer/QuietMavenTransferListener.java
index 319519c,0000000..fd9f52c
mode 100644,000000..100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/transfer/QuietMavenTransferListener.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/transfer/QuietMavenTransferListener.java
@@@ -1,31 -1,0 +1,31 @@@
 +package org.apache.maven.cli.transfer;
 +
 +/*
 + * 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.sonatype.aether.transfer.AbstractTransferListener;
++import org.eclipse.aether.transfer.AbstractTransferListener;
 +
 +/**
 + * @author Benjamin Bentmann
 + */
 +public class QuietMavenTransferListener
 +    extends AbstractTransferListener
 +{
 +
 +}

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-embedder/src/main/java/org/apache/maven/cli/transfer/Slf4jMavenTransferListener.java
----------------------------------------------------------------------
diff --cc maven-embedder/src/main/java/org/apache/maven/cli/transfer/Slf4jMavenTransferListener.java
index 27ff90d,0000000..a2b21a3
mode 100644,000000..100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/transfer/Slf4jMavenTransferListener.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/transfer/Slf4jMavenTransferListener.java
@@@ -1,89 -1,0 +1,89 @@@
 +package org.apache.maven.cli.transfer;
 +
 +/*
 + * 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.text.DecimalFormat;
 +import java.text.DecimalFormatSymbols;
 +import java.util.Locale;
 +
++import org.eclipse.aether.transfer.AbstractTransferListener;
++import org.eclipse.aether.transfer.TransferCancelledException;
++import org.eclipse.aether.transfer.TransferEvent;
++import org.eclipse.aether.transfer.TransferResource;
 +import org.slf4j.Logger;
- import org.sonatype.aether.transfer.AbstractTransferListener;
- import org.sonatype.aether.transfer.TransferCancelledException;
- import org.sonatype.aether.transfer.TransferEvent;
- import org.sonatype.aether.transfer.TransferResource;
 +
 +public class Slf4jMavenTransferListener
 +    extends AbstractTransferListener
 +{
 +
 +    protected Logger out;
 +
 +    public Slf4jMavenTransferListener( Logger out )
 +    {
 +        this.out = out;
 +    }
 +
 +    @Override
 +    public void transferInitiated( TransferEvent event )
 +    {
 +        String message = event.getRequestType() == TransferEvent.RequestType.PUT ? "Uploading" : "Downloading";
 +
 +        out.info( message + ": " + event.getResource().getRepositoryUrl() + event.getResource().getResourceName() );
 +    }
 +
 +    @Override
 +    public void transferCorrupted( TransferEvent event )
 +        throws TransferCancelledException
 +    {
 +        TransferResource resource = event.getResource();
 +
 +        out.warn( event.getException().getMessage() + " for " + resource.getRepositoryUrl() + resource.getResourceName() );
 +    }
 +
 +    @Override
 +    public void transferSucceeded( TransferEvent 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";
 +            }
 +
 +            out.info( type + ": " + resource.getRepositoryUrl() + resource.getResourceName() + " (" + len
 +                + throughput + ")" );
 +        }
 +    }
 +
 +    protected long toKB( long bytes )
 +    {
 +        return ( bytes + 1023 ) / 1024;
 +    }
 +
 +}

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-plugin-api/pom.xml
----------------------------------------------------------------------
diff --cc maven-plugin-api/pom.xml
index 227f574,e2c24a2..b351a69
--- a/maven-plugin-api/pom.xml
+++ b/maven-plugin-api/pom.xml
@@@ -65,17 -66,16 +66,26 @@@ under the License
            </models>
            <version>1.0.0</version>
          </configuration>
 +        <executions>
 +          <execution>
 +            <id>site-docs</id>
 +            <configuration>
 +              <models combine.children="append">
 +                <model>src/main/mdo/plugin.mdo</model><!-- plugin.mdo is only for documentation, not used for code generation -->
 +              </models>
 +            </configuration>
 +          </execution>
 +        </executions>
        </plugin>
+       <plugin>
+         <artifactId>maven-jar-plugin</artifactId>
+         <configuration>
+          <excludes>
+            <exclude>org/apache/maven/plugin/descriptor/model</exclude>
+            <exclude>org/apache/maven/plugin/descriptor/model/**/*</exclude>
+          </excludes>
+         </configuration>
+       </plugin>
      </plugins>
    </build>
  </project>

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/maven-plugin-api/src/site/apt/index.apt
----------------------------------------------------------------------
diff --cc maven-plugin-api/src/site/apt/index.apt
index 4d2497b,6c04123..3def6bc
--- a/maven-plugin-api/src/site/apt/index.apt
+++ b/maven-plugin-api/src/site/apt/index.apt
@@@ -3,20 -3,18 +3,35 @@@
   -----
   Hervé Boutemy
   -----
++<<<<<<< HEAD
 + 2012-06-02
++=======
+  2011-10-16
++>>>>>>> 4fdcdbd26244ff81e242054fd38cf415d92499be
   -----
  
  Maven Plugin API
  
++<<<<<<< HEAD
 + The API for plugins - composed of goals implemented by Mojos - development.
 +
 + A plugin is described in a {{{./plugin.html}<<<META-INF/maven/plugin.xml>>> plugin descriptor}},
 + generally generated from plugin sources using {{{/plugin-tools/maven-plugin-plugin/}maven-plugin-plugin}}.
++=======
+  The API for plugins - Mojos - development.
+ 
+  A plugin is described in a {{{./plugin.html}<<<META-INF/maven/plugin.xml>>> plugin descriptor}},
+  generally generated from plugin sources using {{{/plugins/maven-plugin-plugin/}maven-plugin-plugin}}.
++>>>>>>> 4fdcdbd26244ff81e242054fd38cf415d92499be
  
  * See Also
  
   * {{{/developers/mojo-api-specification.html}Mojo API Specification}}
  
++<<<<<<< HEAD
 + * {{{/plugin-tools/}plugin-tools}}
 +
 + * {{{/plugin-testing/}plugin-testing}}
++=======
+  * {{{/plugin-tools/}plugin-tools}}, containing {{{/plugins/maven-plugin-plugin/}maven-plugin-plugin}}
++>>>>>>> 4fdcdbd26244ff81e242054fd38cf415d92499be

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/pom.xml
----------------------------------------------------------------------
diff --cc pom.xml
index 3b97b69,ba8322a..c631354
--- a/pom.xml
+++ b/pom.xml
@@@ -48,26 -48,101 +48,24 @@@
      <junitVersion>3.8.2</junitVersion>
      <plexusVersion>1.5.5</plexusVersion>
      <plexusInterpolationVersion>1.14</plexusInterpolationVersion>
 -    <plexusUtilsVersion>2.0.6</plexusUtilsVersion>
 +    <plexusUtilsVersion>3.0.9</plexusUtilsVersion>
      <sisuInjectVersion>2.3.0</sisuInjectVersion>
 -    <wagonVersion>2.2</wagonVersion>
 +    <wagonVersion>2.3</wagonVersion>
      <securityDispatcherVersion>1.3</securityDispatcherVersion>
      <cipherVersion>1.7</cipherVersion>
 -    <modelloVersion>1.4.1</modelloVersion>
 +    <modelloVersion>1.6</modelloVersion>
      <jxpathVersion>1.3</jxpathVersion>
-     <aetherVersion>1.13.1</aetherVersion>
 +    <slf4jVersion>1.7.2</slf4jVersion>
+     <aetherVersion>0.9.0-SNAPSHOT</aetherVersion>
      <maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile>
      <!-- Control the name of the distribution and information output by mvn -->
      <distributionId>apache-maven</distributionId>
      <distributionShortName>Maven</distributionShortName>
      <distributionName>Apache Maven</distributionName>
--
      <siteDeployUrl>scp://people.apache.org/www/maven.apache.org/ref/${project.version}/</siteDeployUrl>
      <siteUrl>http://maven.apache.org/ref/${project.version}/</siteUrl>
--
    </properties>
  
 -  <mailingLists>
 -    <mailingList>
 -      <name>Maven Developer List</name>
 -      <subscribe>dev-subscribe@maven.apache.org</subscribe>
 -      <unsubscribe>dev-unsubscribe@maven.apache.org</unsubscribe>
 -      <post>dev@maven.apache.org</post>
 -      <archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive>
 -      <otherArchives>
 -        <otherArchive>http://www.mail-archive.com/dev@maven.apache.org/</otherArchive>
 -        <otherArchive>http://old.nabble.com/Maven-Developers-f179.html</otherArchive>
 -        <otherArchive>http://maven.dev.markmail.org/</otherArchive>
 -      </otherArchives>
 -    </mailingList>
 -    <mailingList>
 -      <name>Maven User List</name>
 -      <subscribe>users-subscribe@maven.apache.org</subscribe>
 -      <unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe>
 -      <post>users@maven.apache.org</post>
 -      <archive>http://mail-archives.apache.org/mod_mbox/maven-users</archive>
 -      <otherArchives>
 -        <otherArchive>http://www.mail-archive.com/users@maven.apache.org/</otherArchive>
 -        <otherArchive>http://old.nabble.com/Maven---Users-f178.html</otherArchive>
 -        <otherArchive>http://maven.users.markmail.org/</otherArchive>
 -      </otherArchives>
 -    </mailingList>
 -    <mailingList>
 -      <name>Maven Issues List</name>
 -      <subscribe>issues-subscribe@maven.apache.org</subscribe>
 -      <unsubscribe>issues-unsubscribe@maven.apache.org</unsubscribe>
 -      <archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive>
 -      <otherArchives>
 -        <otherArchive>http://www.mail-archive.com/issues@maven.apache.org</otherArchive>
 -        <otherArchive>http://old.nabble.com/Maven---Issues-f15573.html</otherArchive>
 -        <otherArchive>http://maven.issues.markmail.org/</otherArchive>
 -      </otherArchives>
 -    </mailingList>
 -    <mailingList>
 -      <name>Maven Commits List</name>
 -      <subscribe>commits-subscribe@maven.apache.org</subscribe>
 -      <unsubscribe>commits-unsubscribe@maven.apache.org</unsubscribe>
 -      <archive>http://mail-archives.apache.org/mod_mbox/maven-commits</archive>
 -      <otherArchives>
 -        <otherArchive>http://www.mail-archive.com/commits@maven.apache.org</otherArchive>
 -        <otherArchive>http://old.nabble.com/Maven---Commits-f15575.html</otherArchive>
 -        <otherArchive>http://maven.commits.markmail.org/</otherArchive>
 -      </otherArchives>
 -    </mailingList>
 -    <!--
 -      duplication from parent pom - temporary until they inherit
 -      properly
 -    -->
 -    <mailingList>
 -      <name>Maven Announcements List</name>
 -      <post>announce@maven.apache.org</post>
 -      <subscribe>announce-subscribe@maven.apache.org</subscribe>
 -      <unsubscribe>announce-unsubscribe@maven.apache.org</unsubscribe>
 -      <archive>http://mail-archives.apache.org/mod_mbox/maven-announce/</archive>
 -      <otherArchives>
 -        <otherArchive>http://www.mail-archive.com/announce@maven.apache.org</otherArchive>
 -        <otherArchive>http://old.nabble.com/Maven-Announcements-f15617.html</otherArchive>
 -        <otherArchive>http://maven.announce.markmail.org/</otherArchive>
 -      </otherArchives>
 -    </mailingList>
 -    <mailingList>
 -      <name>Maven Notifications List</name>
 -      <subscribe>notifications-subscribe@maven.apache.org</subscribe>
 -      <unsubscribe>notifications-unsubscribe@maven.apache.org</unsubscribe>
 -      <archive>http://mail-archives.apache.org/mod_mbox/maven-notifications/</archive>
 -      <otherArchives>
 -        <otherArchive>http://www.mail-archive.com/notifications@maven.apache.org</otherArchive>
 -        <otherArchive>http://old.nabble.com/Maven---Notifications-f15574.html</otherArchive>
 -        <otherArchive>http://maven.notifications.markmail.org/</otherArchive>
 -      </otherArchives>
 -    </mailingList>
 -  </mailingLists>
 -
    <modules>
      <module>maven-plugin-api</module>
      <module>maven-model</module>

http://git-wip-us.apache.org/repos/asf/maven/blob/27ad9858/src/site/site.xml
----------------------------------------------------------------------
diff --cc src/site/site.xml
index 291d8ce,ce22865..cdaacd9
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@@ -35,7 -35,7 +35,11 @@@ under the License
    <skin>
      <groupId>org.apache.maven.skins</groupId>
      <artifactId>maven-fluido-skin</artifactId>
++<<<<<<< HEAD
 +    <version>1.3.0</version>
++=======
+     <version>1.0</version>
++>>>>>>> 4fdcdbd26244ff81e242054fd38cf415d92499be
    </skin>
  
    <body>