You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jo...@apache.org on 2007/02/09 22:53:29 UTC

svn commit: r505520 [2/2] - in /maven/components/trunk: ./ maven-artifact-manager/ maven-artifact-manager/src/main/java/org/apache/maven/artifact/deployer/ maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/ maven-artifact-manager/s...

Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java Fri Feb  9 13:53:27 2007
@@ -18,7 +18,7 @@
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.manager.WagonManager;
+import org.apache.maven.artifact.manager.ArtifactManager;
 import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
 import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -52,7 +52,7 @@
     // Components
     // ----------------------------------------------------------------------
 
-    private WagonManager wagonManager;
+    private ArtifactManager artifactManager;
 
     private ArtifactTransformationManager transformationManager;
 
@@ -164,7 +164,7 @@
                 boolean resolved = false;
                 if ( !destination.exists() || force )
                 {
-                    if ( !wagonManager.isOnline() )
+                    if ( !artifactManager.isOnline() )
                     {
                         throw new ArtifactNotFoundException( "System is offline.", artifact );
                     }
@@ -175,11 +175,11 @@
                         if ( artifact.getRepository() != null )
                         {
                             // the transformations discovered the artifact - so use it exclusively
-                            wagonManager.getArtifact( artifact, artifact.getRepository() );
+                            artifactManager.getArtifact( artifact, artifact.getRepository() );
                         }
                         else
                         {
-                            wagonManager.getArtifact( artifact, repositories );
+                            artifactManager.getArtifact( artifact, repositories );
                         }
 
                         if ( !artifact.isResolved() && !destination.exists() )

Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/AbstractVersionTransformation.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/AbstractVersionTransformation.java?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/AbstractVersionTransformation.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/AbstractVersionTransformation.java Fri Feb  9 13:53:27 2007
@@ -43,8 +43,6 @@
 {
     protected RepositoryMetadataManager repositoryMetadataManager;
 
-    protected WagonManager wagonManager;
-
     protected String resolveVersion( Artifact artifact, ArtifactRepository localRepository, List remoteRepositories )
         throws RepositoryMetadataResolutionException
     {

Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java Fri Feb  9 13:53:27 2007
@@ -18,6 +18,7 @@
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.deployer.ArtifactDeploymentException;
+import org.apache.maven.artifact.manager.ArtifactManager;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.metadata.Metadata;
 import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
@@ -43,6 +44,8 @@
 public class SnapshotTransformation
     extends AbstractVersionTransformation
 {
+    private ArtifactManager artifactManager;
+    
     private String deploymentTimestamp;
 
     private static final TimeZone UTC_TIME_ZONE = TimeZone.getTimeZone( "UTC" );
@@ -147,7 +150,7 @@
     {
         RepositoryMetadata metadata = new SnapshotArtifactRepositoryMetadata( artifact );
 
-        if ( !wagonManager.isOnline() )
+        if ( !artifactManager.isOnline() )
         {
             // build number is a required feature for metadata consistency
             throw new RepositoryMetadataResolutionException(

Modified: maven/components/trunk/maven-artifact-manager/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-artifact-manager/src/main/resources/META-INF/plexus/components.xml?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/resources/META-INF/plexus/components.xml Fri Feb  9 13:53:27 2007
@@ -1,8 +1,11 @@
 <component-set>
   <components>
+  
     <!--
      |
-     | WagonManager
+     | Old WagonManager
+     |
+     |  !!Deprecated!!
      |
      -->
     <component>
@@ -10,7 +13,23 @@
       <implementation>org.apache.maven.artifact.manager.DefaultWagonManager</implementation>
       <requirements>
         <requirement>
-          <role>org.apache.maven.artifact.repository.ArtifactRepositoryFactory</role>
+          <role>org.apache.maven.artifact.manager.ArtifactManager</role>
+        </requirement>
+      </requirements>
+    </component>
+  
+    <!--
+     |
+     | ArtifactManager
+     |
+     -->
+    <component>
+      <role>org.apache.maven.artifact.manager.ArtifactManager</role>
+      <implementation>org.apache.maven.artifact.manager.DefaultArtifactManager</implementation>
+      <requirements>
+        <requirement>
+	      <role>org.apache.maven.wagon.manager.WagonManager</role>
+    	  <role-hint>default</role-hint>
         </requirement>
       </requirements>
     </component>
@@ -20,7 +39,7 @@
       <implementation>org.apache.maven.artifact.repository.metadata.DefaultRepositoryMetadataManager</implementation>
       <requirements>
         <requirement>
-          <role>org.apache.maven.artifact.manager.WagonManager</role>
+          <role>org.apache.maven.artifact.manager.ArtifactManager</role>
         </requirement>
       </requirements>
     </component>
@@ -36,7 +55,7 @@
       <implementation>org.apache.maven.artifact.transform.SnapshotTransformation</implementation>
       <requirements>
         <requirement>
-          <role>org.apache.maven.artifact.manager.WagonManager</role>
+          <role>org.apache.maven.artifact.manager.ArtifactManager</role>
         </requirement>
         <requirement>
           <role>org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager</role>
@@ -50,9 +69,6 @@
       <implementation>org.apache.maven.artifact.transform.ReleaseArtifactTransformation</implementation>
       <requirements>
         <requirement>
-          <role>org.apache.maven.artifact.manager.WagonManager</role>
-        </requirement>
-        <requirement>
           <role>org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager</role>
         </requirement>
       </requirements>
@@ -64,9 +80,6 @@
       <implementation>org.apache.maven.artifact.transform.LatestArtifactTransformation</implementation>
       <requirements>
         <requirement>
-          <role>org.apache.maven.artifact.manager.WagonManager</role>
-        </requirement>
-        <requirement>
           <role>org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager</role>
         </requirement>
       </requirements>
@@ -98,7 +111,7 @@
       <implementation>org.apache.maven.artifact.resolver.DefaultArtifactResolver</implementation>
       <requirements>
         <requirement>
-          <role>org.apache.maven.artifact.manager.WagonManager</role>
+          <role>org.apache.maven.artifact.manager.ArtifactManager</role>
         </requirement>
         <requirement>
           <role>org.apache.maven.artifact.transform.ArtifactTransformationManager</role>
@@ -140,7 +153,7 @@
       <implementation>org.apache.maven.artifact.deployer.DefaultArtifactDeployer</implementation>
       <requirements>
         <requirement>
-          <role>org.apache.maven.artifact.manager.WagonManager</role>
+          <role>org.apache.maven.artifact.manager.ArtifactManager</role>
         </requirement>
         <requirement>
           <role>org.apache.maven.artifact.transform.ArtifactTransformationManager</role>

Added: maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/manager/DefaultArtifactManagerTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/manager/DefaultArtifactManagerTest.java?view=auto&rev=505520
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/manager/DefaultArtifactManagerTest.java (added)
+++ maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/manager/DefaultArtifactManagerTest.java Fri Feb  9 13:53:27 2007
@@ -0,0 +1,148 @@
+package org.apache.maven.artifact.manager;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.artifact.repository.DefaultArtifactRepository;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.wagon.ResourceDoesNotExistException;
+import org.apache.maven.wagon.TransferFailedException;
+import org.apache.maven.wagon.repository.Repository;
+import org.codehaus.plexus.PlexusTestCase;
+import org.codehaus.plexus.util.FileUtils;
+
+import java.io.File;
+import java.io.IOException;
+
+public class DefaultArtifactManagerTest
+    extends PlexusTestCase
+{
+    private ArtifactFactory artifactFactory;
+
+    private ArtifactManager artifactManager;
+
+    private File localTestRepo;
+
+    private File remoteTestRepo;
+
+    protected void setUp()
+        throws Exception
+    {
+        super.setUp();
+
+        artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
+        artifactManager = (ArtifactManager) lookup( ArtifactManager.ROLE );
+
+        localTestRepo = setupDir( "target/test-classes/repositories/" + getName() + "/local-repository" );
+        remoteTestRepo = setupDir( "target/test-classes/repositories/" + getName() + "/remote-repository" );
+    }
+
+    private File setupDir( String rootPath )
+        throws IOException
+    {
+        File rootDir = new File( getBasedir(), rootPath );
+
+        // Clean up from old tests.
+        if ( rootDir.exists() )
+        {
+            FileUtils.deleteDirectory( rootDir );
+        }
+
+        // Create dir
+        rootDir.mkdirs();
+
+        return rootDir;
+    }
+
+    protected void tearDown()
+        throws Exception
+    {
+        release( artifactManager );
+
+        super.tearDown();
+    }
+
+    private Artifact createArtifact( String groupId, String artifactId, String version, String type )
+        throws Exception
+    {
+        Artifact artifact = artifactFactory.createBuildArtifact( groupId, artifactId, version, type );
+        ArtifactRepository repository = localRepository();
+        String artifactPath = repository.pathOf( artifact );
+        File f = new File( localTestRepo, artifactPath );
+        artifact.setFile( f );
+        return artifact;
+    }
+
+    protected ArtifactRepository localRepository()
+        throws Exception
+    {
+        ArtifactRepositoryLayout repoLayout = (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE,
+                                                                                 "legacy" );
+
+        return new DefaultArtifactRepository( "local", "file://" + localTestRepo.getPath(), repoLayout );
+    }
+
+    protected ArtifactRepository remoteRepository()
+        throws Exception
+    {
+        ArtifactRepositoryLayout repoLayout = (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE,
+                                                                                 "legacy" );
+
+        return new DefaultArtifactRepository( "test", "file://" + remoteTestRepo.getPath(), repoLayout,
+                                              new ArtifactRepositoryPolicy(), new ArtifactRepositoryPolicy() );
+    }
+
+    public void testOnline()
+        throws ResourceDoesNotExistException, Exception
+    {
+        artifactManager.getWagonManager().setOnline( false );
+
+        assertFalse( artifactManager.isOnline() );
+
+        // Attempt to get a wagon.
+        artifactManager.getWagonManager().addRepository( new Repository( "test", "http://localhost:10007/" ) );
+
+        try
+        {
+            Artifact artifact = createArtifact( "test", "testLib", "1.0", "jar" );
+
+            artifactManager.getArtifact( artifact, localRepository() );
+            fail( "Should have thrown TransferFailedException as we are offline." );
+        }
+        catch ( TransferFailedException e )
+        {
+            /* expected path */
+            assertEquals( "System is offline.", e.getMessage() );
+        }
+    }
+
+    public void testGetArtifact()
+        throws ResourceDoesNotExistException, Exception
+    {
+        artifactManager.getWagonManager().setOnline( true );
+
+        assertTrue( artifactManager.isOnline() );
+
+        Artifact artifact = createArtifact( "test", "testLib", "1.0", "jar" );
+        setupRemoteTestArtifact( artifact );
+
+        artifactManager.getArtifact( artifact, remoteRepository() );
+
+        assertTrue( artifact.isResolved() );
+        assertTrue( artifact.getFile().exists() );
+    }
+
+    private void setupRemoteTestArtifact( Artifact artifact )
+        throws Exception
+    {
+        ArtifactRepository remoterepo = remoteRepository();
+        String artifactPath = remoterepo.pathOf( artifact );
+        File actualRemoteFile = new File( remoteTestRepo, artifactPath );
+        
+        actualRemoteFile.getParentFile().mkdirs();
+
+        FileUtils.fileWrite( actualRemoteFile.getAbsolutePath(),
+                             "Virtual Cess Pool of Totally Useless and Trivial Information" );
+    }
+}

Propchange: maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/manager/DefaultArtifactManagerTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/manager/DefaultArtifactManagerTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/manager/DefaultArtifactManagerTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: maven/components/trunk/maven-cli/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-cli/pom.xml?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-cli/pom.xml (original)
+++ maven/components/trunk/maven-cli/pom.xml Fri Feb  9 13:53:27 2007
@@ -44,7 +44,7 @@
               <goal>attached</goal>
             </goals>
           </execution>
-        </executions>        
+        </executions>
       </plugin>
     </plugins>
   </build>
@@ -61,6 +61,10 @@
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-embedder</artifactId>
       <version>2.1-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
     </dependency>
     <dependency>
       <groupId>commons-cli</groupId>

Modified: maven/components/trunk/maven-cli/src/main/java/org/apache/maven/cli/AbstractConsoleDownloadMonitor.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-cli/src/main/java/org/apache/maven/cli/AbstractConsoleDownloadMonitor.java?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-cli/src/main/java/org/apache/maven/cli/AbstractConsoleDownloadMonitor.java (original)
+++ maven/components/trunk/maven-cli/src/main/java/org/apache/maven/cli/AbstractConsoleDownloadMonitor.java Fri Feb  9 13:53:27 2007
@@ -16,6 +16,7 @@
  * limitations under the License.
  */
 
+import org.apache.commons.lang.StringUtils;
 import org.apache.maven.MavenTransferListener;
 import org.apache.maven.wagon.WagonConstants;
 import org.apache.maven.wagon.events.TransferEvent;
@@ -32,9 +33,37 @@
     extends AbstractLogEnabled
     implements MavenTransferListener
 {
+    private boolean showChecksumEvents = false;
+    
+    protected boolean showEvent( TransferEvent event )
+    {
+        if ( event.getResource() == null )
+        {
+            return true;
+        }
+
+        String resource = event.getResource().getName();
+
+        if ( StringUtils.isBlank( resource ) )
+        {
+            return true;
+        }
+
+        if ( resource.endsWith( ".sha1" ) || resource.endsWith( ".md5" ) )
+        {
+            return showChecksumEvents;
+        }
+
+        return true;
+    }
 
     public void transferInitiated( TransferEvent transferEvent )
     {
+        if ( !showEvent( transferEvent ) )
+        {
+            return;
+        }
+        
         String message = transferEvent.getRequestType() == TransferEvent.REQUEST_PUT ? "Uploading" : "Downloading";
 
         String url = transferEvent.getWagon().getRepository().getUrl();
@@ -85,4 +114,13 @@
 //        getLogger().debug( message );
     }
 
+    public boolean isShowChecksumEvents()
+    {
+        return showChecksumEvents;
+    }
+
+    public void setShowChecksumEvents( boolean showChecksumEvents )
+    {
+        this.showChecksumEvents = showChecksumEvents;
+    }
 }

Modified: maven/components/trunk/maven-cli/src/main/java/org/apache/maven/cli/BatchModeDownloadMonitor.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-cli/src/main/java/org/apache/maven/cli/BatchModeDownloadMonitor.java?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-cli/src/main/java/org/apache/maven/cli/BatchModeDownloadMonitor.java (original)
+++ maven/components/trunk/maven-cli/src/main/java/org/apache/maven/cli/BatchModeDownloadMonitor.java Fri Feb  9 13:53:27 2007
@@ -29,6 +29,11 @@
 {
     public void transferInitiated( TransferEvent transferEvent )
     {
+        if ( !showEvent( transferEvent ) )
+        {
+            return;
+        }
+        
         String message = transferEvent.getRequestType() == TransferEvent.REQUEST_PUT ? "Uploading" : "Downloading";
 
         String url = transferEvent.getWagon().getRepository().getUrl();

Modified: maven/components/trunk/maven-cli/src/main/java/org/apache/maven/cli/ConsoleDownloadMonitor.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-cli/src/main/java/org/apache/maven/cli/ConsoleDownloadMonitor.java?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-cli/src/main/java/org/apache/maven/cli/ConsoleDownloadMonitor.java (original)
+++ maven/components/trunk/maven-cli/src/main/java/org/apache/maven/cli/ConsoleDownloadMonitor.java Fri Feb  9 13:53:27 2007
@@ -41,6 +41,12 @@
     {
         long total = transferEvent.getResource().getContentLength();
         complete += length;
+        
+        if ( !showEvent( transferEvent ) )
+        {
+            return;
+        }
+        
         // TODO [BP]: Sys.out may no longer be appropriate, but will \r work with getLogger()?
         if ( total >= 1024 )
         {

Modified: maven/components/trunk/maven-cli/src/main/java/org/apache/maven/cli/MavenCli.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-cli/src/main/java/org/apache/maven/cli/MavenCli.java?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-cli/src/main/java/org/apache/maven/cli/MavenCli.java (original)
+++ maven/components/trunk/maven-cli/src/main/java/org/apache/maven/cli/MavenCli.java Fri Feb  9 13:53:27 2007
@@ -278,6 +278,8 @@
             {
                 transferListener = new BatchModeDownloadMonitor();
             }
+            
+            transferListener.setShowChecksumEvents( false );
 
             // This means to scan a directory structure for POMs and process them.
             boolean useReactor = false;

Modified: maven/components/trunk/maven-cli/src/test/java/org/apache/maven/cli/AbstractConsoleDownloadMonitorTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-cli/src/test/java/org/apache/maven/cli/AbstractConsoleDownloadMonitorTest.java?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-cli/src/test/java/org/apache/maven/cli/AbstractConsoleDownloadMonitorTest.java (original)
+++ maven/components/trunk/maven-cli/src/test/java/org/apache/maven/cli/AbstractConsoleDownloadMonitorTest.java Fri Feb  9 13:53:27 2007
@@ -18,6 +18,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.maven.MavenTransferListener;
 import org.apache.maven.wagon.ConnectionException;
 import org.apache.maven.wagon.authentication.AuthenticationException;
 import org.apache.maven.wagon.events.TransferEvent;
@@ -25,6 +26,8 @@
 import org.apache.maven.wagon.repository.Repository;
 import org.apache.maven.wagon.resource.Resource;
 
+import java.io.File;
+
 /**
  * Test for {@link AbstractConsoleDownloadMonitor}
  * 
@@ -34,19 +37,19 @@
 public abstract class AbstractConsoleDownloadMonitorTest
     extends TestCase
 {
-    private AbstractConsoleDownloadMonitor monitor;
+    private MavenTransferListener monitor;
 
     public AbstractConsoleDownloadMonitorTest()
     {
         super();
     }
 
-    public void setMonitor( AbstractConsoleDownloadMonitor monitor )
+    public void setMonitor( MavenTransferListener monitor )
     {
         this.monitor = monitor;
     }
 
-    public AbstractConsoleDownloadMonitor getMonitor()
+    public MavenTransferListener getMonitor()
     {
         return monitor;
     }
@@ -87,6 +90,18 @@
     {
         monitor.debug( "msg" );
     }
+    
+    private class RepositoryMock
+    extends Repository
+    {
+        public RepositoryMock()
+        {
+            super();
+            setId("mock");
+            File basedir = new File(System.getProperty( "basedir", "." ));
+            setUrl( "file://" + basedir.getAbsolutePath() + "/target/" );
+        }
+    }
 
     private class TransferEventMock
         extends TransferEvent
@@ -94,19 +109,19 @@
         public TransferEventMock()
             throws ConnectionException, AuthenticationException
         {
-            super( new FileWagon(), new Resource(), TransferEvent.TRANSFER_INITIATED, TransferEvent.REQUEST_GET );
+            super( new FileWagon(), new RepositoryMock(), new Resource(), TransferEvent.TRANSFER_INITIATED, TransferEvent.REQUEST_GET );
             getResource().setContentLength( 100000 );
-            Repository repository = new Repository();
-            getWagon().connect( repository );
+            getWagon().setRepository( new RepositoryMock() );
+            getWagon().connect();
         }
 
         public TransferEventMock( Exception exception )
             throws ConnectionException, AuthenticationException
         {
-            super( new FileWagon(), new Resource(), exception, TransferEvent.REQUEST_GET );
+            super( new FileWagon(), new RepositoryMock(), new Resource(), exception, TransferEvent.REQUEST_GET );
             getResource().setContentLength( 100000 );
-            Repository repository = new Repository();
-            getWagon().connect( repository );
+            getWagon().setRepository( new RepositoryMock() );
+            getWagon().connect();
         }
     }
 }

Modified: maven/components/trunk/maven-core/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/pom.xml?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-core/pom.xml (original)
+++ maven/components/trunk/maven-core/pom.xml Fri Feb  9 13:53:27 2007
@@ -38,21 +38,11 @@
       <version>2.1-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.maven.wagon</groupId>
-      <artifactId>wagon-file</artifactId>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-plugin-parameter-documenter</artifactId>
       <version>2.1-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.maven.wagon</groupId>
-      <artifactId>wagon-http-lightweight</artifactId>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
       <groupId>org.apache.maven.reporting</groupId>
       <artifactId>maven-reporting-api</artifactId>
       <version>2.1-SNAPSHOT</version>
@@ -73,10 +63,6 @@
       <version>2.1-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.maven.wagon</groupId>
-      <artifactId>wagon-provider-api</artifactId>
-    </dependency>
-    <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-container-default</artifactId>
     </dependency>
@@ -154,16 +140,6 @@
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-tools</artifactId>
       <version>2.1-SNAPSHOT</version>
-    </dependency>    
-    <dependency>
-      <groupId>org.apache.maven.wagon</groupId>
-      <artifactId>wagon-ssh</artifactId>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.wagon</groupId>
-      <artifactId>wagon-ssh-external</artifactId>
-      <scope>runtime</scope>
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/MavenTransferListener.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/MavenTransferListener.java?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/MavenTransferListener.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/MavenTransferListener.java Fri Feb  9 13:53:27 2007
@@ -1,5 +1,24 @@
 package org.apache.maven;
 
+/*
+ * 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.wagon.events.TransferListener;
 
 /**
@@ -9,4 +28,7 @@
 public interface MavenTransferListener
     extends TransferListener
 {
+    public boolean isShowChecksumEvents();
+
+    public void setShowChecksumEvents( boolean showChecksumEvents );
 }

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java Fri Feb  9 13:53:27 2007
@@ -24,7 +24,6 @@
 import org.codehaus.plexus.logging.console.ConsoleLogger;
 
 import java.io.File;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -94,8 +93,6 @@
             }
 
             getLogger().debug( "Finished pre-scanning: " + pom + " for build extensions." );
-
-            extensionManager.registerWagons();
         }
         catch ( ModelInterpolationException e )
         {

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java Fri Feb  9 13:53:27 2007
@@ -20,7 +20,6 @@
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.ArtifactUtils;
 import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.manager.WagonManager;
 import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
@@ -32,11 +31,9 @@
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Parent;
 import org.apache.maven.project.MavenProject;
-import org.apache.maven.wagon.Wagon;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.PlexusContainerException;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 import org.codehaus.plexus.context.Context;
 import org.codehaus.plexus.context.ContextException;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
@@ -45,7 +42,6 @@
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Map;
 
 /**
  * Used to locate extensions.
@@ -69,8 +65,6 @@
 
     private ArtifactFilterManager artifactFilterManager;
 
-    private WagonManager wagonManager;
-
     public void addExtension( Extension extension,
                               Model originatingModel,
                               List remoteRepositories,
@@ -150,19 +144,6 @@
                 
                 artifactFilterManager.excludeArtifact( a.getArtifactId() );
             }
-        }
-    }
-
-    public void registerWagons()
-    {
-        try
-        {
-            Map wagons = container.lookupMap( Wagon.ROLE );
-            wagonManager.registerWagons( wagons.keySet(), container );
-        }
-        catch ( ComponentLookupException e )
-        {
-            // now wagons found in the extension
         }
     }
 

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionManager.java?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionManager.java Fri Feb  9 13:53:27 2007
@@ -37,8 +37,6 @@
     void addExtension( Extension extension, MavenProject project, ArtifactRepository localRepository )
         throws ArtifactResolutionException, PlexusContainerException, ArtifactNotFoundException;
 
-    void registerWagons();
-
     void addExtension( Extension extension, Model originatingModel, List remoteRepositories,
                        ArtifactRepository localRepository )
         throws ArtifactResolutionException, PlexusContainerException, ArtifactNotFoundException;

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/usability/ArtifactNotFoundDiagnoser.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/usability/ArtifactNotFoundDiagnoser.java?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/usability/ArtifactNotFoundDiagnoser.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/usability/ArtifactNotFoundDiagnoser.java Fri Feb  9 13:53:27 2007
@@ -1,31 +1,39 @@
 package org.apache.maven.usability;
 
 /*
- * Copyright 2001-2005 The Apache Software Foundation.
+ * 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
  *
- * 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
  *
- *      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.
+ * 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.manager.WagonManager;
+import org.apache.maven.artifact.manager.ArtifactManager;
 import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
 import org.apache.maven.usability.diagnostics.DiagnosisUtils;
 import org.apache.maven.usability.diagnostics.ErrorDiagnoser;
 
+/**
+ * ArtifactNotFoundDiagnoser 
+ *
+ * @version $Id$
+ */
 public class ArtifactNotFoundDiagnoser
     implements ErrorDiagnoser
 {
 
-    private WagonManager wagonManager;
+    private ArtifactManager artifactManager;
 
     public boolean canDiagnose( Throwable error )
     {
@@ -46,7 +54,7 @@
         message.append( "\n\n" );
         message.append( "Reason: " ).append( exception.getMessage() );
 
-        if ( !wagonManager.isOnline() )
+        if ( !artifactManager.isOnline() )
         {
             message.append( "\n" ).append( SystemWarnings.getOfflineWarning() );
         }

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/usability/ArtifactResolverDiagnoser.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/usability/ArtifactResolverDiagnoser.java?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/usability/ArtifactResolverDiagnoser.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/usability/ArtifactResolverDiagnoser.java Fri Feb  9 13:53:27 2007
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-import org.apache.maven.artifact.manager.WagonManager;
+import org.apache.maven.artifact.manager.ArtifactManager;
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
 import org.apache.maven.usability.diagnostics.DiagnosisUtils;
 import org.apache.maven.usability.diagnostics.ErrorDiagnoser;
@@ -27,7 +27,7 @@
     implements ErrorDiagnoser
 {
 
-    private WagonManager wagonManager;
+    private ArtifactManager artifactManager;
 
     public boolean canDiagnose( Throwable error )
     {
@@ -52,7 +52,7 @@
             message.append( "\n\nCaused by I/O exception: " ).append( ioe.getMessage() );
         }
 
-        if ( !wagonManager.isOnline() )
+        if ( !artifactManager.isOnline() )
         {
             message.append( "\n" ).append( SystemWarnings.getOfflineWarning() );
         }

Modified: maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml Fri Feb  9 13:53:27 2007
@@ -82,9 +82,6 @@
         <requirement>
           <role>org.apache.maven.artifact.metadata.ArtifactMetadataSource</role>
         </requirement>
-        <requirement>
-          <role>org.apache.maven.artifact.manager.WagonManager</role>
-        </requirement>
       </requirements>
     </component>
 
@@ -196,7 +193,7 @@
       <implementation>org.apache.maven.usability.ArtifactNotFoundDiagnoser</implementation>
       <requirements>
         <requirement>
-          <role>org.apache.maven.artifact.manager.WagonManager</role>
+          <role>org.apache.maven.artifact.manager.ArtifactManager</role>
         </requirement>
       </requirements>
     </component>
@@ -211,7 +208,7 @@
       <implementation>org.apache.maven.usability.ArtifactResolverDiagnoser</implementation>
       <requirements>
         <requirement>
-          <role>org.apache.maven.artifact.manager.WagonManager</role>
+          <role>org.apache.maven.artifact.manager.ArtifactManager</role>
         </requirement>
       </requirements>
     </component>

Modified: maven/components/trunk/maven-embedder/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/pom.xml?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-embedder/pom.xml (original)
+++ maven/components/trunk/maven-embedder/pom.xml Fri Feb  9 13:53:27 2007
@@ -66,6 +66,10 @@
       <version>2.1-SNAPSHOT</version>
     </dependency>
     <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+    </dependency>
+    <dependency>
       <groupId>jdom</groupId>
       <artifactId>jdom</artifactId>
     </dependency>

Modified: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java (original)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java Fri Feb  9 13:53:27 2007
@@ -344,8 +344,6 @@
             project = mavenProjectBuilder.buildWithDependencies( new File( request.getPomFile() ),
                                                                  request.getLocalRepository(), profileManager,
                                                                  request.getTransferListener() );
-
-            
         }
         catch (PluginManagerException e) 
         {

Modified: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestDefaultsPopulator.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestDefaultsPopulator.java?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestDefaultsPopulator.java (original)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestDefaultsPopulator.java Fri Feb  9 13:53:27 2007
@@ -1,47 +1,75 @@
 package org.apache.maven.embedder.execution;
 
-import java.io.File;
-import java.util.Iterator;
+/*
+ * 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.MavenTools;
 import org.apache.maven.SettingsConfigurationException;
+import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.embedder.MavenEmbedderException;
+import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.monitor.event.DefaultEventMonitor;
 import org.apache.maven.plugin.Mojo;
-import org.apache.maven.settings.Settings;
+import org.apache.maven.settings.Mirror;
 import org.apache.maven.settings.Proxy;
 import org.apache.maven.settings.Server;
-import org.apache.maven.settings.Mirror;
+import org.apache.maven.settings.Settings;
 import org.apache.maven.usability.SystemWarnings;
-import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-import org.apache.maven.artifact.manager.WagonManager;
-import org.apache.maven.embedder.MavenEmbedderException;
-import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.wagon.manager.RepositorySettings;
+import org.apache.maven.wagon.manager.WagonManager;
+import org.apache.maven.wagon.repository.Repository;
+import org.codehaus.plexus.PlexusConstants;
+import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
+import org.codehaus.plexus.context.Context;
+import org.codehaus.plexus.context.ContextException;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
-import org.codehaus.plexus.context.ContextException;
-import org.codehaus.plexus.context.Context;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.PlexusConstants;
+import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 
+import java.io.File;
+import java.util.Iterator;
+
+/**
+ * DefaultMavenExecutionRequestDefaultsPopulator 
+ *
+ * @version $Id$
+ */
 public class DefaultMavenExecutionRequestDefaultsPopulator
     extends AbstractLogEnabled
-	implements MavenExecutionRequestDefaultsPopulator, Contextualizable
+    implements MavenExecutionRequestDefaultsPopulator, Contextualizable
 {
-	private MavenTools mavenTools;
-	
-	private ArtifactRepositoryFactory artifactRepositoryFactory;
+    private MavenTools mavenTools;
+
+    private ArtifactRepositoryFactory artifactRepositoryFactory;
 
     private PlexusContainer container;
 
-    public MavenExecutionRequest populateDefaults(MavenExecutionRequest request)
+    private WagonManager wagonManager;
+
+    public MavenExecutionRequest populateDefaults( MavenExecutionRequest request )
         throws MavenEmbedderException
     {
-		// Settings
+        // Settings
 
         if ( request.getSettings() == null )
         {
@@ -53,9 +81,9 @@
 
             try
             {
-                request.setSettings( mavenTools.buildSettings( userSettingsPath, globalSettingsFile, request.isInteractiveMode(),
-                                                         request.isOffline(), request.isUsePluginRegistry(),
-                                                         request.isUsePluginUpdateOverride() ) );
+                request.setSettings( mavenTools.buildSettings( userSettingsPath, globalSettingsFile, request
+                    .isInteractiveMode(), request.isOffline(), request.isUsePluginRegistry(), request
+                    .isUsePluginUpdateOverride() ) );
             }
             catch ( SettingsConfigurationException e )
             {
@@ -64,7 +92,7 @@
         }
 
         // Local repository
-        
+
         if ( request.getLocalRepository() == null )
         {
             String localRepositoryPath = mavenTools.getLocalRepositoryPath( request.getSettings() );
@@ -72,11 +100,11 @@
             if ( request.getLocalRepository() == null )
             {
                 request.setLocalRepository( mavenTools.createLocalRepository( new File( localRepositoryPath ) ) );
-            }                        
+            }
         }
-        
+
         // Repository update policies
-        
+
         boolean snapshotPolicySet = false;
 
         if ( request.isOffline() )
@@ -84,59 +112,40 @@
             snapshotPolicySet = true;
         }
 
-        if ( !snapshotPolicySet ) {
+        if ( !snapshotPolicySet )
+        {
             if ( request.isUpdateSnapshots() )
             {
                 artifactRepositoryFactory.setGlobalUpdatePolicy( ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS );
             }
             else if ( request.isNoSnapshotUpdates() )
             {
-                getLogger().info( "+ Supressing SNAPSHOT updates.");
+                getLogger().info( "+ Supressing SNAPSHOT updates." );
                 artifactRepositoryFactory.setGlobalUpdatePolicy( ArtifactRepositoryPolicy.UPDATE_POLICY_NEVER );
             }
         }
 
-        artifactRepositoryFactory.setGlobalChecksumPolicy( request.getGlobalChecksumPolicy() );        
+        artifactRepositoryFactory.setGlobalChecksumPolicy( request.getGlobalChecksumPolicy() );
 
-        // Wagon        
+        // Wagon
+
+        wagonManager.setOnline( !request.isOffline() );
 
         if ( request.getSettings().isOffline() )
         {
             getLogger().info( SystemWarnings.getOfflineWarning() );
 
-            WagonManager wagonManager = null;
-
-            try
+            if ( request.isOffline() )
+            {
+                wagonManager.setOnline( false );
+            }
+            else
             {
-                wagonManager = (WagonManager) container.lookup( WagonManager.ROLE );
+                wagonManager.setInteractive( request.isInteractiveMode() );
+
+                wagonManager.addTransferListener( request.getTransferListener() );
 
-                if ( request.isOffline() )
-                {
-                    wagonManager.setOnline( false );
-                }
-                else
-                {
-                    wagonManager.setInteractive( request.isInteractiveMode() );
-
-                    wagonManager.setDownloadMonitor( request.getTransferListener() );
-
-                    wagonManager.setOnline( true );
-                }
-            }
-            catch ( ComponentLookupException e )
-            {
-                throw new MavenEmbedderException( "Cannot retrieve WagonManager in order to set offline mode.", e );
-            }
-            finally
-            {
-                try
-                {
-                    container.release( wagonManager );
-                }
-                catch ( ComponentLifecycleException e )
-                {
-                    getLogger().warn( "Cannot release WagonManager.", e );
-                }
+                wagonManager.setOnline( true );
             }
         }
 
@@ -144,14 +153,6 @@
         {
             resolveParameters( request.getSettings() );
         }
-        catch ( ComponentLookupException e )
-        {
-            throw new MavenEmbedderException( "Unable to configure Maven for execution", e );
-        }
-        catch ( ComponentLifecycleException e )
-        {
-            throw new MavenEmbedderException( "Unable to configure Maven for execution", e );
-        }
         catch ( SettingsConfigurationException e )
         {
             throw new MavenEmbedderException( "Unable to configure Maven for execution", e );
@@ -179,51 +180,52 @@
     }
 
     private void resolveParameters( Settings settings )
-        throws ComponentLookupException, ComponentLifecycleException, SettingsConfigurationException
+        throws SettingsConfigurationException
     {
-        WagonManager wagonManager = (WagonManager) container.lookup( WagonManager.ROLE );
+        Proxy proxy = settings.getActiveProxy();
 
-        try
+        if ( proxy != null )
         {
-            Proxy proxy = settings.getActiveProxy();
-
-            if ( proxy != null )
+            if ( proxy.getHost() == null )
             {
-                if ( proxy.getHost() == null )
-                {
-                    throw new SettingsConfigurationException( "Proxy in settings.xml has no host" );
-                }
-
-                wagonManager.addProxy( proxy.getProtocol(), proxy.getHost(), proxy.getPort(), proxy.getUsername(),
-                                       proxy.getPassword(), proxy.getNonProxyHosts() );
+                throw new SettingsConfigurationException( "Proxy in settings.xml has no host" );
             }
 
-            for ( Iterator i = settings.getServers().iterator(); i.hasNext(); )
-            {
-                Server server = (Server) i.next();
+            wagonManager.addProxy( proxy.getProtocol(), proxy.getHost(), proxy.getPort(), proxy.getUsername(), proxy
+                .getPassword(), proxy.getNonProxyHosts() );
+        }
 
-                wagonManager.addAuthenticationInfo( server.getId(), server.getUsername(), server.getPassword(),
-                                                    server.getPrivateKey(), server.getPassphrase() );
+        for ( Iterator i = settings.getServers().iterator(); i.hasNext(); )
+        {
+            Server server = (Server) i.next();
 
-                wagonManager.addPermissionInfo( server.getId(), server.getFilePermissions(),
-                                                server.getDirectoryPermissions() );
+            RepositorySettings repoSetting = wagonManager.getRepositorySettings( server.getId() );
 
-                if ( server.getConfiguration() != null )
-                {
-                    wagonManager.addConfiguration( server.getId(), (Xpp3Dom) server.getConfiguration() );
-                }
-            }
+            repoSetting.setAuthentication( server.getUsername(), server.getPassword(), server.getPrivateKey(), server
+                .getPassphrase() );
 
-            for ( Iterator i = settings.getMirrors().iterator(); i.hasNext(); )
-            {
-                Mirror mirror = (Mirror) i.next();
+            repoSetting
+                .setPermissions( /* group */null, server.getFilePermissions(), server.getDirectoryPermissions() );
 
-                wagonManager.addMirror( mirror.getId(), mirror.getMirrorOf(), mirror.getUrl() );
+            if ( server.getConfiguration() != null )
+            {
+                repoSetting.setConfiguration( new XmlPlexusConfiguration( (Xpp3Dom) server.getConfiguration() ) );
             }
         }
-        finally
+
+        for ( Iterator i = settings.getMirrors().iterator(); i.hasNext(); )
         {
-            container.release( wagonManager );
+            Mirror mirror = (Mirror) i.next();
+            
+            try
+            {
+                wagonManager.addRepositoryMirror( mirror.getMirrorOf(), mirror.getId(), mirror.getUrl() );
+            }
+            catch ( IllegalArgumentException e )
+            {
+                throw new SettingsConfigurationException( "Unable to configure mirror " + mirror + ": "
+                    + e.getMessage(), e );
+            }
         }
     }
 

Modified: maven/components/trunk/maven-embedder/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/resources/META-INF/plexus/components.xml?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/trunk/maven-embedder/src/main/resources/META-INF/plexus/components.xml Fri Feb  9 13:53:27 2007
@@ -5,12 +5,16 @@
       <implementation>org.apache.maven.embedder.execution.DefaultMavenExecutionRequestDefaultsPopulator</implementation>
       <requirements>
         <requirement>
+          <role>org.apache.maven.wagon.manager.WagonManager</role>
+          <role-hint>default</role-hint>
+        </requirement>
+        <requirement>
           <role>org.apache.maven.MavenTools</role>
         </requirement>
         <requirement>
           <role>org.apache.maven.artifact.repository.ArtifactRepositoryFactory</role>
-        </requirement>        
+        </requirement>
       </requirements>
     </component>
   </components>
-</component-set>
\ No newline at end of file
+</component-set>

Modified: maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java (original)
+++ maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java Fri Feb  9 13:53:27 2007
@@ -47,6 +47,26 @@
         maven.stop();
     }
 
+    private void assertNoExceptions( MavenExecutionResult result )
+    {
+        List exceptions = result.getExceptions();
+        if ( ( exceptions == null ) || exceptions.isEmpty() )
+        {
+            // everything is a-ok.
+            return;
+        }
+
+        System.err.println( "Encountered " + exceptions.size() + " exception(s)." );
+        Iterator it = exceptions.iterator();
+        while ( it.hasNext() )
+        {
+            Exception exception = (Exception) it.next();
+            exception.printStackTrace( System.err );
+        }
+
+        fail( "Encountered Exceptions in MavenExecutionResult during " + getName() );
+    }
+
     // ----------------------------------------------------------------------
     // Goal/Phase execution tests
     // ----------------------------------------------------------------------
@@ -60,13 +80,13 @@
 
         FileUtils.copyDirectoryStructure( testDirectory, targetDirectory );
 
-        MavenExecutionRequest request = new DefaultMavenExecutionRequest()
-            .setBaseDirectory( targetDirectory )
-            .setShowErrors( true )
-            .setGoals( Arrays.asList( new String[]{ "package" } ) );
+        MavenExecutionRequest request = new DefaultMavenExecutionRequest().setBaseDirectory( targetDirectory )
+            .setShowErrors( true ).setGoals( Arrays.asList( new String[] { "package" } ) );
 
         MavenExecutionResult result = maven.execute( request );
 
+        assertNoExceptions( result );
+
         MavenProject project = result.getMavenProject();
 
         assertEquals( "embedder-test-project", project.getArtifactId() );
@@ -85,13 +105,16 @@
 
         FileUtils.copyDirectoryStructure( testDirectory, targetDirectory );
 
-        MavenExecutionRequest request = new DefaultMavenExecutionRequest()
-            .setPomFile( new File( targetDirectory, "pom.xml" ).getAbsolutePath() )
-            .setShowErrors( true )
-            .setGoals( Arrays.asList( new String[]{ "package" } ) );
+        MavenExecutionRequest request = new DefaultMavenExecutionRequest().setPomFile(
+                                                                                       new File( targetDirectory,
+                                                                                                 "pom.xml" )
+                                                                                           .getAbsolutePath() )
+            .setShowErrors( true ).setGoals( Arrays.asList( new String[] { "package" } ) );
 
         MavenExecutionResult result = maven.execute( request );
 
+        assertNoExceptions( result );
+        
         MavenProject project = result.getMavenProject();
 
         assertEquals( "embedder-test-project", project.getArtifactId() );
@@ -113,11 +136,12 @@
         // Check with profile not active
 
         MavenExecutionRequest requestWithoutProfile = new DefaultMavenExecutionRequest()
-            .setPomFile( new File( targetDirectory, "pom.xml" ).getAbsolutePath() )
-            .setShowErrors( true )
-            .setGoals( Arrays.asList( new String[]{ "validate" } ) );
+            .setPomFile( new File( targetDirectory, "pom.xml" ).getAbsolutePath() ).setShowErrors( true )
+            .setGoals( Arrays.asList( new String[] { "validate" } ) );
 
         MavenExecutionResult r0 = maven.execute( requestWithoutProfile );
+        
+        assertNoExceptions( r0 );
 
         MavenProject p0 = r0.getMavenProject();
 
@@ -129,10 +153,11 @@
 
         // Check with profile activated
 
-        MavenExecutionRequest request = new DefaultMavenExecutionRequest()
-            .setPomFile( new File( targetDirectory, "pom.xml" ).getAbsolutePath() )
-            .setShowErrors( true )
-            .setGoals( Arrays.asList( new String[]{ "validate" } ) )
+        MavenExecutionRequest request = new DefaultMavenExecutionRequest().setPomFile(
+                                                                                       new File( targetDirectory,
+                                                                                                 "pom.xml" )
+                                                                                           .getAbsolutePath() )
+            .setShowErrors( true ).setGoals( Arrays.asList( new String[] { "validate" } ) )
             .addActiveProfile( "embedderProfile" );
 
         MavenExecutionResult r1 = maven.execute( request );
@@ -191,11 +216,12 @@
     public void testProjectReading()
         throws Exception
     {
-        MavenExecutionRequest request = new DefaultMavenExecutionRequest()
-            .setShowErrors( true )
+        MavenExecutionRequest request = new DefaultMavenExecutionRequest().setShowErrors( true )
             .setPomFile( getPomFile().getAbsolutePath() );
 
         MavenExecutionResult result = maven.readProjectWithDependencies( request );
+        
+        assertNoExceptions( result );
 
         assertEquals( "org.apache.maven", result.getMavenProject().getGroupId() );
 
@@ -207,34 +233,34 @@
 
         System.out.println( "artifact = " + artifact );
     }
-    
+
     public void testProjectWithExtensionsReading()
         throws Exception
     {
-        MavenExecutionRequest request = new DefaultMavenExecutionRequest()
-            .setShowErrors( true )
-            .setPomFile(new File( basedir, "src/test/resources/pom2.xml" ).getAbsolutePath());
+        MavenExecutionRequest request = new DefaultMavenExecutionRequest().setShowErrors( true )
+            .setPomFile( new File( basedir, "src/test/resources/pom2.xml" ).getAbsolutePath() );
 
         ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
-        MavenExecutionResult result = new ExtendableMavenEmbedder(classLoader).readProjectWithDependencies( request );
-        
-//        Iterator it = result.getMavenProject().getTestClasspathElements().iterator();
-//        while(it.hasNext()) {
-//            Object object = (Object) it.next();
-//            System.out.println(" element=" + object);
-//        }
+        MavenExecutionResult result = new ExtendableMavenEmbedder( classLoader ).readProjectWithDependencies( request );
         
+        assertNoExceptions( result );
+
+        //        Iterator it = result.getMavenProject().getTestClasspathElements().iterator();
+        //        while(it.hasNext()) {
+        //            Object object = (Object) it.next();
+        //            System.out.println(" element=" + object);
+        //        }
+
         // sources, test sources, and the junit jar..
-        assertEquals( 3, result.getMavenProject().getTestClasspathElements().size());
-        
+        assertEquals( 3, result.getMavenProject().getTestClasspathElements().size() );
+
     }
-    
 
     // ----------------------------------------------------------------------------
     // Model Writing
     // ----------------------------------------------------------------------------
 
-     public void testModelWriting()
+    public void testModelWriting()
         throws Exception
     {
         Model model = maven.readModel( getPomFile() );
@@ -262,52 +288,68 @@
     {
         return new File( basedir, "src/test/resources/pom.xml" );
     }
-    
-    private class ExtendableMavenEmbedder extends MavenEmbedder {
-        
-        public ExtendableMavenEmbedder(ClassLoader classLoader) throws MavenEmbedderException {
-            super( classLoader, new MavenEmbedderConsoleLogger());
+
+    private class ExtendableMavenEmbedder
+        extends MavenEmbedder
+    {
+
+        public ExtendableMavenEmbedder( ClassLoader classLoader )
+            throws MavenEmbedderException
+        {
+            super( classLoader, new MavenEmbedderConsoleLogger() );
         }
-        
-        protected Map getPluginExtensionComponents(Plugin plugin) throws PluginManagerException  {
-            Map toReturn  = new HashMap();
+
+        protected Map getPluginExtensionComponents( Plugin plugin )
+            throws PluginManagerException
+        {
+            Map toReturn = new HashMap();
             MyArtifactHandler handler = new MyArtifactHandler();
-            toReturn.put("mkleint", handler);
+            toReturn.put( "mkleint", handler );
             return toReturn;
         }
-        
-        protected void verifyPlugin( Plugin plugin, MavenProject project ) {
+
+        protected void verifyPlugin( Plugin plugin, MavenProject project )
+        {
             //ignore don't want to actually verify in test
         }
     }
-    
-    private class MyArtifactHandler implements ArtifactHandler {
-        
-        public String getExtension() {
+
+    private class MyArtifactHandler
+        implements ArtifactHandler
+    {
+
+        public String getExtension()
+        {
             return "jar";
         }
 
-        public String getDirectory() {
-            throw new UnsupportedOperationException("Not supported yet.");
+        public String getDirectory()
+        {
+            throw new UnsupportedOperationException( "Not supported yet." );
         }
 
-        public String getClassifier() {
+        public String getClassifier()
+        {
             return null;
         }
 
-        public String getPackaging() {
+        public String getPackaging()
+        {
             return "mkleint";
         }
 
-        public boolean isIncludesDependencies() {
+        public boolean isIncludesDependencies()
+        {
             return false;
         }
 
-        public String getLanguage() {
+        public String getLanguage()
+        {
             return "java";
         }
 
-        public boolean isAddedToClasspath() {
+        public boolean isAddedToClasspath()
+        {
             return true;
         }
     }

Modified: maven/components/trunk/maven-project/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/pom.xml?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-project/pom.xml (original)
+++ maven/components/trunk/maven-project/pom.xml Fri Feb  9 13:53:27 2007
@@ -78,10 +78,5 @@
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-container-default</artifactId>
     </dependency>
-      <dependency>
-        <groupId>org.apache.maven.wagon</groupId>
-        <artifactId>wagon-file</artifactId>
-        <scope>test</scope>
-      </dependency>
   </dependencies>
 </project>

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Fri Feb  9 13:53:27 2007
@@ -22,6 +22,7 @@
 import org.apache.maven.artifact.ArtifactUtils;
 import org.apache.maven.artifact.InvalidRepositoryException;
 import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.manager.ArtifactManager;
 import org.apache.maven.artifact.manager.WagonManager;
 import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
 import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -175,9 +176,11 @@
     // I am making this available for use with a new method that takes a
     // a monitor wagon monitor as a parameter so that tools can use the
     // methods here and receive callbacks. MNG-1015
+    //     
+    //    Probably no longer relevant with wagonManager/artifactManager change - joakime
     // ----------------------------------------------------------------------
 
-    private WagonManager wagonManager;
+    private ArtifactManager artifactManager;
 
     public static final String MAVEN_MODEL_VERSION = "4.0.0";
 
@@ -361,7 +364,7 @@
 
         if ( transferListener != null )
         {
-            wagonManager.setDownloadMonitor( transferListener );
+            artifactManager.getWagonManager().addTransferListener( transferListener );
         }
 
         ArtifactResolutionResult result = artifactResolver.resolveTransitively( project.getDependencyArtifacts(),

Modified: maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml Fri Feb  9 13:53:27 2007
@@ -127,7 +127,7 @@
           <role-hint>default</role-hint>
         </requirement>
         <requirement>
-          <role>org.apache.maven.artifact.manager.WagonManager</role>
+          <role>org.apache.maven.artifact.manager.ArtifactManager</role>
         </requirement>
         <requirement>
           <role>org.apache.maven.MavenTools</role>

Modified: maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml (original)
+++ maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml Fri Feb  9 13:53:27 2007
@@ -41,7 +41,7 @@
       <implementation>org.apache.maven.project.TestArtifactResolver</implementation>
       <requirements>
         <requirement>
-          <role>org.apache.maven.artifact.manager.WagonManager</role>
+          <role>org.apache.maven.artifact.manager.ArtifactManager</role>
         </requirement>
         <requirement>
           <role>org.apache.maven.artifact.factory.ArtifactFactory</role>

Modified: maven/components/trunk/maven-settings/src/main/mdo/settings.mdo
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-settings/src/main/mdo/settings.mdo?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/maven-settings/src/main/mdo/settings.mdo (original)
+++ maven/components/trunk/maven-settings/src/main/mdo/settings.mdo Fri Feb  9 13:53:27 2007
@@ -528,6 +528,25 @@
         </field>
 -->
       </fields>
+      <codeSegments>
+        <codeSegment>
+          <version>1.0.0</version>
+          <code><![CDATA[
+          
+    public String toString()
+    {
+        StringBuffer sb = new StringBuffer();
+        sb.append( "Mirror[" );
+        sb.append( "id=" ).append( this.getId() );
+        sb.append( ",mirrorOf=" ).append( mirrorOf );
+        sb.append( ",url=" ).append( this.url );
+        sb.append( ",name=" ).append( this.name );
+        sb.append( "]" );
+        return sb.toString();
+    }
+          ]]></code>
+        </codeSegment>
+      </codeSegments>      
     </class>
     <!-- Profile support -->
     <class>

Modified: maven/components/trunk/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/pom.xml?view=diff&rev=505520&r1=505519&r2=505520
==============================================================================
--- maven/components/trunk/pom.xml (original)
+++ maven/components/trunk/pom.xml Fri Feb  9 13:53:27 2007
@@ -168,7 +168,6 @@
     <module>maven-tools</module>
   </modules>
   <properties>
-    <wagonVersion>1.0-beta-3-SNAPSHOT</wagonVersion>
     <plexusVersion>1.0-alpha-16</plexusVersion>
   </properties>
   <dependencies>
@@ -190,7 +189,7 @@
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-component-api</artifactId>
         <version>${plexusVersion}</version>
-      </dependency>      
+      </dependency>
       <dependency>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-classworlds</artifactId>
@@ -202,29 +201,19 @@
         <version>1.4</version>
       </dependency>
       <dependency>
-        <groupId>org.apache.maven.wagon</groupId>
-        <artifactId>wagon-provider-api</artifactId>
-        <version>${wagonVersion}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.maven.wagon</groupId>
-        <artifactId>wagon-ssh</artifactId>
-        <version>${wagonVersion}</version>
+        <groupId>commons-lang</groupId>
+        <artifactId>commons-lang</artifactId>
+        <version>2.1</version>
       </dependency>
       <dependency>
         <groupId>org.apache.maven.wagon</groupId>
-        <artifactId>wagon-ssh-external</artifactId>
-        <version>${wagonVersion}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.maven.wagon</groupId>
-        <artifactId>wagon-file</artifactId>
-        <version>${wagonVersion}</version>
+        <artifactId>wagon-provider-api</artifactId>
+        <version>1.0-beta-3-SNAPSHOT</version>
       </dependency>
       <dependency>
         <groupId>org.apache.maven.wagon</groupId>
-        <artifactId>wagon-http-lightweight</artifactId>
-        <version>${wagonVersion}</version>
+        <artifactId>wagon-manager</artifactId>
+        <version>1.0-beta-3-SNAPSHOT</version>
       </dependency>
       <dependency>
         <groupId>easymock</groupId>