You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2008/07/23 06:49:56 UTC
svn commit: r678986 - in /maven/components/branches/maven-2.0.10-RC: ./
maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/
maven-core/ maven-core/src/main/java/org/apache/maven/
maven-core/src/main/resources/META-INF/plexus/
Author: brett
Date: Tue Jul 22 21:49:55 2008
New Revision: 678986
URL: http://svn.apache.org/viewvc?rev=678986&view=rev
Log:
[MNG-3652] further improvements to the configuration of the User-Agent header
Modified:
maven/components/branches/maven-2.0.10-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
maven/components/branches/maven-2.0.10-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
maven/components/branches/maven-2.0.10-RC/maven-core/pom.xml
maven/components/branches/maven-2.0.10-RC/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
maven/components/branches/maven-2.0.10-RC/maven-core/src/main/resources/META-INF/plexus/components.xml
maven/components/branches/maven-2.0.10-RC/pom.xml
Modified: maven/components/branches/maven-2.0.10-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.10-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=678986&r1=678985&r2=678986&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.10-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java (original)
+++ maven/components/branches/maven-2.0.10-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java Tue Jul 22 21:49:55 2008
@@ -79,7 +79,7 @@
private static final String EXTERNAL_WILDCARD = "external:*";
- private static final String MAVEN_CORE_PROPERTIES = "META-INF/maven/org.apache.maven/maven-core/pom.properties";
+ private static final String MAVEN_ARTIFACT_PROPERTIES = "META-INF/maven/org.apache.maven/maven-artifact/pom.properties";
private PlexusContainer container;
@@ -111,8 +111,6 @@
private String httpUserAgent;
- private String httpUserAgentDetails;
-
// TODO: this leaks the component in the public api - it is never released back to the container
public Wagon getWagon( Repository repository )
throws UnsupportedProtocolException, WagonConfigurationException
@@ -1008,7 +1006,7 @@
throws WagonConfigurationException
{
PlexusConfiguration config = (PlexusConfiguration) serverConfigurationMap.get( repositoryId );
- if ( protocol.startsWith( "http" ) )
+ if ( protocol.startsWith( "http" ) || protocol.startsWith( "dav" ) )
{
config = updateUserAgentForHttp( wagon, config );
}
@@ -1057,16 +1055,25 @@
config = new XmlPlexusConfiguration( "configuration" );
}
- String userAgent = getHttpUserAgentString();
-
- if ( userAgent != null )
+ if ( httpUserAgent != null )
{
try
{
wagon.getClass().getMethod( "setHttpHeaders", new Class[]{ Properties.class } );
PlexusConfiguration headerConfig = config.getChild( "httpHeaders", true );
- if ( headerConfig.getChild( "User-Agent", false ) == null )
+ PlexusConfiguration[] children = headerConfig.getChildren( "property" );
+ boolean found = false;
+ for ( int i = 0; i < children.length; i++ )
+ {
+ PlexusConfiguration c = children[i].getChild( "name", false );
+ if ( c != null && "User-Agent".equals( c.getValue( null ) ) )
+ {
+ found = true;
+ break;
+ }
+ }
+ if ( !found )
{
XmlPlexusConfiguration propertyConfig = new XmlPlexusConfiguration( "property" );
headerConfig.addChild( propertyConfig );
@@ -1076,7 +1083,7 @@
propertyConfig.addChild( nameConfig );
XmlPlexusConfiguration versionConfig = new XmlPlexusConfiguration( "value" );
- versionConfig.setValue( userAgent );
+ versionConfig.setValue( httpUserAgent );
propertyConfig.addChild( versionConfig );
}
}
@@ -1117,16 +1124,11 @@
{
if ( httpUserAgent == null )
{
- httpUserAgent = "ApacheMavenArtifact/2.0";
- }
-
- if ( httpUserAgentDetails == null )
- {
InputStream resourceAsStream = null;
try
{
Properties properties = new Properties();
- resourceAsStream = getClass().getClassLoader().getResourceAsStream( MAVEN_CORE_PROPERTIES );
+ resourceAsStream = getClass().getClassLoader().getResourceAsStream( MAVEN_ARTIFACT_PROPERTIES );
if ( resourceAsStream != null )
{
@@ -1134,15 +1136,15 @@
{
properties.load( resourceAsStream );
- httpUserAgentDetails =
- "Apache Maven " + properties.getProperty( "version" ) + "; JDK "
+ httpUserAgent =
+ "maven-artifact/" + properties.getProperty( "version" ) + " (Java "
+ System.getProperty( "java.version" ) + "; " + System.getProperty( "os.name" ) + " "
- + System.getProperty( "os.version" );
+ + System.getProperty( "os.version" ) + ")";
}
catch ( IOException e )
{
getLogger().warn(
- "Failed to load Maven core properties from:\n" + MAVEN_CORE_PROPERTIES
+ "Failed to load Maven artifact properties from:\n" + MAVEN_ARTIFACT_PROPERTIES
+ "\n\nUser-Agent HTTP header may be incorrect for artifact resolution." );
}
}
@@ -1169,28 +1171,4 @@
{
return httpUserAgent;
}
-
- /**
- * {@inheritDoc}
- */
- public void setHttpUserAgentDetails( String userAgentDetails )
- {
- this.httpUserAgentDetails = userAgentDetails;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getUserAgentDetails()
- {
- return httpUserAgentDetails;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getHttpUserAgentString()
- {
- return httpUserAgent == null ? null : String.valueOf( httpUserAgent ) + " (" + String.valueOf( httpUserAgentDetails ) + ")";
- }
}
Modified: maven/components/branches/maven-2.0.10-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.10-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java?rev=678986&r1=678985&r2=678986&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.10-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java (original)
+++ maven/components/branches/maven-2.0.10-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java Tue Jul 22 21:49:55 2008
@@ -126,45 +126,4 @@
void setDefaultRepositoryPermissions( RepositoryPermissions permissions );
ArtifactRepository getMirrorRepository( ArtifactRepository repository );
-
- /**
- * Allow configuration of the User-Agent HTTP header used for http wagons.
- *
- * @since 2.0.10
- */
- void setHttpUserAgent( String userAgent );
-
- /**
- * Retrieve the User-Agent HTTP header used for http wagons.
- *
- * @since 2.0.10
- */
- String getHttpUserAgent();
-
- /**
- * Allow configuration of the details of the User-Agent HTTP header (beyond
- * the initial value) used for http wagons. By default, this value will
- * contain specific information about the tool using maven-artifact, along
- * with the operating system and JDK version.
- *
- * @since 2.0.10
- */
- void setHttpUserAgentDetails( String userAgentDetails );
-
- /**
- * Retrieve the details of the User-Agent HTTP header (beyond
- * the initial value) used for http wagons. By default, this value will
- * contain specific information about the tool using maven-artifact, along
- * with the operating system and JDK version.
- *
- * @since 2.0.10
- */
- String getUserAgentDetails();
-
- /**
- * Retrieve the full User-Agent HTTP header value for use in http wagons.
- *
- * @since 2.0.10
- */
- String getHttpUserAgentString();
}
Modified: maven/components/branches/maven-2.0.10-RC/maven-core/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.10-RC/maven-core/pom.xml?rev=678986&r1=678985&r2=678986&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.10-RC/maven-core/pom.xml (original)
+++ maven/components/branches/maven-2.0.10-RC/maven-core/pom.xml Tue Jul 22 21:49:55 2008
@@ -9,13 +9,6 @@
<artifactId>maven-core</artifactId>
<name>Maven Core</name>
- <pluginRepositories>
- <pluginRepository>
- <id>apache.snapshots</id>
- <url>http://people.apache.org/repo/m2-snapshot-repository</url>
- </pluginRepository>
- </pluginRepositories>
-
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
@@ -164,15 +157,6 @@
</plugins>
</reporting>
- <build>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
- <filtering>true</filtering>
- </resource>
- </resources>
- </build>
-
<profiles>
<profile>
<id>include-site</id>
@@ -219,4 +203,4 @@
</build>
</profile>
</profiles>
-</project>
\ No newline at end of file
+</project>
Modified: maven/components/branches/maven-2.0.10-RC/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.10-RC/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=678986&r1=678985&r2=678986&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.10-RC/maven-core/src/main/java/org/apache/maven/DefaultMaven.java (original)
+++ maven/components/branches/maven-2.0.10-RC/maven-core/src/main/java/org/apache/maven/DefaultMaven.java Tue Jul 22 21:49:55 2008
@@ -21,6 +21,7 @@
import org.apache.maven.artifact.manager.WagonManager;
+import org.apache.maven.artifact.manager.DefaultWagonManager;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
@@ -602,6 +603,18 @@
private void resolveParameters( Settings settings )
throws ComponentLookupException, ComponentLifecycleException, SettingsConfigurationException
{
+ // TODO: remove when components.xml can be used to configure this instead
+ try
+ {
+ DefaultWagonManager wagonManager = (DefaultWagonManager) container.lookup( WagonManager.ROLE );
+ wagonManager.setHttpUserAgent( "Apache-Maven/" + runtimeInformation.getApplicationVersion() + " " +
+ wagonManager.getHttpUserAgent() );
+ }
+ catch ( ClassCastException e )
+ {
+ // ignore
+ }
+
WagonManager wagonManager = (WagonManager) container.lookup( WagonManager.ROLE );
try
Modified: maven/components/branches/maven-2.0.10-RC/maven-core/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.10-RC/maven-core/src/main/resources/META-INF/plexus/components.xml?rev=678986&r1=678985&r2=678986&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.10-RC/maven-core/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/branches/maven-2.0.10-RC/maven-core/src/main/resources/META-INF/plexus/components.xml Tue Jul 22 21:49:55 2008
@@ -586,6 +586,7 @@
<!-- TODO: Re-enable this once maven-shade-plugin 1.2 is release and can be
used to merge this configuration with that of the wagon artifacts.
+ We also need a way not to filter in the os.name, etc during the build, just the project version
<component>
<role>org.apache.maven.wagon.Wagon</role>
<role-hint>http</role-hint>
@@ -597,7 +598,7 @@
<httpHeaders>
<property>
<name>User-Agent</name>
- <value>Apache Maven/${project.version}</value>
+ <value>Apache-Maven/${project.version} maven-artifact/${project.version} (Java @java.version@; @os.name@ @os.version@)</value>
</property>
</httpHeaders>
</configuration>
@@ -613,7 +614,7 @@
<httpHeaders>
<property>
<name>User-Agent</name>
- <value>Apache Maven/${project.version}</value>
+ <value>Apache-Maven/${project.version} maven-artifact/${project.version} (Java @java.version@; @os.name@ @os.version@)</value>
</property>
</httpHeaders>
</configuration>
Modified: maven/components/branches/maven-2.0.10-RC/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.10-RC/pom.xml?rev=678986&r1=678985&r2=678986&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.10-RC/pom.xml (original)
+++ maven/components/branches/maven-2.0.10-RC/pom.xml Tue Jul 22 21:49:55 2008
@@ -206,7 +206,6 @@
<!-- TODO: These represent method ADDITIONS from 2.0.9, and should be removed after
2.0.10 is released. -->
<exclude>org/apache/maven/lifecycle/LifecycleExecutor*</exclude>
- <exclude>org/apache/maven/artifact/manager/WagonManager*</exclude>
<exclude>org/apache/maven/artifact/metadata/ArtifactMetadataSource*</exclude>
<exclude>org/apache/maven/project/MavenProjectBuilder*</exclude>
<exclude>org/apache/maven/project/ProjectBuilderConfiguration*</exclude>
@@ -534,4 +533,4 @@
</reporting>
</profile>
</profiles>
-</project>
\ No newline at end of file
+</project>