diff options
author | Igor Fedorenko | 2011-12-23 17:28:20 +0000 |
---|---|---|
committer | Igor Fedorenko | 2011-12-23 17:42:41 +0000 |
commit | 7aea160d90bb8db67c98680e6b46a540a4043577 (patch) | |
tree | 073e31d5e4a0f41181a99f81d2c6d51ed87ada02 | |
parent | 283fdd71c8c85ced1b5316fa0fa2d981daf0038a (diff) | |
download | m2e-core-7aea160d90bb8db67c98680e6b46a540a4043577.tar.gz m2e-core-7aea160d90bb8db67c98680e6b46a540a4043577.tar.xz m2e-core-7aea160d90bb8db67c98680e6b46a540a4043577.zip |
366839 use the same User-Agent for all HTTP/HTTPS requests
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
3 files changed, 22 insertions, 9 deletions
diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/MavenPluginActivator.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/MavenPluginActivator.java index 471a8b09..87593448 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/MavenPluginActivator.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/MavenPluginActivator.java @@ -8,6 +8,7 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.core.internal; import java.io.File; @@ -78,9 +79,10 @@ import org.eclipse.m2e.core.project.IProjectConfigurationManager; import org.eclipse.m2e.core.project.MavenUpdateRequest; import org.eclipse.m2e.core.repository.IRepositoryRegistry; + public class MavenPluginActivator extends Plugin { private final Logger log = LoggerFactory.getLogger(MavenPlugin.class); - + public static final String PREFS_ARCHETYPES = "archetypesInfo.xml"; //$NON-NLS-1$ // The shared instance @@ -121,9 +123,9 @@ public class MavenPluginActivator extends Plugin { private String qualifiedVersion = "0.0.0.qualifier"; //$NON-NLS-1$ private IMavenConfiguration mavenConfiguration; - + private BundleListener bundleListener = new BundleListener() { - + public void bundleChanged(BundleEvent event) { LifecycleMappingFactory.setBundleMetadataSources(null); } @@ -214,8 +216,8 @@ public class MavenPluginActivator extends Plugin { this.runtimeManager.setEmbeddedRuntime(new MavenEmbeddedRuntime(getBundleContext())); this.runtimeManager.setWorkspaceRuntime(new MavenWorkspaceRuntime(projectManager)); - this.configurationManager = new ProjectConfigurationManager(maven, managerImpl, modelManager, - mavenMarkerManager, mavenConfiguration); + this.configurationManager = new ProjectConfigurationManager(maven, managerImpl, modelManager, mavenMarkerManager, + mavenConfiguration); this.projectManager.addMavenProjectChangedListener(this.configurationManager); workspace.addResourceChangeListener(configurationManager, IResourceChangeEvent.PRE_DELETE); @@ -259,7 +261,7 @@ public class MavenPluginActivator extends Plugin { */ public void stop(BundleContext context) throws Exception { super.stop(context); - + this.managerImpl.writeWorkspaceState(); context.removeBundleListener(bundleListener); @@ -364,6 +366,13 @@ public class MavenPluginActivator extends Plugin { return plugin.qualifiedVersion; } + public static String getUserAgent() { + // cast is necessary for eclipse 3.6 compatibility + String osgiVersion = (String) Platform.getBundle("org.eclipse.osgi").getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION); //$NON-NLS-1$ + String m2eVersion = plugin.qualifiedVersion; + return "m2e/" + osgiVersion + "/" + m2eVersion; //$NON-NLS-1$ + } + public IRepositoryRegistry getRepositoryRegistry() { return repositoryRegistry; } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenImpl.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenImpl.java index 056a9d93..7600f2f3 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenImpl.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenImpl.java @@ -142,6 +142,7 @@ import org.apache.maven.settings.crypto.SettingsDecryptionResult; import org.apache.maven.settings.io.SettingsWriter; import org.apache.maven.wagon.proxy.ProxyInfo; +import org.sonatype.aether.ConfigurationProperties; import org.sonatype.aether.RepositorySystemSession; import org.sonatype.aether.repository.LocalRepository; import org.sonatype.aether.resolution.ArtifactRequest; @@ -221,6 +222,7 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { request.setTransferListener(createArtifactTransferListener(monitor)); request.getUserProperties().put("m2e.version", MavenPluginActivator.getVersion()); //$NON-NLS-1$ + request.getUserProperties().put(ConfigurationProperties.USER_AGENT, MavenPluginActivator.getUserAgent()); EnvironmentUtils.addEnvVars(request.getSystemProperties()); request.getSystemProperties().putAll(System.getProperties()); @@ -621,6 +623,10 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { .getBasedir()))); session.setTransferListener(createArtifactTransferListener(monitor)); + session.setConfigProperty(ConfigurationProperties.USER_AGENT, MavenPluginActivator.getUserAgent()); + + // FIXME update policy + ArtifactRequest request = new ArtifactRequest(); request.setArtifact(RepositoryUtils.toArtifact(artifact)); request.setRepositories(RepositoryUtils.toRepos(remoteRepositories)); diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/AsyncFetcher.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/AsyncFetcher.java index 97d1ff3e..0c949b6f 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/AsyncFetcher.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/AsyncFetcher.java @@ -137,9 +137,7 @@ public class AsyncFetcher extends AbstractResourceFetcher { } private String computeUserAgent() { - String osgiVersion = (String) Platform.getBundle("org.eclipse.osgi").getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION); //$NON-NLS-1$ - String m2eVersion = MavenPluginActivator.getQualifiedVersion(); - return "m2e/" + osgiVersion + "/" + m2eVersion; //$NON-NLS-1$ + return MavenPluginActivator.getUserAgent(); } private void addAuthInfo(SimpleAsyncHttpClient.Builder configBuilder) { |