Author: brett
Date: Fri Apr 22 00:55:32 2005
New Revision: 164189

URL: http://svn.apache.org/viewcvs?rev=164189&view=rev
Log:
decouple auth info from repository, allows removing settings from project code

Modified:
    
maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
    
maven/components/trunk/maven-artifact-test/src/main/java/org/apache/maven/artifact/test/ArtifactTestCase.java
    
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
    
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
    
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
    
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java

Modified: 
maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java?rev=164189&r1=164188&r2=164189&view=diff
==============================================================================
--- 
maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
 (original)
+++ 
maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
 Fri Apr 22 00:55:32 2005
@@ -31,7 +31,6 @@
 /**
  * @author <a href="[EMAIL PROTECTED]">Emmanuel Venisse</a>
  * @version $Revision$ $Date$
- * @todo improve the use of this now that plugin fields are used instead of a 
request object - add an <archive> element to configuration?
  */
 public class MavenArchiver
 {

Modified: 
maven/components/trunk/maven-artifact-test/src/main/java/org/apache/maven/artifact/test/ArtifactTestCase.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-test/src/main/java/org/apache/maven/artifact/test/ArtifactTestCase.java?rev=164189&r1=164188&r2=164189&view=diff
==============================================================================
--- 
maven/components/trunk/maven-artifact-test/src/main/java/org/apache/maven/artifact/test/ArtifactTestCase.java
 (original)
+++ 
maven/components/trunk/maven-artifact-test/src/main/java/org/apache/maven/artifact/test/ArtifactTestCase.java
 Fri Apr 22 00:55:32 2005
@@ -20,9 +20,8 @@
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.layout.ArtifactPathFormatException;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.wagon.repository.Repository;
-import org.apache.maven.settings.Settings;
 import org.apache.maven.settings.Profile;
+import org.apache.maven.settings.Settings;
 import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
 import org.codehaus.plexus.PlexusTestCase;
 

Modified: 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java?rev=164189&r1=164188&r2=164189&view=diff
==============================================================================
--- 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
 (original)
+++ 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
 Fri Apr 22 00:55:32 2005
@@ -67,12 +67,6 @@
                         ArtifactRepository localRepository )
         throws ArtifactDeploymentException
     {
-        if ( deploymentRepository.getAuthenticationInfo() == null )
-        {
-            getLogger().warn( "Deployment repository {id: \'" + 
deploymentRepository.getId() +
-                           "\'} has no associated authentication info!" );
-        }
-
         try
         {
             // TODO: better to have a transform manager, or reuse the handler 
manager again so we don't have these requirements duplicated all over?

Modified: 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=164189&r1=164188&r2=164189&view=diff
==============================================================================
--- 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
 (original)
+++ 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
 Fri Apr 22 00:55:32 2005
@@ -28,6 +28,7 @@
 import org.apache.maven.wagon.UnsupportedProtocolException;
 import org.apache.maven.wagon.Wagon;
 import org.apache.maven.wagon.authentication.AuthenticationException;
+import org.apache.maven.wagon.authentication.AuthenticationInfo;
 import org.apache.maven.wagon.authorization.AuthorizationException;
 import org.apache.maven.wagon.events.TransferListener;
 import org.apache.maven.wagon.observers.ChecksumObserver;
@@ -56,8 +57,11 @@
 {
     private PlexusContainer container;
 
+    // TODO: proxies and authentication are via settings, and should come in 
via an alternate method - perhaps attached to ArtifactRepository before the 
method is called (so AR would be composed of WR, not inherit it)
     private Map proxies = new HashMap();
 
+    private Map authenticationInfoMap = new HashMap();
+
     private TransferListener downloadMonitor;
 
     private ArtifactHandlerManager artifactHandlerManager;
@@ -145,7 +149,8 @@
 
         try
         {
-            wagon.connect( repository, getProxy( repository.getProtocol() ) );
+            wagon.connect( repository, getAuthenticationInfo( 
repository.getId() ),
+                           getProxy( repository.getProtocol() ) );
 
             wagon.put( source, remotePath );
 
@@ -303,7 +308,8 @@
 
         try
         {
-            wagon.connect( repository, getProxy( repository.getProtocol() ) );
+            wagon.connect( repository, getAuthenticationInfo( 
repository.getId() ),
+                           getProxy( repository.getProtocol() ) );
 
             wagon.get( remotePath, temp );
 
@@ -410,6 +416,11 @@
         return (ProxyInfo) proxies.get( protocol );
     }
 
+    private AuthenticationInfo getAuthenticationInfo( String id )
+    {
+        return (AuthenticationInfo) authenticationInfoMap.get( id );
+    }
+
     /**
      * Set the proxy used for a particular protocol.
      *
@@ -422,7 +433,7 @@
      *                      property format: <code>*.foo.com|localhost</code>.
      * @todo [BP] would be nice to configure this via plexus in some way
      */
-    public void setProxy( String protocol, String host, int port, String 
username, String password,
+    public void addProxy( String protocol, String host, int port, String 
username, String password,
                           String nonProxyHosts )
     {
         ProxyInfo proxyInfo = new ProxyInfo();
@@ -448,5 +459,21 @@
     public void setDownloadMonitor( TransferListener downloadMonitor )
     {
         this.downloadMonitor = downloadMonitor;
+    }
+
+    public void addAuthenticationInfo( String repositoryId, String username, 
String password, String privateKey,
+                                       String passphrase )
+    {
+        AuthenticationInfo authInfo = new AuthenticationInfo();
+
+        authInfo.setUserName( username );
+
+        authInfo.setPassword( password );
+
+        authInfo.setPrivateKey( privateKey );
+
+        authInfo.setPassphrase( passphrase );
+
+        authenticationInfoMap.put( repositoryId, authInfo );
     }
 }

Modified: 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/WagonManager.java?rev=164189&r1=164188&r2=164189&view=diff
==============================================================================
--- 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
 (original)
+++ 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
 Fri Apr 22 00:55:32 2005
@@ -54,7 +54,10 @@
     public void getArtifactMetadata( ArtifactMetadata metadata, 
ArtifactRepository remoteRepository, File destination )
         throws TransferFailedException, ResourceDoesNotExistException;
 
-    void setProxy( String protocol, String host, int port, String username, 
String password, String nonProxyHosts );
+    void addProxy( String protocol, String host, int port, String username, 
String password, String nonProxyHosts );
+
+    void addAuthenticationInfo( String repositoryId, String username, String 
password, String privateKey,
+                                String passphrase );
 
     void setDownloadMonitor( TransferListener downloadMonitor );
 }

Modified: 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java?rev=164189&r1=164188&r2=164189&view=diff
==============================================================================
--- 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java
 (original)
+++ 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java
 Fri Apr 22 00:55:32 2005
@@ -50,25 +50,9 @@
         this( id, url, layout, SNAPSHOT_POLICY_NEVER );
     }
 
-    public ArtifactRepository( String id, String url, AuthenticationInfo 
authenticationInfo,
-                               ArtifactRepositoryLayout layout )
-    {
-        this( id, url, authenticationInfo, layout, SNAPSHOT_POLICY_NEVER );
-    }
-
     public ArtifactRepository( String id, String url, ArtifactRepositoryLayout 
layout, String snapshotPolicy )
     {
         super( id, url );
-
-        this.layout = layout;
-
-        this.snapshotPolicy = snapshotPolicy;
-    }
-
-    public ArtifactRepository( String id, String url, AuthenticationInfo 
authInfo, ArtifactRepositoryLayout layout,
-                               String snapshotPolicy )
-    {
-        super( id, url, authInfo );
 
         this.layout = layout;
 

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=164189&r1=164188&r2=164189&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
 Fri Apr 22 00:55:32 2005
@@ -19,7 +19,6 @@
 
 import org.apache.maven.artifact.manager.WagonManager;
 import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
 import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.execution.MavenExecutionResponse;
@@ -29,13 +28,13 @@
 import org.apache.maven.monitor.event.EventDispatcher;
 import org.apache.maven.monitor.event.MavenEvents;
 import org.apache.maven.plugin.PluginExecutionException;
-import org.apache.maven.plugin.PluginManager;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectBuilder;
 import org.apache.maven.project.ProjectBuildingException;
 import org.apache.maven.project.ProjectSorter;
 import org.apache.maven.reactor.ReactorException;
 import org.apache.maven.settings.Proxy;
+import org.apache.maven.settings.Server;
 import org.apache.maven.settings.Settings;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusContainer;
@@ -295,9 +294,8 @@
 
     protected MavenSession createSession( MavenExecutionRequest request, 
MavenProject project )
     {
-        return new MavenSession( project, container, request.getSettings(),
-                                 request.getLocalRepository(), 
request.getEventDispatcher(), request.getLog(),
-                                 request.getGoals() );
+        return new MavenSession( project, container, request.getSettings(), 
request.getLocalRepository(),
+                                 request.getEventDispatcher(), 
request.getLog(), request.getGoals() );
     }
 
     /**
@@ -317,10 +315,17 @@
 
         if ( proxy != null )
         {
-            wagonManager.setProxy( proxy.getProtocol(), proxy.getHost(), 
proxy.getPort(), proxy.getUsername(),
+            wagonManager.addProxy( proxy.getProtocol(), proxy.getHost(), 
proxy.getPort(), proxy.getUsername(),
                                    proxy.getPassword(), 
proxy.getNonProxyHosts() );
         }
 
+        for ( Iterator i = settings.getServers().iterator(); i.hasNext(); )
+        {
+            Server server = (Server) i.next();
+
+            wagonManager.addAuthenticationInfo( server.getId(), 
server.getUsername(), server.getPassword(),
+                                                server.getPrivateKey(), 
server.getPassphrase() );
+        }
     }
 
     // ----------------------------------------------------------------------

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java?rev=164189&r1=164188&r2=164189&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java
 Fri Apr 22 00:55:32 2005
@@ -18,14 +18,7 @@
 
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
 import org.apache.maven.settings.MavenSettingsBuilder;
-import org.apache.maven.settings.Server;
-import org.apache.maven.settings.Settings;
-import org.apache.maven.wagon.authentication.AuthenticationInfo;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-
-import java.io.IOException;
 
 /**
  * @author jdcasey
@@ -44,50 +37,6 @@
                                                         
ArtifactRepositoryLayout repositoryLayout,
                                                         String snapshotPolicy )
     {
-        AuthenticationInfo authInfo = null;
-
-        if ( id != null && id.length() > 0 )
-        {
-            Settings settings = null;
-            try
-            {
-                settings = settingsBuilder.buildSettings();
-            }
-            catch ( IOException e )
-            {
-                getLogger().warn( "Error reading settings", e );
-            }
-            catch ( XmlPullParserException e )
-            {
-                getLogger().warn( "Error reading settings", e );
-            }
-
-            Server repoProfile = settings.getServer( id );
-
-            if ( repoProfile != null )
-            {
-                authInfo = new AuthenticationInfo();
-
-                authInfo.setUserName( repoProfile.getUsername() );
-
-                authInfo.setPassword( repoProfile.getPassword() );
-
-                authInfo.setPrivateKey( repoProfile.getPrivateKey() );
-
-                authInfo.setPassphrase( repoProfile.getPassphrase() );
-            }
-
-        }
-        else
-        {
-            Logger logger = getLogger();
-            if ( logger != null )
-            {
-                logger.warn( "Cannot associate authentication to repository 
with null id. The offending repository's URL is: " +
-                             url );
-            }
-        }
-
         ArtifactRepository repo = null;
 
         if ( globalSnapshotPolicy != null )
@@ -95,14 +44,7 @@
             snapshotPolicy = globalSnapshotPolicy;
         }
 
-        if ( authInfo != null )
-        {
-            repo = new ArtifactRepository( id, url, authInfo, 
repositoryLayout, snapshotPolicy );
-        }
-        else
-        {
-            repo = new ArtifactRepository( id, url, repositoryLayout, 
snapshotPolicy );
-        }
+        repo = new ArtifactRepository( id, url, repositoryLayout, 
snapshotPolicy );
 
         return repo;
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to