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 2009/07/28 22:50:03 UTC
svn commit: r798706 - in /maven/maven-2/branches/maven-2.2.x:
maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/
maven-artifact-manager/src/main/resources/META-INF/plexus/
maven-core/src/main/java/org/apache/maven/ maven-core/src/m...
Author: brett
Date: Tue Jul 28 20:50:02 2009
New Revision: 798706
URL: http://svn.apache.org/viewvc?rev=798706&view=rev
Log:
[MNG-4254] remove use of Plexus component override as it is dependent on shading order to work correctly and can't be tested. Correct default for HTTPS wagon.
Modified:
maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonProviderMapping.java
maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/resources/META-INF/plexus/components.xml
maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
maven/maven-2/branches/maven-2.2.x/maven-core/src/main/resources/META-INF/plexus/components.xml
maven/maven-2/branches/maven-2.2.x/maven-core/src/test/java/org/apache/maven/WagonSelectorTest.java
Modified: maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
URL: http://svn.apache.org/viewvc/maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=798706&r1=798705&r2=798706&view=diff
==============================================================================
--- maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java (original)
+++ maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java Tue Jul 28 20:50:02 2009
@@ -1211,11 +1211,6 @@
serverConfigurationMap.put( repositoryId, xmlConf );
}
- public void setWagonProvider( String protocol, String provider )
- {
- providerMapping.setWagonProvider( protocol, provider );
- }
-
public void setDefaultRepositoryPermissions( RepositoryPermissions defaultRepositoryPermissions )
{
this.defaultRepositoryPermissions = defaultRepositoryPermissions;
Modified: maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
URL: http://svn.apache.org/viewvc/maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java?rev=798706&r1=798705&r2=798706&view=diff
==============================================================================
--- maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java (original)
+++ maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java Tue Jul 28 20:50:02 2009
@@ -126,11 +126,4 @@
void setDefaultRepositoryPermissions( RepositoryPermissions permissions );
ArtifactRepository getMirrorRepository( ArtifactRepository repository );
-
- /**
- * Set the provider name for selecting one Wagon from a range of possible implementations for
- * the give protocol. This provider name is combined with the protocol to form the role-hint
- * for Wagon lookup, using the format: <code>[protocol]-[provider]</code>.
- */
- void setWagonProvider( String protocol, String provider );
}
Modified: maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonProviderMapping.java
URL: http://svn.apache.org/viewvc/maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonProviderMapping.java?rev=798706&r1=798705&r2=798706&view=diff
==============================================================================
--- maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonProviderMapping.java (original)
+++ maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonProviderMapping.java Tue Jul 28 20:50:02 2009
@@ -21,6 +21,8 @@
public interface WagonProviderMapping
{
+
+ String ROLE = WagonProviderMapping.class.getName();
public void setWagonProvider( String protocol, String provider );
Modified: maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/resources/META-INF/plexus/components.xml?rev=798706&r1=798705&r2=798706&view=diff
==============================================================================
--- maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/maven-2/branches/maven-2.2.x/maven-artifact-manager/src/main/resources/META-INF/plexus/components.xml Tue Jul 28 20:50:02 2009
@@ -33,15 +33,12 @@
</requirement>
<requirement>
<role>org.apache.maven.artifact.manager.WagonProviderMapping</role>
- <role-hint>maven</role-hint>
</requirement>
</requirements>
</component>
- <!-- This component should be redefined to introduce new default provider mappings in maven-core. -->
<component>
<role>org.apache.maven.artifact.manager.WagonProviderMapping</role>
- <role-hint>maven</role-hint>
<implementation>org.apache.maven.artifact.manager.DefaultWagonProviderMapping</implementation>
</component>
Modified: maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: http://svn.apache.org/viewvc/maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=798706&r1=798705&r2=798706&view=diff
==============================================================================
--- maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/DefaultMaven.java (original)
+++ maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/DefaultMaven.java Tue Jul 28 20:50:02 2009
@@ -37,6 +37,7 @@
import org.apache.maven.artifact.manager.DefaultWagonManager;
import org.apache.maven.artifact.manager.WagonManager;
+import org.apache.maven.artifact.manager.WagonProviderMapping;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolver;
@@ -774,19 +775,6 @@
wagonManager.addMirror( mirror.getId(), mirror.getMirrorOf(), mirror.getUrl() );
}
-
- for ( Object k: executionProperties.keySet() )
- {
- String key = (String) k;
- if ( key.startsWith( "maven.wagon.provider." ) )
- {
- String provider = executionProperties.getProperty( key );
- key = key.substring( "maven.wagon.provider.".length() );
-
- wagonManager.setWagonProvider( key, provider );
- }
-
- }
}
finally
{
@@ -801,6 +789,30 @@
container.release( wagonManager );
}
+ WagonProviderMapping mapping = (WagonProviderMapping) container.lookup( WagonProviderMapping.ROLE );
+ try
+ {
+ // set defaults
+ mapping.setWagonProvider( "http", "lightweight" );
+ mapping.setWagonProvider( "https", "lightweight" );
+
+ for ( Object k: executionProperties.keySet() )
+ {
+ String key = (String) k;
+ if ( key.startsWith( "maven.wagon.provider." ) )
+ {
+ String provider = executionProperties.getProperty( key );
+ key = key.substring( "maven.wagon.provider.".length() );
+
+ mapping.setWagonProvider( key, provider );
+ }
+ }
+ }
+ finally
+ {
+ container.release( mapping );
+ }
+
// Would be better in settings.xml, but it is not extensible yet
String numThreads = System.getProperty( "maven.artifact.threads" );
if ( numThreads != null )
Modified: maven/maven-2/branches/maven-2.2.x/maven-core/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/maven-2/branches/maven-2.2.x/maven-core/src/main/resources/META-INF/plexus/components.xml?rev=798706&r1=798705&r2=798706&view=diff
==============================================================================
--- maven/maven-2/branches/maven-2.2.x/maven-core/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/maven-2/branches/maven-2.2.x/maven-core/src/main/resources/META-INF/plexus/components.xml Tue Jul 28 20:50:02 2009
@@ -623,18 +623,6 @@
</configuration>
</component>
- <component>
- <role>org.apache.maven.artifact.manager.WagonProviderMapping</role>
- <role-hint>maven</role-hint>
- <implementation>org.apache.maven.artifact.manager.DefaultWagonProviderMapping</implementation>
- <configuration>
- <wagonProviders>
- <http>lightweight</http>
- <http>lightweight</http>
- </wagonProviders>
- </configuration>
- </component>
-
<!-- TODO: The following wagon component definitions need to be moved into the proper wagon-* projects... -->
<component>
<role>org.apache.maven.wagon.Wagon</role>
Modified: maven/maven-2/branches/maven-2.2.x/maven-core/src/test/java/org/apache/maven/WagonSelectorTest.java
URL: http://svn.apache.org/viewvc/maven/maven-2/branches/maven-2.2.x/maven-core/src/test/java/org/apache/maven/WagonSelectorTest.java?rev=798706&r1=798705&r2=798706&view=diff
==============================================================================
--- maven/maven-2/branches/maven-2.2.x/maven-core/src/test/java/org/apache/maven/WagonSelectorTest.java (original)
+++ maven/maven-2/branches/maven-2.2.x/maven-core/src/test/java/org/apache/maven/WagonSelectorTest.java Tue Jul 28 20:50:02 2009
@@ -21,6 +21,7 @@
import org.apache.maven.artifact.manager.WagonConfigurationException;
import org.apache.maven.artifact.manager.WagonManager;
+import org.apache.maven.artifact.manager.WagonProviderMapping;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.DefaultArtifactRepository;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
@@ -40,6 +41,8 @@
import org.apache.maven.wagon.UnsupportedProtocolException;
import org.apache.maven.wagon.Wagon;
import org.apache.maven.wagon.providers.http.HttpWagon;
+import org.apache.maven.wagon.providers.http.LightweightHttpWagon;
+import org.apache.maven.wagon.providers.http.LightweightHttpsWagon;
import org.apache.maven.wagon.repository.Repository;
import org.codehaus.plexus.PlexusTestCase;
import org.codehaus.plexus.util.FileUtils;
@@ -57,6 +60,8 @@
extends PlexusTestCase
{
+ private WagonProviderMapping mapping;
+
private WagonManager manager;
private ArtifactRepository localRepository;
@@ -69,7 +74,10 @@
throws Exception
{
super.setUp();
- manager = (WagonManager) lookup( WagonManager.class.getName() );
+
+ mapping = (WagonProviderMapping) lookup( WagonProviderMapping.ROLE );
+
+ manager = (WagonManager) lookup( WagonManager.ROLE );
ArtifactRepositoryLayout layout =
(ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.class.getName(), "default" );
@@ -81,6 +89,7 @@
public void tearDown()
throws Exception
{
+ release( mapping );
release( manager );
super.tearDown();
@@ -96,10 +105,34 @@
}
}
+ public void testSelectHttpWagonFromDefault()
+ throws Exception
+ {
+ Properties executionProperties = new Properties();
+
+ MavenExecutionRequest req = createMavenRequest( executionProperties );
+
+ Wagon wagon = manager.getWagon( new Repository( "id", "http://www.google.com/" ) );
+
+ assertTrue( "Should use " + LightweightHttpWagon.class.getName(), wagon instanceof LightweightHttpWagon );
+ }
+
+ public void testSelectHttpsWagonFromDefault()
+ throws Exception
+ {
+ Properties executionProperties = new Properties();
+
+ MavenExecutionRequest req = createMavenRequest( executionProperties );
+
+ Wagon wagon = manager.getWagon( new Repository( "id", "https://www.google.com/" ) );
+
+ assertTrue( "Should use " + LightweightHttpsWagon.class.getName(), wagon instanceof LightweightHttpsWagon );
+ }
+
public void testSelectHttpclientWagonFromSimulatedMavenCliConfiguration()
throws WagonConfigurationException, UnsupportedProtocolException
{
- manager.setWagonProvider( "http", "httpclient" );
+ mapping.setWagonProvider( "http", "httpclient" );
Wagon wagon = manager.getWagon( new Repository( "id", "http://www.google.com/" ) );
@@ -123,6 +156,18 @@
public void testSelectHttpclientWagonFromMavenCLIParameter()
throws WagonConfigurationException, UnsupportedProtocolException, MavenExecutionException, IOException
{
+ Properties executionProperties = new Properties();
+ executionProperties.setProperty( "maven.wagon.provider.http", "httpclient" );
+
+ MavenExecutionRequest req = createMavenRequest( executionProperties );
+
+ Wagon wagon = manager.getWagon( new Repository( "id", "http://www.google.com/" ) );
+ assertTrue( "Should use " + HttpWagon.class.getName(), wagon instanceof HttpWagon );
+ }
+
+ public MavenExecutionRequest createMavenRequest( Properties executionProperties )
+ throws IOException, MavenExecutionException
+ {
Settings settings = new Settings();
EventDispatcher eventDispatcher = new DefaultEventDispatcher();
@@ -159,9 +204,6 @@
boolean showErrors = false;
Properties userProperties = new Properties();
- Properties executionProperties = new Properties();
- executionProperties.setProperty( "maven.wagon.provider.http", "httpclient" );
-
MavenExecutionRequest req =
new DefaultMavenExecutionRequest( localRepository, settings, eventDispatcher, goals, baseDirectory,
globalProfileManager, executionProperties, userProperties, showErrors );
@@ -170,8 +212,7 @@
maven.execute( req );
- Wagon wagon = manager.getWagon( new Repository( "id", "http://www.google.com/" ) );
- assertTrue( "Should use " + HttpWagon.class.getName(), wagon instanceof HttpWagon );
+ return req;
}
public static final class TestRuntimeInformation