You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2009/07/23 00:58:25 UTC

svn commit: r796903 - in /maven/components/trunk: maven-compat/src/main/java/org/apache/maven/artifact/repository/ maven-compat/src/main/java/org/apache/maven/repository/ maven-compat/src/main/java/org/apache/maven/repository/legacy/ maven-embedder/src...

Author: jvanzyl
Date: Wed Jul 22 22:58:24 2009
New Revision: 796903

URL: http://svn.apache.org/viewvc?rev=796903&view=rev
Log:
o using the repository system and repositories to mediate proxy use. proxies restored.

Modified:
    maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java
    maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
    maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java
    maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/LegacyRepositorySystem.java
    maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/Proxy.java
    maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/RepositorySystem.java
    maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java
    maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java

Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java?rev=796903&r1=796902&r2=796903&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java Wed Jul 22 22:58:24 2009
@@ -18,6 +18,7 @@
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.repository.Proxy;
 
 public interface ArtifactRepository
 {
@@ -58,7 +59,9 @@
     //
     Artifact find( Artifact artifact );
     
-    void setAuthentication( Authentication authentication );
-    
+    void setAuthentication( Authentication authentication );    
     Authentication getAuthentication();
+    
+    void setProxy( Proxy proxy );
+    Proxy getProxy();
 }

Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java?rev=796903&r1=796902&r2=796903&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java Wed Jul 22 22:58:24 2009
@@ -24,6 +24,7 @@
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.repository.Proxy;
 import org.apache.maven.wagon.repository.Repository;
 
 /**
@@ -216,4 +217,17 @@
     {
         // do nothing
     }
+    
+    //
+    // This implementation does not support proxies
+    //
+    public Proxy getProxy()
+    {
+        return null;
+    }
+
+    public void setProxy( Proxy proxy )
+    {
+        // do nothing
+    }
 }

Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java?rev=796903&r1=796902&r2=796903&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java Wed Jul 22 22:58:24 2009
@@ -24,6 +24,7 @@
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.repository.Proxy;
 
 //TODO: completely separate local and remote artifact repositories
 public class MavenArtifactRepository
@@ -45,6 +46,8 @@
     
     private Authentication authentication;
     
+    private Proxy proxy;
+    
     public MavenArtifactRepository()
     {
     }
@@ -353,4 +356,14 @@
     {
         this.authentication = authentication;        
     }
+
+    public Proxy getProxy()
+    {
+        return proxy;
+    }
+
+    public void setProxy( Proxy proxy )
+    {
+        this.proxy = proxy;
+    }
 }

Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/LegacyRepositorySystem.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/LegacyRepositorySystem.java?rev=796903&r1=796902&r2=796903&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/LegacyRepositorySystem.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/LegacyRepositorySystem.java Wed Jul 22 22:58:24 2009
@@ -86,6 +86,10 @@
     @Requirement
     private PlexusContainer plexus;
 
+    private Map<String, Authentication> authentications = new HashMap<String, Authentication>();
+
+    private Map<String, Proxy> proxies = new HashMap<String,Proxy>();
+    
     public Artifact createArtifact( String groupId, String artifactId, String version, String scope, String type )
     {
         return artifactFactory.createArtifact( groupId, artifactId, version, scope, type );
@@ -490,8 +494,6 @@
         wagonManager.putRemoteFile( repository, source, remotePath, downloadMonitor );
     }
 
-    private Map<String, Authentication> authentications = new HashMap<String, Authentication>();
-
     //
     // serverId = repository id
     //
@@ -550,6 +552,25 @@
             artifactRepository.setAuthentication( authentication );
         }
         
+        Proxy proxy = proxies.get(  artifactRepository.getProtocol() );
+        
+        if ( proxy != null )
+        {
+            artifactRepository.setProxy( proxy );
+        }
+        
         return artifactRepository;
+    }
+
+    public void addProxy( String protocol, String host, int port, String username, String password, String nonProxyHosts )
+    {
+        Proxy proxy = new Proxy();
+        proxy.setHost( host );
+        proxy.setProtocol( protocol );
+        proxy.setPort( port );
+        proxy.setNonProxyHosts( nonProxyHosts );
+        proxy.setUserName( username );
+        proxy.setPassword( password );
+        proxies.put( protocol, proxy );        
     }   
 }

Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/Proxy.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/Proxy.java?rev=796903&r1=796902&r2=796903&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/Proxy.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/Proxy.java Wed Jul 22 22:58:24 2009
@@ -50,7 +50,7 @@
     /**
      * Type of the proxy
      */
-    private String type;
+    private String protocol;
 
     /**
      * The non-proxy hosts. Follows Java system property format: <code>*.foo.com|localhost</code>.
@@ -152,17 +152,17 @@
      * 
      * @return the type of the proxy server
      */
-    public String getType()
+    public String getProtocol()
     {
-        return type;
+        return protocol;
     }
 
     /**
      * @param type the type of the proxy server like <i>SOCKSv4</i>
      */
-    public void setType( String type )
+    public void setProtocol( String protocol )
     {
-        this.type = type;
+        this.protocol = protocol;
     }
 
     public String getNonProxyHosts()

Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/RepositorySystem.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/RepositorySystem.java?rev=796903&r1=796902&r2=796903&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/RepositorySystem.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/RepositorySystem.java Wed Jul 22 22:58:24 2009
@@ -114,5 +114,7 @@
     void retrieve( ArtifactRepository repository, File destination, String remotePath, TransferListener downloadMonitor )
         throws TransferFailedException, ResourceDoesNotExistException; 
         
-    void addAuthenticationForArtifactRepository( String repositoryId, String username, String password );    
+    void addAuthenticationForArtifactRepository( String repositoryId, String username, String password );
+
+    void addProxy( String protocol, String host, int port, String username, String password, String nonProxyHosts );    
 }

Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java?rev=796903&r1=796902&r2=796903&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java Wed Jul 22 22:58:24 2009
@@ -223,25 +223,42 @@
     {
         if ( repository.getAuthentication() != null )
         {
-            //
-            // We have authentication we have been asked to deal with.
-            //
-            AuthenticationInfo ai = new AuthenticationInfo();
-            ai.setUserName( repository.getAuthentication().getUsername() );
-            ai.setPassword( repository.getAuthentication().getPassword() );
-            
-            wagon.connect( new Repository( repository.getId(), repository.getUrl() ), ai );                    
+            wagon.connect( new Repository( repository.getId(), repository.getUrl() ), authenticationInfo( repository ) );                    
+        }
+        else if ( repository.getProxy() != null )
+        {
+            wagon.connect( new Repository( repository.getId(), repository.getUrl() ), proxyInfo( repository ) );                    
+        }
+        else if ( repository.getAuthentication() != null && repository.getProxy() != null )
+        {
+            wagon.connect( new Repository( repository.getId(), repository.getUrl() ), authenticationInfo( repository ), proxyInfo( repository ) );                                
         }
         else
         {
             wagon.connect( new Repository( repository.getId(), repository.getUrl() ) );                    
         }
-        
-        //
-        // ProxyInfo proxyInfo = new ProxyInfo();
-        //        
     }    
     
+    private AuthenticationInfo authenticationInfo( ArtifactRepository repository )
+    {
+        AuthenticationInfo ai = new AuthenticationInfo();
+        ai.setUserName( repository.getAuthentication().getUsername() );
+        ai.setPassword( repository.getAuthentication().getPassword() );
+        return ai;        
+    }
+    
+    private ProxyInfo proxyInfo( ArtifactRepository repository )
+    {
+        ProxyInfo proxyInfo = new ProxyInfo();
+        proxyInfo.setHost( repository.getProxy().getHost() );
+        proxyInfo.setType( repository.getProxy().getProtocol() );
+        proxyInfo.setPort( repository.getProxy().getPort() );
+        proxyInfo.setNonProxyHosts( repository.getProxy().getNonProxyHosts() );
+        proxyInfo.setUserName( repository.getProxy().getUserName() );
+        proxyInfo.setPassword( repository.getProxy().getPassword() );            
+        return proxyInfo;
+    }
+    
     public void getRemoteFile( ArtifactRepository repository, File destination, String remotePath, TransferListener downloadMonitor, String checksumPolicy, boolean force )
         throws TransferFailedException, ResourceDoesNotExistException
     {

Modified: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java?rev=796903&r1=796902&r2=796903&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java (original)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java Wed Jul 22 22:58:24 2009
@@ -186,7 +186,6 @@
         //    </proxy>
         //  </proxies>
 
-        /*
         Proxy proxy = settings.getActiveProxy();
 
         if ( proxy != null )
@@ -198,7 +197,6 @@
 
             repositorySystem.addProxy( proxy.getProtocol(), proxy.getHost(), proxy.getPort(), proxy.getUsername(), proxy.getPassword(), proxy.getNonProxyHosts() );
         }
-        */
 
         for ( Server server : settings.getServers() )
         {