You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2013/08/31 22:35:40 UTC
git commit: [MNG-5509]
org.apache.maven.repository.legacy.DefaultWagonManager should set User-Agent
Updated Branches:
refs/heads/master 5691c6e27 -> c9950d777
[MNG-5509] org.apache.maven.repository.legacy.DefaultWagonManager should
set User-Agent
Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/c9950d77
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/c9950d77
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/c9950d77
Branch: refs/heads/master
Commit: c9950d777c7368e51431500c29aecf1e11e3d2c6
Parents: 5691c6e
Author: rfscholte <rf...@apache.org>
Authored: Sat Aug 31 22:35:02 2013 +0200
Committer: rfscholte <rf...@apache.org>
Committed: Sat Aug 31 22:35:02 2013 +0200
----------------------------------------------------------------------
.../repository/legacy/DefaultWagonManager.java | 34 +++++++++++++++++++-
1 file changed, 33 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven/blob/c9950d77/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java b/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java
index a2bfe8c..df81685 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java
@@ -21,16 +21,19 @@ package org.apache.maven.repository.legacy;
import java.io.File;
import java.io.IOException;
+import java.lang.reflect.Method;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.plugin.LegacySupport;
import org.apache.maven.wagon.ConnectionException;
import org.apache.maven.wagon.ResourceDoesNotExistException;
import org.apache.maven.wagon.TransferFailedException;
@@ -50,6 +53,8 @@ import org.codehaus.plexus.component.repository.exception.ComponentLifecycleExce
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.util.FileUtils;
+import org.eclipse.aether.ConfigurationProperties;
+import org.eclipse.aether.util.ConfigUtils;
//TODO: remove the update check manager
//TODO: separate into retriever and publisher
@@ -72,6 +77,10 @@ public class DefaultWagonManager
@Requirement
private UpdateCheckManager updateCheckManager;
+ @Requirement
+ private LegacySupport legacySupport;
+
+
//
// Retriever
//
@@ -226,6 +235,29 @@ public class DefaultWagonManager
private void connectWagon( Wagon wagon, ArtifactRepository repository )
throws ConnectionException, AuthenticationException
{
+ // MNG-5509
+ // See org.eclipse.aether.connector.wagon.WagonRepositoryConnector.connectWagon(Wagon)
+ if( legacySupport.getRepositorySession() != null )
+ {
+ Properties headers = new Properties();
+
+ headers.put( "User-Agent", ConfigUtils.getString( legacySupport.getRepositorySession(), "Maven",
+ ConfigurationProperties.USER_AGENT ) );
+ try
+ {
+ Method setHttpHeaders = wagon.getClass().getMethod( "setHttpHeaders", Properties.class );
+ setHttpHeaders.invoke( wagon, headers );
+ }
+ catch ( NoSuchMethodException e )
+ {
+ // normal for non-http wagons
+ }
+ catch ( Exception e )
+ {
+ logger.debug( "Could not set user agent for wagon " + wagon.getClass().getName() + ": " + e );
+ }
+ }
+
if ( repository.getProxy() != null && logger.isDebugEnabled() )
{
logger.debug( "Using proxy " + repository.getProxy().getHost() + ":" + repository.getProxy().getPort()
@@ -768,7 +800,7 @@ public class DefaultWagonManager
throw new UnsupportedProtocolException( "Cannot find wagon which supports the requested protocol: "
+ protocol, e );
}
-
+
return wagon;
}