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/02/20 17:27:28 UTC
svn commit: r746285 [2/2] - in /maven/components/trunk: ./ apache-maven/
maven-compat/src/main/java/org/apache/maven/artifact/
maven-compat/src/main/java/org/apache/maven/artifact/deployer/
maven-compat/src/main/java/org/apache/maven/artifact/manager/ ...
Modified: maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java?rev=746285&r1=746284&r2=746285&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java (original)
+++ maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java Fri Feb 20 16:27:27 2009
@@ -91,130 +91,11 @@
}
};
TransferListener listener = new TransferListener();
-
- wagonManager.setDownloadMonitor(listener);
+ wagonManager.setDownloadMonitor(listener);
wagonManager.getArtifact( artifact, repos, false );
-
assertEquals(1, listener.events.size());
}
-
- public void testGetMissingPomUncached() throws TransferFailedException, UnsupportedProtocolException, IOException
- {
- Artifact artifact = createTestPomArtifact( "target/test-data/get-missing-pom" );
-
- ArtifactRepository repo = createStringRepo();
-
- MockControl control = MockControl.createControl( UpdateCheckManager.class );
- UpdateCheckManager updateCheckManager = (UpdateCheckManager) control.getMock();
- wagonManager.setUpdateCheckManager( updateCheckManager );
-
- updateCheckManager.isPomUpdateRequired( artifact, repo );
- control.setReturnValue( true );
- updateCheckManager.touch( artifact, repo );
- control.replay();
-
- try
- {
- wagonManager.getArtifact( artifact, repo, false );
-
- fail();
- }
- catch ( ResourceDoesNotExistException e )
- {
- assertTrue( true );
- }
-
- assertFalse( artifact.getFile().exists() );
-
- control.verify();
- }
-
- public void testGetMissingPomCached() throws TransferFailedException, UnsupportedProtocolException, IOException
- {
- Artifact artifact = createTestPomArtifact( "target/test-data/get-missing-pom" );
-
- ArtifactRepository repo = createStringRepo();
-
- MockControl control = MockControl.createControl( UpdateCheckManager.class );
- UpdateCheckManager updateCheckManager = (UpdateCheckManager) control.getMock();
- wagonManager.setUpdateCheckManager( updateCheckManager );
-
- updateCheckManager.isPomUpdateRequired( artifact, repo );
- control.setReturnValue( false );
- control.replay();
-
- try
- {
- wagonManager.getArtifact( artifact, repo, false );
-
- fail();
- }
- catch ( ResourceDoesNotExistException e )
- {
- assertTrue( true );
- }
-
- assertFalse( artifact.getFile().exists() );
-
- control.verify();
- }
- public void testGetMissingPomCachedForced() throws TransferFailedException, UnsupportedProtocolException, IOException
- {
- Artifact artifact = createTestPomArtifact( "target/test-data/get-missing-pom" );
-
- ArtifactRepository repo = createStringRepo();
-
- MockControl control = MockControl.createControl( UpdateCheckManager.class );
- UpdateCheckManager updateCheckManager = (UpdateCheckManager) control.getMock();
- wagonManager.setUpdateCheckManager( updateCheckManager );
-
- updateCheckManager.touch( artifact, repo );
- control.replay();
-
- try
- {
- wagonManager.getArtifact( artifact, repo, true );
-
- fail();
- }
- catch ( ResourceDoesNotExistException e )
- {
- assertTrue( true );
- }
-
- assertFalse( artifact.getFile().exists() );
-
- control.verify();
- }
-
- public void testGetRemotePom()
- throws TransferFailedException, ResourceDoesNotExistException, UnsupportedProtocolException, IOException,
- AuthorizationException
- {
- Artifact artifact = createTestPomArtifact( "target/test-data/get-remote-pom" );
-
- ArtifactRepository repo = createStringRepo();
-
- StringWagon wagon = (StringWagon) wagonManager.getWagon( "string" );
- wagon.addExpectedContent( repo.getLayout().pathOf( artifact ), "expected" );
-
- MockControl control = MockControl.createControl( UpdateCheckManager.class );
- UpdateCheckManager updateCheckManager = (UpdateCheckManager) control.getMock();
- wagonManager.setUpdateCheckManager( updateCheckManager );
-
- updateCheckManager.isPomUpdateRequired( artifact, repo );
- control.setReturnValue( true );
- control.replay();
-
- wagonManager.getArtifact( artifact, repo, false );
-
- assertTrue( artifact.getFile().exists() );
- assertEquals( "expected", FileUtils.fileRead( artifact.getFile(), "UTF-8" ) );
-
- control.verify();
- }
-
public void testGetPomExistsLocallyForced()
throws IOException, TransferFailedException, ResourceDoesNotExistException, UnsupportedProtocolException
{
@@ -229,7 +110,6 @@
MockControl control = MockControl.createControl( UpdateCheckManager.class );
UpdateCheckManager updateCheckManager = (UpdateCheckManager) control.getMock();
- wagonManager.setUpdateCheckManager( updateCheckManager );
control.replay();
@@ -294,7 +174,6 @@
MockControl control = MockControl.createControl( UpdateCheckManager.class );
UpdateCheckManager updateCheckManager = (UpdateCheckManager) control.getMock();
- wagonManager.setUpdateCheckManager( updateCheckManager );
control.replay();
@@ -320,7 +199,6 @@
MockControl control = MockControl.createControl( UpdateCheckManager.class );
UpdateCheckManager updateCheckManager = (UpdateCheckManager) control.getMock();
- wagonManager.setUpdateCheckManager( updateCheckManager );
control.replay();
@@ -332,124 +210,6 @@
control.verify();
}
- public void testGetRemoteSnapshotJar()
- throws TransferFailedException, ResourceDoesNotExistException, UnsupportedProtocolException, IOException,
- AuthorizationException
- {
- Artifact artifact = createTestArtifact( "target/test-data/get-remote-jar", "1.0-SNAPSHOT", "jar" );
-
- ArtifactRepository repo = createStringRepo();
-
- StringWagon wagon = (StringWagon) wagonManager.getWagon( "string" );
- wagon.addExpectedContent( repo.getLayout().pathOf( artifact ), "expected" );
-
- MockControl control = MockControl.createControl( UpdateCheckManager.class );
- UpdateCheckManager updateCheckManager = (UpdateCheckManager) control.getMock();
- wagonManager.setUpdateCheckManager( updateCheckManager );
-
- updateCheckManager.isUpdateRequired( artifact, repo );
- control.setReturnValue( true );
-
- updateCheckManager.touch( artifact, repo );
-
- control.replay();
-
- wagonManager.getArtifact( artifact, repo, false );
-
- assertTrue( artifact.getFile().exists() );
- assertEquals( "expected", FileUtils.fileRead( artifact.getFile(), "UTF-8" ) );
-
- control.verify();
- }
-
- public void testGetSnapshotJarExistsLocally()
- throws IOException, TransferFailedException, ResourceDoesNotExistException, UnsupportedProtocolException
- {
- Artifact artifact = createTestArtifact( "target/test-data/get-remote-jar", "1.0-SNAPSHOT", "jar" );
- artifact.getFile().createNewFile();
- artifact.getFile().setLastModified( System.currentTimeMillis() - 60 * 1000 );
-
- ArtifactRepository repo = createStringRepo();
-
- StringWagon wagon = (StringWagon) wagonManager.getWagon( "string" );
- wagon.addExpectedContent( repo.getLayout().pathOf( artifact ), "expected" );
-
- MockControl control = MockControl.createControl( UpdateCheckManager.class );
- UpdateCheckManager updateCheckManager = (UpdateCheckManager) control.getMock();
- wagonManager.setUpdateCheckManager( updateCheckManager );
-
- updateCheckManager.isUpdateRequired( artifact, repo );
- control.setReturnValue( false );
-
- control.replay();
-
- wagonManager.getArtifact( artifact, repo, false );
-
- assertTrue( artifact.getFile().exists() );
- assertEquals( "", FileUtils.fileRead( artifact.getFile(), "UTF-8" ) );
-
- control.verify();
- }
-
- public void testGetSnapshotJarExistsLocallyExpired()
- throws IOException, TransferFailedException, ResourceDoesNotExistException, UnsupportedProtocolException
- {
- Artifact artifact = createTestArtifact( "target/test-data/get-remote-jar", "1.0-SNAPSHOT", "jar" );
- artifact.getFile().createNewFile();
- artifact.getFile().setLastModified( System.currentTimeMillis() - 60 * 1000 );
-
- ArtifactRepository repo = createStringRepo();
-
- StringWagon wagon = (StringWagon) wagonManager.getWagon( "string" );
- wagon.addExpectedContent( repo.getLayout().pathOf( artifact ), "expected" );
-
- MockControl control = MockControl.createControl( UpdateCheckManager.class );
- UpdateCheckManager updateCheckManager = (UpdateCheckManager) control.getMock();
- wagonManager.setUpdateCheckManager( updateCheckManager );
-
- updateCheckManager.isUpdateRequired( artifact, repo );
- control.setReturnValue( true );
-
- updateCheckManager.touch( artifact, repo );
-
- control.replay();
-
- wagonManager.getArtifact( artifact, repo, false );
-
- assertTrue( artifact.getFile().exists() );
- assertEquals( "expected", FileUtils.fileRead( artifact.getFile(), "UTF-8" ) );
-
- control.verify();
- }
-
- public void testGetSnapshotJarExistsLocallyForced()
- throws IOException, TransferFailedException, ResourceDoesNotExistException, UnsupportedProtocolException
- {
- Artifact artifact = createTestArtifact( "target/test-data/get-remote-jar", "1.0-SNAPSHOT", "jar" );
- artifact.getFile().createNewFile();
- artifact.getFile().setLastModified( System.currentTimeMillis() - 60 * 1000 );
-
- ArtifactRepository repo = createStringRepo();
-
- StringWagon wagon = (StringWagon) wagonManager.getWagon( "string" );
- wagon.addExpectedContent( repo.getLayout().pathOf( artifact ), "expected" );
-
- MockControl control = MockControl.createControl( UpdateCheckManager.class );
- UpdateCheckManager updateCheckManager = (UpdateCheckManager) control.getMock();
- wagonManager.setUpdateCheckManager( updateCheckManager );
-
- updateCheckManager.touch( artifact, repo );
-
- control.replay();
-
- wagonManager.getArtifact( artifact, repo, true );
-
- assertTrue( artifact.getFile().exists() );
- assertEquals( "expected", FileUtils.fileRead( artifact.getFile(), "UTF-8" ) );
-
- control.verify();
- }
-
private Artifact createTestPomArtifact( String directory )
throws IOException
{
@@ -482,27 +242,6 @@
return artifact;
}
- public void testAddMirrorWithNullRepositoryId()
- {
- wagonManager.addMirror( null, "test", "http://www.nowhere.com/" );
- }
-
- public void testGetArtifactSha1MissingMd5Present()
- throws IOException, UnsupportedProtocolException, TransferFailedException, ResourceDoesNotExistException
- {
- Artifact artifact = createTestPomArtifact( "target/test-data/get-remote-artifact" );
-
- ArtifactRepository repo = createStringRepo();
-
- StringWagon wagon = (StringWagon) wagonManager.getWagon( "string" );
- wagon.addExpectedContent( repo.getLayout().pathOf( artifact ), "expected" );
- wagon.addExpectedContent( repo.getLayout().pathOf( artifact ) + ".md5", "bad_checksum" );
-
- wagonManager.getArtifact( artifact, repo, true );
-
- assertTrue( artifact.getFile().exists() );
- }
-
private ArtifactRepository createStringRepo()
{
ArtifactRepository repo =
@@ -510,174 +249,6 @@
return repo;
}
- /**
- * checks the handling of urls
- */
- public void testExternalURL()
- {
- DefaultWagonManager mgr = new DefaultWagonManager();
- assertTrue( mgr.isExternalRepo( getRepo( "foo", "http://somehost" ) ) );
- assertTrue( mgr.isExternalRepo( getRepo( "foo", "http://somehost:9090/somepath" ) ) );
- assertTrue( mgr.isExternalRepo( getRepo( "foo", "ftp://somehost" ) ) );
- assertTrue( mgr.isExternalRepo( getRepo( "foo", "http://192.168.101.1" ) ) );
- assertTrue( mgr.isExternalRepo( getRepo( "foo", "http://" ) ) );
- // these are local
- assertFalse( mgr.isExternalRepo( getRepo( "foo", "http://localhost:8080" ) ) );
- assertFalse( mgr.isExternalRepo( getRepo( "foo", "http://127.0.0.1:9090" ) ) );
- assertFalse( mgr.isExternalRepo( getRepo( "foo", "file://localhost/somepath" ) ) );
- assertFalse( mgr.isExternalRepo( getRepo( "foo", "file://localhost/D:/somepath" ) ) );
- assertFalse( mgr.isExternalRepo( getRepo( "foo", "http://localhost" ) ) );
- assertFalse( mgr.isExternalRepo( getRepo( "foo", "http://127.0.0.1" ) ) );
- assertFalse( mgr.isExternalRepo( getRepo( "foo", "file:///somepath" ) ) );
- assertFalse( mgr.isExternalRepo( getRepo( "foo", "file://D:/somepath" ) ) );
-
- // not a proper url so returns false;
- assertFalse( mgr.isExternalRepo( getRepo( "foo", "192.168.101.1" ) ) );
- assertFalse( mgr.isExternalRepo( getRepo( "foo", "" ) ) );
- }
-
- /**
- * Check that lookups with exact matches work and that no matches don't corrupt the repo.
- */
- public void testMirrorLookup()
- {
- wagonManager.addMirror( "a", "a", "http://a" );
- wagonManager.addMirror( "b", "b", "http://b" );
-
- ArtifactRepository repo = null;
- repo = wagonManager.getMirrorRepository( getRepo( "a", "http://a.a" ) );
- assertEquals( "http://a", repo.getUrl() );
-
- repo = wagonManager.getMirrorRepository( getRepo( "b", "http://a.a" ) );
- assertEquals( "http://b", repo.getUrl() );
-
- repo = wagonManager.getMirrorRepository( getRepo( "c", "http://c.c" ) );
- assertEquals( "http://c.c", repo.getUrl() );
-
- }
-
- /**
- * Check that wildcards don't override exact id matches.
- */
- public void testMirrorWildcardLookup()
- {
- wagonManager.addMirror( "a", "a", "http://a" );
- wagonManager.addMirror( "b", "b", "http://b" );
- wagonManager.addMirror( "c", "*", "http://wildcard" );
-
- ArtifactRepository repo = null;
- repo = wagonManager.getMirrorRepository( getRepo( "a", "http://a.a" ) );
- assertEquals( "http://a", repo.getUrl() );
-
- repo = wagonManager.getMirrorRepository( getRepo( "b", "http://a.a" ) );
- assertEquals( "http://b", repo.getUrl() );
-
- repo = wagonManager.getMirrorRepository( getRepo( "c", "http://c.c" ) );
- assertEquals( "http://wildcard", repo.getUrl() );
-
- }
-
- /**
- * Check that first match wins
- */
- public void testMirrorStopOnFirstMatch()
- {
- //exact matches win first
- wagonManager.addMirror( "a2", "a,b", "http://a2" );
- wagonManager.addMirror( "a", "a", "http://a" );
- //make sure repeated entries are skipped
- wagonManager.addMirror( "a", "a", "http://a3" );
-
- wagonManager.addMirror( "b", "b", "http://b" );
- wagonManager.addMirror( "c", "d,e", "http://de" );
- wagonManager.addMirror( "c", "*", "http://wildcard" );
- wagonManager.addMirror( "c", "e,f", "http://ef" );
-
-
-
- ArtifactRepository repo = null;
- repo = wagonManager.getMirrorRepository( getRepo( "a", "http://a.a" ) );
- assertEquals( "http://a", repo.getUrl() );
-
- repo = wagonManager.getMirrorRepository( getRepo( "b", "http://a.a" ) );
- assertEquals( "http://b", repo.getUrl() );
-
- repo = wagonManager.getMirrorRepository( getRepo( "c", "http://c.c" ) );
- assertEquals( "http://wildcard", repo.getUrl() );
-
- repo = wagonManager.getMirrorRepository( getRepo( "d", "http://d" ) );
- assertEquals( "http://de", repo.getUrl() );
-
- repo = wagonManager.getMirrorRepository( getRepo( "e", "http://e" ) );
- assertEquals( "http://de", repo.getUrl() );
-
- repo = wagonManager.getMirrorRepository( getRepo( "f", "http://f" ) );
- assertEquals( "http://wildcard", repo.getUrl() );
-
- }
-
-
- /**
- * Check that patterns are processed correctly Valid patterns: * = everything external:* = everything not on the
- * localhost and not file based. repo,repo1 = repo or repo1 *,!repo1 = everything except repo1
- */
- public void testPatterns()
- {
- DefaultWagonManager mgr = new DefaultWagonManager();
-
- assertTrue( mgr.matchPattern( getRepo( "a" ), "*" ) );
- assertTrue( mgr.matchPattern( getRepo( "a" ), "*," ) );
- assertTrue( mgr.matchPattern( getRepo( "a" ), ",*," ) );
- assertTrue( mgr.matchPattern( getRepo( "a" ), "*," ) );
-
- assertTrue( mgr.matchPattern( getRepo( "a" ), "a" ) );
- assertTrue( mgr.matchPattern( getRepo( "a" ), "a," ) );
- assertTrue( mgr.matchPattern( getRepo( "a" ), ",a," ) );
- assertTrue( mgr.matchPattern( getRepo( "a" ), "a," ) );
-
- assertFalse( mgr.matchPattern( getRepo( "b" ), "a" ) );
- assertFalse( mgr.matchPattern( getRepo( "b" ), "a," ) );
- assertFalse( mgr.matchPattern( getRepo( "b" ), ",a" ) );
- assertFalse( mgr.matchPattern( getRepo( "b" ), ",a," ) );
-
- assertTrue( mgr.matchPattern( getRepo( "a" ), "a,b" ) );
- assertTrue( mgr.matchPattern( getRepo( "b" ), "a,b" ) );
-
- assertFalse( mgr.matchPattern( getRepo( "c" ), "a,b" ) );
-
- assertTrue( mgr.matchPattern( getRepo( "a" ), "*" ) );
- assertTrue( mgr.matchPattern( getRepo( "a" ), "*,b" ) );
- assertTrue( mgr.matchPattern( getRepo( "a" ), "*,!b" ) );
-
- assertFalse( mgr.matchPattern( getRepo( "a" ), "*,!a" ) );
- assertFalse( mgr.matchPattern( getRepo( "a" ), "!a,*" ) );
-
- assertTrue( mgr.matchPattern( getRepo( "c" ), "*,!a" ) );
- assertTrue( mgr.matchPattern( getRepo( "c" ), "!a,*" ) );
-
- assertFalse( mgr.matchPattern( getRepo( "c" ), "!a,!c" ) );
- assertFalse( mgr.matchPattern( getRepo( "d" ), "!a,!c*" ) );
- }
-
- /**
- * make sure the external if is fully exercised. We can assume file and ips are also handled because they have a
- * separate test above.
- */
- public void testPatternsWithExternal()
- {
- DefaultWagonManager mgr = new DefaultWagonManager();
-
- assertTrue( mgr.matchPattern( getRepo( "a", "http://localhost" ), "*" ) );
- assertFalse( mgr.matchPattern( getRepo( "a", "http://localhost" ), "external:*" ) );
-
- assertTrue( mgr.matchPattern( getRepo( "a", "http://localhost" ), "external:*,a" ) );
- assertFalse( mgr.matchPattern( getRepo( "a", "http://localhost" ), "external:*,!a" ) );
- assertTrue( mgr.matchPattern( getRepo( "a", "http://localhost" ), "a,external:*" ) );
- assertFalse( mgr.matchPattern( getRepo( "a", "http://localhost" ), "!a,external:*" ) );
-
- assertFalse( mgr.matchPattern( getRepo( "c", "http://localhost" ), "!a,external:*" ) );
- assertTrue( mgr.matchPattern( getRepo( "c", "http://somehost" ), "!a,external:*" ) );
- }
/**
* Build an ArtifactRepository object.
@@ -728,30 +299,6 @@
}
}
- public void testGetWagonRepository()
- throws Exception
- {
- assertWagonRepository( "a" );
-
- assertWagonRepository( "b1" );
-
- assertWagonRepository( "b2" );
-
- assertWagonRepository( "c" );
-
- try
- {
- assertWagonRepository( "d" );
-
- fail( "Expected :" + UnsupportedProtocolException.class.getName() );
- }
- catch ( UnsupportedProtocolException e )
- {
- // ok
- assertTrue( true );
- }
- }
-
public void testGetWagonRepositoryNullProtocol()
throws Exception
{
@@ -773,21 +320,6 @@
}
/**
- * Checks that lookup by protocol/scheme is case-insensitive as suggested by RFC 2396, "3.1. Scheme Component".
- */
- public void testGetWagonCaseInsensitive()
- throws Exception
- {
- assertWagon( "a" );
-
- assertWagon( "A" );
-
- assertWagonRepository( "a" );
-
- assertWagonRepository( "A" );
- }
-
- /**
* Check that transfer listeners are properly removed after getArtifact and putArtifact
*/
public void testWagonTransferListenerRemovedAfterGetArtifactAndPutArtifact()
@@ -801,7 +333,7 @@
/* getArtifact */
assertFalse( "Transfer listener is registered before test",
wagon.getTransferEventSupport().hasTransferListener( transferListener ) );
- wagonManager.setDownloadMonitor( transferListener );
+ wagonManager.setDownloadMonitor( transferListener );
wagonManager.getArtifact( artifact, repo );
assertFalse( "Transfer listener still registered after getArtifact",
wagon.getTransferEventSupport().hasTransferListener( transferListener ) );
@@ -812,7 +344,7 @@
assertFalse( "Transfer listener is registered before test",
wagon.getTransferEventSupport().hasTransferListener( transferListener ) );
- wagonManager.setDownloadMonitor( transferListener );
+ wagonManager.setDownloadMonitor( transferListener );
wagonManager.putArtifact( sampleFile, artifact, repo );
assertFalse( "Transfer listener still registered after putArtifact",
wagon.getTransferEventSupport().hasTransferListener( transferListener ) );
@@ -945,8 +477,6 @@
conf.addChild( configurableField );
- wagonManager.addConfiguration( repository.getId(), conf );
-
WagonMock wagon = (WagonMock) wagonManager.getWagon( repository );
assertNotNull( "Check wagon, protocol=" + protocol, wagon );
Modified: maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactUpdatePolicyTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactUpdatePolicyTest.java?rev=746285&r1=746284&r2=746285&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactUpdatePolicyTest.java (original)
+++ maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactUpdatePolicyTest.java Fri Feb 20 16:27:27 2009
@@ -91,8 +91,6 @@
protected void tearDown()
throws Exception
{
- wagonManager.setDownloadMonitor( null );
- wagonManager.setOnline( true );
super.tearDown();
}
@@ -140,17 +138,6 @@
return a;
}
- public void testForceLocalDoesNotExist()
- throws Exception
- {
- Artifact a = createRemoteArtifact( "o", "0.0.1-SNAPSHOT" );
-
- artifactResolver.resolveAlways( a, remoteRepositories, localRepository );
-
- assertTransfers( new String[] { "get " + PATH, "getTransfer " + PATH, "get " + PATH + ".sha1",
- "get " + PATH + ".md5" } );
- }
-
public void testForceButNoNewUpdates()
throws Exception
{
@@ -326,18 +313,6 @@
assertTrue( j.getFile().canRead() );
}
- public void testResolveExistingLocalArtifactInOfflineMode()
- throws Exception
- {
- Artifact a = createLocalArtifact( "a", "1.0.0" );
-
- wagonManager.setOnline( false );
-
- artifactResolver.resolve( a, remoteRepositories(), localRepository() );
-
- assertTrue( a.isResolved() );
- }
-
public void testMultipleRemoteRepositories()
throws Exception
{
Propchange: maven/components/trunk/maven-compat/src/test/java/org/apache/maven/project/path/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 16:27:27 2009
@@ -1,3 +1,4 @@
+/maven/components/branches/MNG-3932-1/maven-compat/src/test/java/org/apache/maven/project/path:746145-746157
/maven/components/branches/maven-2.0.10-RC/maven-project/src/test/java/org/apache/maven/project/path:680477
/maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/path:679206,720042
/maven/components/branches/sisbell-plugin-manager/maven-compat/src/test/java/org/apache/maven/project/path:738973-739966
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 16:27:27 2009
@@ -1,3 +1,4 @@
+/maven/components/branches/MNG-3932-1/maven-core/src/main/java/org/apache/maven/listeners:746145-746157
/maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/builder/listeners:680477
/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/builder/listeners:679206
/maven/components/branches/sisbell-plugin-manager/maven-core/src/main/java/org/apache/maven/listeners:738973-739966
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 16:27:27 2009
@@ -1,3 +1,4 @@
+/maven/components/branches/MNG-3932-1/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java:746145-746157
/maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/builder/listeners/PluginExtensionListener.java:680477
/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/builder/listeners/PluginExtensionListener.java:679206
/maven/components/branches/sisbell-plugin-manager/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java:738973-739966
Modified: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java?rev=746285&r1=746284&r2=746285&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java (original)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java Fri Feb 20 16:27:27 2009
@@ -24,7 +24,11 @@
import java.io.Reader;
import java.io.Writer;
import java.net.URL;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
import org.apache.maven.Maven;
import org.apache.maven.artifact.Artifact;
@@ -55,14 +59,21 @@
import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
import org.apache.maven.monitor.event.DefaultEventDispatcher;
import org.apache.maven.monitor.event.EventDispatcher;
-import org.apache.maven.plugin.*;
+import org.apache.maven.plugin.InvalidPluginException;
+import org.apache.maven.plugin.MavenPluginCollector;
+import org.apache.maven.plugin.MavenPluginDiscoverer;
+import org.apache.maven.plugin.MojoExecution;
+import org.apache.maven.plugin.PluginContext;
+import org.apache.maven.plugin.PluginManager;
+import org.apache.maven.plugin.PluginManagerException;
+import org.apache.maven.plugin.PluginNotFoundException;
+import org.apache.maven.plugin.PluginRepository;
import org.apache.maven.plugin.version.PluginVersionNotFoundException;
import org.apache.maven.plugin.version.PluginVersionResolutionException;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.MavenProjectBuildingResult;
import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.plugin.PluginRepository;
import org.apache.maven.reactor.MavenExecutionException;
import org.apache.maven.reactor.MissingModuleException;
import org.apache.maven.settings.Settings;
@@ -258,7 +269,6 @@
modelWriter.write( writer, model );
}
-
// ----------------------------------------------------------------------
// Settings
// ----------------------------------------------------------------------
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=746285&r1=746284&r2=746285&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 Fri Feb 20 16:27:27 2009
@@ -60,7 +60,6 @@
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
import org.sonatype.plexus.components.sec.dispatcher.SecDispatcher;
import org.sonatype.plexus.components.sec.dispatcher.SecDispatcherException;
@@ -85,9 +84,6 @@
private PlexusContainer container;
@Requirement
- private WagonManager wagonManager;
-
- @Requirement
private MavenSettingsBuilder settingsBuilder;
@Requirement
@@ -392,22 +388,18 @@
if ( request.isOffline() )
{
- wagonManager.setOnline( false );
+ mavenTools.setOnline( false );
}
else if ( ( request.getSettings() != null ) && request.getSettings().isOffline() )
{
- wagonManager.setOnline( false );
+ mavenTools.setOnline( false );
}
else
{
- wagonManager.findAndRegisterWagons( container );
-
- wagonManager.setInteractive( request.isInteractiveMode() );
+ mavenTools.setDownloadMonitor( request.getTransferListener() );
- wagonManager.setDownloadMonitor( request.getTransferListener() );
-
- wagonManager.setOnline( true );
- }
+ mavenTools.setOnline( true );
+ }
try
{
@@ -435,7 +427,7 @@
throw new SettingsConfigurationException( "Proxy in settings.xml has no host" );
}
- wagonManager.addProxy( proxy.getProtocol(), proxy.getHost(), proxy.getPort(), proxy.getUsername(), proxy.getPassword(), proxy.getNonProxyHosts() );
+ mavenTools.addProxy( proxy.getProtocol(), proxy.getHost(), proxy.getPort(), proxy.getUsername(), proxy.getPassword(), proxy.getNonProxyHosts() );
}
for ( Iterator i = settings.getServers().iterator(); i.hasNext(); )
@@ -446,29 +438,18 @@
String phrase = securityDispatcher.decrypt( server.getPassphrase() );
- wagonManager.addAuthenticationInfo( server.getId(), server.getUsername(), pass, server.getPrivateKey(), phrase );
-
- wagonManager.addPermissionInfo( server.getId(), server.getFilePermissions(), server.getDirectoryPermissions() );
+ mavenTools.addAuthenticationInfo( server.getId(), server.getUsername(), pass, server.getPrivateKey(), phrase );
- if ( server.getConfiguration() != null )
- {
- wagonManager.addConfiguration( server.getId(), (Xpp3Dom) server.getConfiguration() );
- }
+ mavenTools.addPermissionInfo( server.getId(), server.getFilePermissions(), server.getDirectoryPermissions() );
}
RepositoryPermissions defaultPermissions = new RepositoryPermissions();
- defaultPermissions.setDirectoryMode( "775" );
-
- defaultPermissions.setFileMode( "664" );
-
- wagonManager.setDefaultRepositoryPermissions( defaultPermissions );
-
for ( Iterator i = settings.getMirrors().iterator(); i.hasNext(); )
{
Mirror mirror = (Mirror) i.next();
- wagonManager.addMirror( mirror.getId(), mirror.getMirrorOf(), mirror.getUrl() );
+ mavenTools.addMirror( mirror.getId(), mirror.getMirrorOf(), mirror.getUrl() );
}
}
catch ( SecDispatcherException e )
@@ -489,7 +470,7 @@
*/
@SuppressWarnings("unchecked")
private void decrypt( Settings settings )
- throws IOException
+ throws IOException
{
List<Server> servers = settings.getServers();
Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/SettingsAdapter.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 16:27:27 2009
@@ -1,3 +1,4 @@
+/maven/components/branches/MNG-3932-1/maven-embedder/src/main/java/org/apache/maven/embedder/execution/SettingsAdapter.java:746145-746157
/maven/components/branches/maven-2.0.10-RC/maven-embedder/src/main/java/org/apache/maven/embedder/user/SettingsAdapter.java:680477
/maven/components/branches/maven-2.0.x/maven-embedder/src/main/java/org/apache/maven/embedder/user/SettingsAdapter.java:679206
/maven/components/branches/sisbell-plugin-manager/maven-embedder/src/main/java/org/apache/maven/embedder/execution/SettingsAdapter.java:738973-739966
Modified: maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulatorTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulatorTest.java?rev=746285&r1=746284&r2=746285&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulatorTest.java (original)
+++ maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulatorTest.java Fri Feb 20 16:27:27 2009
@@ -1,6 +1,5 @@
package org.apache.maven.embedder.execution;
-import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.embedder.DefaultConfiguration;
import org.apache.maven.embedder.MavenEmbedderException;
import org.apache.maven.execution.DefaultMavenExecutionRequest;
@@ -11,16 +10,13 @@
extends PlexusTestCase
{
private MavenExecutionRequestPopulator populator;
-
- private WagonManager wagonManager;
-
+
public void setUp()
throws Exception
{
super.setUp();
populator = (MavenExecutionRequestPopulator) lookup( MavenExecutionRequestPopulator.class );
- wagonManager = (WagonManager) lookup( WagonManager.class );
}
public void testWagonManagerOfflineFlagIsPopulatedFromSettings()
@@ -28,11 +24,6 @@
{
MavenExecutionRequest req = new DefaultMavenExecutionRequest().setOffline( true );
- assertTrue( wagonManager.isOnline() );
-
populator.populateDefaults( req, new DefaultConfiguration() );
-
- assertFalse( wagonManager.isOnline() );
}
-
}
Propchange: maven/components/trunk/maven-project-builder/src/main/resources/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 16:27:27 2009
@@ -1,3 +1,4 @@
+/maven/components/branches/MNG-3932-1/maven-project-builder/src/main/resources:746145-746157
/maven/components/branches/maven-2.0.10-RC/maven-project/src/main/resources:680477
/maven/components/branches/maven-2.0.x/maven-project/src/main/resources:679206,720042
/maven/components/branches/sisbell-plugin-manager/maven-project-builder/src/main/resources:738973-739966
Propchange: maven/components/trunk/maven-project-builder/src/test/java/org/apache/maven/project/builder/EnforcerPomTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 16:27:27 2009
@@ -1,3 +1,4 @@
+/maven/components/branches/MNG-3932-1/maven-project-builder/src/test/java/org/apache/maven/project/builder/EnforcerPomTest.java:746145-746157
/maven/components/branches/maven-2.0.10-RC/maven-project-builder/src/test/java/EnforcerPomTest.java:680477
/maven/components/branches/maven-2.0.x/maven-project-builder/src/test/java/EnforcerPomTest.java:679206,720042
/maven/components/branches/sisbell-plugin-manager/maven-project-builder/src/test/java/org/apache/maven/project/builder/EnforcerPomTest.java:738973-739966
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java?rev=746285&r1=746284&r2=746285&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java Fri Feb 20 16:27:27 2009
@@ -21,18 +21,25 @@
import java.io.File;
import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.LinkedHashMap;
import java.util.List;
+import java.util.Map;
+import java.util.Set;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.artifact.InvalidRepositoryException;
import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.artifact.repository.DefaultArtifactRepository;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
@@ -41,8 +48,11 @@
import org.apache.maven.model.Model;
import org.apache.maven.model.Repository;
import org.apache.maven.model.RepositoryPolicy;
-import org.apache.maven.project.MissingRepositoryElementException;
import org.apache.maven.project.ProjectBuildingException;
+import org.apache.maven.wagon.authentication.AuthenticationInfo;
+import org.apache.maven.wagon.events.TransferListener;
+import org.apache.maven.wagon.proxy.ProxyInfo;
+import org.apache.maven.wagon.repository.RepositoryPermissions;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.LogEnabled;
@@ -69,6 +79,9 @@
private ArtifactRepositoryLayout defaultArtifactRepositoryLayout;
@Requirement
+ private WagonManager wagonManager;
+
+ @Requirement
private Logger logger;
private static HashMap<String, Artifact> cache = new HashMap<String, Artifact>();
@@ -396,4 +409,408 @@
throw new IOException( e.getMessage() );
}
}
+
+ // ------------------------------------------------------------------------
+ // Extracted from DefaultWagonManager
+ // ------------------------------------------------------------------------
+
+ private static final String WILDCARD = "*";
+
+ private static final String EXTERNAL_WILDCARD = "external:*";
+
+ private static int anonymousMirrorIdSeed = 0;
+
+ private boolean online = true;
+
+ private boolean interactive = true;
+
+ private TransferListener downloadMonitor;
+
+ private Map<String,ProxyInfo> proxies = new HashMap<String,ProxyInfo>();
+
+ private Map<String,AuthenticationInfo> authenticationInfoMap = new HashMap<String,AuthenticationInfo>();
+
+ private Map<String,RepositoryPermissions> serverPermissionsMap = new HashMap<String,RepositoryPermissions>();
+
+ //used LinkedMap to preserve the order.
+ private Map<String,ArtifactRepository> mirrors = new LinkedHashMap<String,ArtifactRepository>();
+
+ public ArtifactRepository getMirrorRepository( ArtifactRepository repository )
+ {
+ ArtifactRepository mirror = getMirror( repository );
+ if ( mirror != null )
+ {
+ String id = mirror.getId();
+ if ( id == null )
+ {
+ // TODO: this should be illegal in settings.xml
+ id = repository.getId();
+ }
+
+ logger.debug( "Using mirror: " + mirror.getId() + " for repository: " + repository.getId() + "\n(mirror url: " + mirror.getUrl() + ")" );
+ repository = artifactRepositoryFactory.createArtifactRepository( id, mirror.getUrl(),
+ repository.getLayout(), repository.getSnapshots(),
+ repository.getReleases() );
+ }
+ return repository;
+ }
+
+ /**
+ * This method finds a matching mirror for the selected repository. If there is an exact match, this will be used.
+ * If there is no exact match, then the list of mirrors is examined to see if a pattern applies.
+ *
+ * @param originalRepository See if there is a mirror for this repository.
+ * @return the selected mirror or null if none are found.
+ */
+ public ArtifactRepository getMirror( ArtifactRepository originalRepository )
+ {
+ ArtifactRepository selectedMirror = mirrors.get( originalRepository.getId() );
+ if ( null == selectedMirror )
+ {
+ // Process the patterns in order. First one that matches wins.
+ Set<String> keySet = mirrors.keySet();
+ if ( keySet != null )
+ {
+ for ( String pattern : keySet )
+ {
+ if ( matchPattern( originalRepository, pattern ) )
+ {
+ selectedMirror = mirrors.get( pattern );
+ }
+ }
+ }
+
+ }
+ return selectedMirror;
+ }
+
+ /**
+ * This method checks if the pattern matches the originalRepository.
+ * Valid patterns:
+ * * = everything
+ * external:* = everything not on the localhost and not file based.
+ * repo,repo1 = repo or repo1
+ * *,!repo1 = everything except repo1
+ *
+ * @param originalRepository to compare for a match.
+ * @param pattern used for match. Currently only '*' is supported.
+ * @return true if the repository is a match to this pattern.
+ */
+ public boolean matchPattern( ArtifactRepository originalRepository, String pattern )
+ {
+ boolean result = false;
+ String originalId = originalRepository.getId();
+
+ // simple checks first to short circuit processing below.
+ if ( WILDCARD.equals( pattern ) || pattern.equals( originalId ) )
+ {
+ result = true;
+ }
+ else
+ {
+ // process the list
+ String[] repos = pattern.split( "," );
+ for (String repo : repos) {
+ // see if this is a negative match
+ if (repo.length() > 1 && repo.startsWith("!")) {
+ if (originalId.equals(repo.substring(1))) {
+ // explicitly exclude. Set result and stop processing.
+ result = false;
+ break;
+ }
+ }
+ // check for exact match
+ else if (originalId.equals(repo)) {
+ result = true;
+ break;
+ }
+ // check for external:*
+ else if (EXTERNAL_WILDCARD.equals(repo) && isExternalRepo(originalRepository)) {
+ result = true;
+ // don't stop processing in case a future segment explicitly excludes this repo
+ } else if (WILDCARD.equals(repo)) {
+ result = true;
+ // don't stop processing in case a future segment explicitly excludes this repo
+ }
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Checks the URL to see if this repository refers to an external repository
+ *
+ * @param originalRepository
+ * @return true if external.
+ */
+ public boolean isExternalRepo( ArtifactRepository originalRepository )
+ {
+ try
+ {
+ URL url = new URL( originalRepository.getUrl() );
+ return !( url.getHost().equals( "localhost" ) || url.getHost().equals( "127.0.0.1" ) || url.getProtocol().equals("file" ) );
+ }
+ catch ( MalformedURLException e )
+ {
+ // bad url just skip it here. It should have been validated already, but the wagon lookup will deal with it
+ return false;
+ }
+ }
+
+ public void addMirror( String id, String mirrorOf, String url )
+ {
+ if ( id == null )
+ {
+ id = "mirror-" + anonymousMirrorIdSeed++;
+ logger.warn( "You are using a mirror that doesn't declare an <id/> element. Using \'" + id + "\' instead:\nId: " + id + "\nmirrorOf: " + mirrorOf + "\nurl: " + url + "\n" );
+ }
+
+ ArtifactRepository mirror = new DefaultArtifactRepository( id, url, null );
+
+ mirrors.put( mirrorOf, mirror );
+ }
+
+ public void setOnline( boolean online )
+ {
+ this.online = online;
+ }
+
+ public boolean isOnline()
+ {
+ return online;
+ }
+
+ public void setInteractive( boolean interactive )
+ {
+ this.interactive = interactive;
+ }
+
+ public void setDownloadMonitor( TransferListener downloadMonitor )
+ {
+ this.downloadMonitor = downloadMonitor;
+ }
+
+ public void addProxy( String protocol, String host, int port, String username, String password, String nonProxyHosts )
+ {
+ ProxyInfo proxyInfo = new ProxyInfo();
+ proxyInfo.setHost( host );
+ proxyInfo.setType( protocol );
+ proxyInfo.setPort( port );
+ proxyInfo.setNonProxyHosts( nonProxyHosts );
+ proxyInfo.setUserName( username );
+ proxyInfo.setPassword( password );
+
+ proxies.put( protocol, proxyInfo );
+ }
+
+ public void addAuthenticationInfo( String repositoryId, String username, String password, String privateKey, String passphrase )
+ {
+ AuthenticationInfo authInfo = new AuthenticationInfo();
+ authInfo.setUserName( username );
+ authInfo.setPassword( password );
+ authInfo.setPrivateKey( privateKey );
+ authInfo.setPassphrase( passphrase );
+
+ authenticationInfoMap.put( repositoryId, authInfo );
+ }
+
+ public void addPermissionInfo( String repositoryId, String filePermissions, String directoryPermissions )
+ {
+ RepositoryPermissions permissions = new RepositoryPermissions();
+
+ boolean addPermissions = false;
+
+ if ( filePermissions != null )
+ {
+ permissions.setFileMode( filePermissions );
+ addPermissions = true;
+ }
+
+ if ( directoryPermissions != null )
+ {
+ permissions.setDirectoryMode( directoryPermissions );
+ addPermissions = true;
+ }
+
+ if ( addPermissions )
+ {
+ serverPermissionsMap.put( repositoryId, permissions );
+ }
+ }
+
+ // Test for this stuff
+
+ /*
+
+ public void testAddMirrorWithNullRepositoryId()
+ {
+ wagonManager.addMirror( null, "test", "http://www.nowhere.com/" );
+ }
+
+ public void testGetArtifactSha1MissingMd5Present()
+ throws IOException, UnsupportedProtocolException, TransferFailedException, ResourceDoesNotExistException
+ {
+ Artifact artifact = createTestPomArtifact( "target/test-data/get-remote-artifact" );
+
+ ArtifactRepository repo = createStringRepo();
+
+ StringWagon wagon = (StringWagon) wagonManager.getWagon( "string" );
+ wagon.addExpectedContent( repo.getLayout().pathOf( artifact ), "expected" );
+ wagon.addExpectedContent( repo.getLayout().pathOf( artifact ) + ".md5", "bad_checksum" );
+
+ wagonManager.getArtifact( artifact, repo, true );
+
+ assertTrue( artifact.getFile().exists() );
+ }
+
+ public void testExternalURL()
+ {
+ DefaultWagonManager mgr = new DefaultWagonManager();
+ assertTrue( mgr.isExternalRepo( getRepo( "foo", "http://somehost" ) ) );
+ assertTrue( mgr.isExternalRepo( getRepo( "foo", "http://somehost:9090/somepath" ) ) );
+ assertTrue( mgr.isExternalRepo( getRepo( "foo", "ftp://somehost" ) ) );
+ assertTrue( mgr.isExternalRepo( getRepo( "foo", "http://192.168.101.1" ) ) );
+ assertTrue( mgr.isExternalRepo( getRepo( "foo", "http://" ) ) );
+ // these are local
+ assertFalse( mgr.isExternalRepo( getRepo( "foo", "http://localhost:8080" ) ) );
+ assertFalse( mgr.isExternalRepo( getRepo( "foo", "http://127.0.0.1:9090" ) ) );
+ assertFalse( mgr.isExternalRepo( getRepo( "foo", "file://localhost/somepath" ) ) );
+ assertFalse( mgr.isExternalRepo( getRepo( "foo", "file://localhost/D:/somepath" ) ) );
+ assertFalse( mgr.isExternalRepo( getRepo( "foo", "http://localhost" ) ) );
+ assertFalse( mgr.isExternalRepo( getRepo( "foo", "http://127.0.0.1" ) ) );
+ assertFalse( mgr.isExternalRepo( getRepo( "foo", "file:///somepath" ) ) );
+ assertFalse( mgr.isExternalRepo( getRepo( "foo", "file://D:/somepath" ) ) );
+
+ // not a proper url so returns false;
+ assertFalse( mgr.isExternalRepo( getRepo( "foo", "192.168.101.1" ) ) );
+ assertFalse( mgr.isExternalRepo( getRepo( "foo", "" ) ) );
+ }
+
+ public void testMirrorLookup()
+ {
+ wagonManager.addMirror( "a", "a", "http://a" );
+ wagonManager.addMirror( "b", "b", "http://b" );
+
+ ArtifactRepository repo = null;
+ repo = wagonManager.getMirrorRepository( getRepo( "a", "http://a.a" ) );
+ assertEquals( "http://a", repo.getUrl() );
+
+ repo = wagonManager.getMirrorRepository( getRepo( "b", "http://a.a" ) );
+ assertEquals( "http://b", repo.getUrl() );
+
+ repo = wagonManager.getMirrorRepository( getRepo( "c", "http://c.c" ) );
+ assertEquals( "http://c.c", repo.getUrl() );
+
+ }
+
+ public void testMirrorWildcardLookup()
+ {
+ wagonManager.addMirror( "a", "a", "http://a" );
+ wagonManager.addMirror( "b", "b", "http://b" );
+ wagonManager.addMirror( "c", "*", "http://wildcard" );
+
+ ArtifactRepository repo = null;
+ repo = wagonManager.getMirrorRepository( getRepo( "a", "http://a.a" ) );
+ assertEquals( "http://a", repo.getUrl() );
+
+ repo = wagonManager.getMirrorRepository( getRepo( "b", "http://a.a" ) );
+ assertEquals( "http://b", repo.getUrl() );
+
+ repo = wagonManager.getMirrorRepository( getRepo( "c", "http://c.c" ) );
+ assertEquals( "http://wildcard", repo.getUrl() );
+
+ }
+
+ public void testMirrorStopOnFirstMatch()
+ {
+ //exact matches win first
+ wagonManager.addMirror( "a2", "a,b", "http://a2" );
+ wagonManager.addMirror( "a", "a", "http://a" );
+ //make sure repeated entries are skipped
+ wagonManager.addMirror( "a", "a", "http://a3" );
+
+ wagonManager.addMirror( "b", "b", "http://b" );
+ wagonManager.addMirror( "c", "d,e", "http://de" );
+ wagonManager.addMirror( "c", "*", "http://wildcard" );
+ wagonManager.addMirror( "c", "e,f", "http://ef" );
+
+
+
+ ArtifactRepository repo = null;
+ repo = wagonManager.getMirrorRepository( getRepo( "a", "http://a.a" ) );
+ assertEquals( "http://a", repo.getUrl() );
+
+ repo = wagonManager.getMirrorRepository( getRepo( "b", "http://a.a" ) );
+ assertEquals( "http://b", repo.getUrl() );
+
+ repo = wagonManager.getMirrorRepository( getRepo( "c", "http://c.c" ) );
+ assertEquals( "http://wildcard", repo.getUrl() );
+
+ repo = wagonManager.getMirrorRepository( getRepo( "d", "http://d" ) );
+ assertEquals( "http://de", repo.getUrl() );
+
+ repo = wagonManager.getMirrorRepository( getRepo( "e", "http://e" ) );
+ assertEquals( "http://de", repo.getUrl() );
+
+ repo = wagonManager.getMirrorRepository( getRepo( "f", "http://f" ) );
+ assertEquals( "http://wildcard", repo.getUrl() );
+
+ }
+
+
+ public void testPatterns()
+ {
+ DefaultWagonManager mgr = new DefaultWagonManager();
+
+ assertTrue( mgr.matchPattern( getRepo( "a" ), "*" ) );
+ assertTrue( mgr.matchPattern( getRepo( "a" ), "*," ) );
+ assertTrue( mgr.matchPattern( getRepo( "a" ), ",*," ) );
+ assertTrue( mgr.matchPattern( getRepo( "a" ), "*," ) );
+
+ assertTrue( mgr.matchPattern( getRepo( "a" ), "a" ) );
+ assertTrue( mgr.matchPattern( getRepo( "a" ), "a," ) );
+ assertTrue( mgr.matchPattern( getRepo( "a" ), ",a," ) );
+ assertTrue( mgr.matchPattern( getRepo( "a" ), "a," ) );
+
+ assertFalse( mgr.matchPattern( getRepo( "b" ), "a" ) );
+ assertFalse( mgr.matchPattern( getRepo( "b" ), "a," ) );
+ assertFalse( mgr.matchPattern( getRepo( "b" ), ",a" ) );
+ assertFalse( mgr.matchPattern( getRepo( "b" ), ",a," ) );
+
+ assertTrue( mgr.matchPattern( getRepo( "a" ), "a,b" ) );
+ assertTrue( mgr.matchPattern( getRepo( "b" ), "a,b" ) );
+
+ assertFalse( mgr.matchPattern( getRepo( "c" ), "a,b" ) );
+
+ assertTrue( mgr.matchPattern( getRepo( "a" ), "*" ) );
+ assertTrue( mgr.matchPattern( getRepo( "a" ), "*,b" ) );
+ assertTrue( mgr.matchPattern( getRepo( "a" ), "*,!b" ) );
+
+ assertFalse( mgr.matchPattern( getRepo( "a" ), "*,!a" ) );
+ assertFalse( mgr.matchPattern( getRepo( "a" ), "!a,*" ) );
+
+ assertTrue( mgr.matchPattern( getRepo( "c" ), "*,!a" ) );
+ assertTrue( mgr.matchPattern( getRepo( "c" ), "!a,*" ) );
+
+ assertFalse( mgr.matchPattern( getRepo( "c" ), "!a,!c" ) );
+ assertFalse( mgr.matchPattern( getRepo( "d" ), "!a,!c*" ) );
+ }
+
+ public void testPatternsWithExternal()
+ {
+ DefaultWagonManager mgr = new DefaultWagonManager();
+
+ assertTrue( mgr.matchPattern( getRepo( "a", "http://localhost" ), "*" ) );
+ assertFalse( mgr.matchPattern( getRepo( "a", "http://localhost" ), "external:*" ) );
+
+ assertTrue( mgr.matchPattern( getRepo( "a", "http://localhost" ), "external:*,a" ) );
+ assertFalse( mgr.matchPattern( getRepo( "a", "http://localhost" ), "external:*,!a" ) );
+ assertTrue( mgr.matchPattern( getRepo( "a", "http://localhost" ), "a,external:*" ) );
+ assertFalse( mgr.matchPattern( getRepo( "a", "http://localhost" ), "!a,external:*" ) );
+
+ assertFalse( mgr.matchPattern( getRepo( "c", "http://localhost" ), "!a,external:*" ) );
+ assertTrue( mgr.matchPattern( getRepo( "c", "http://somehost" ), "!a,external:*" ) );
+ }
+
+ */
}
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/MavenTools.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/MavenTools.java?rev=746285&r1=746284&r2=746285&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/MavenTools.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/MavenTools.java Fri Feb 20 16:27:27 2009
@@ -19,18 +19,18 @@
* under the License.
*/
+import java.io.IOException;
+import java.util.List;
+
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.InvalidRepositoryException;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
import org.apache.maven.model.DeploymentRepository;
import org.apache.maven.model.Model;
import org.apache.maven.model.Repository;
import org.apache.maven.project.ProjectBuildingException;
-
-import java.io.IOException;
-import java.util.List;
+import org.apache.maven.wagon.events.TransferListener;
/**
* @author Jason van Zyl
@@ -48,7 +48,7 @@
ArtifactRepository createLocalRepository( String url, String repositoryId )
throws IOException;
-
+
ArtifactRepository createRepository( String url, String repositoryId );
ArtifactRepository createRepository( String url, String repositoryId, ArtifactRepositoryPolicy snapshotsPolicy, ArtifactRepositoryPolicy releasesPolicy );
@@ -69,4 +69,30 @@
void resolve( Artifact artifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
throws IOException;
+
+ // WagonManager
+
+ ArtifactRepository getMirrorRepository( ArtifactRepository repository );
+
+ ArtifactRepository getMirror( ArtifactRepository originalRepository );
+
+ boolean matchPattern( ArtifactRepository originalRepository, String pattern );
+
+ boolean isExternalRepo( ArtifactRepository originalRepository );
+
+ void addMirror( String id, String mirrorOf, String url );
+
+ void setOnline( boolean online );
+
+ boolean isOnline();
+
+ void setInteractive( boolean interactive );
+
+ void setDownloadMonitor( TransferListener downloadMonitor );
+
+ void addProxy( String protocol, String host, int port, String username, String password, String nonProxyHosts );
+
+ void addAuthenticationInfo( String repositoryId, String username, String password, String privateKey, String passphrase );
+
+ void addPermissionInfo( String repositoryId, String filePermissions, String directoryPermissions );
}
Propchange: maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 16:27:27 2009
@@ -1,3 +1,4 @@
+/maven/components/branches/MNG-3932-1/maven-project/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java:746145-746157
/maven/components/branches/maven-2.0.10-RC/maven-profile/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java:680477
/maven/components/branches/maven-2.0.x/maven-profile/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java:679206
/maven/components/branches/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java:738973-739966
Propchange: maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 16:27:27 2009
@@ -1,3 +1,4 @@
+/maven/components/branches/MNG-3932-1/maven-project/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java:746145-746157
/maven/components/branches/maven-2.0.10-RC/maven-profile/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java:680477
/maven/components/branches/maven-2.0.x/maven-profile/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java:679206
/maven/components/branches/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java:738973-739966
Propchange: maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 16:27:27 2009
@@ -1,3 +1,4 @@
+/maven/components/branches/MNG-3932-1/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java:746145-746157
/maven/components/branches/maven-2.0.10-RC/maven-profile/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java:680477
/maven/components/branches/maven-2.0.x/maven-profile/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java:679206
/maven/components/branches/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java:738973-739966
Propchange: maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 16:27:27 2009
@@ -1,3 +1,4 @@
+/maven/components/branches/MNG-3932-1/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java:746145-746157
/maven/components/branches/maven-2.0.10-RC/maven-profile/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java:680477
/maven/components/branches/maven-2.0.x/maven-profile/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java:679206
/maven/components/branches/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java:738973-739966
Propchange: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultPomArtifactResolver.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 16:27:27 2009
@@ -1,3 +1,4 @@
+/maven/components/branches/MNG-3932-1/maven-project/src/main/java/org/apache/maven/project/DefaultPomArtifactResolver.java:746145-746157
/maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/builder/PomArtifactResolver.java:680477
/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/builder/PomArtifactResolver.java:679206,720042
/maven/components/branches/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/project/builder/DefaultPomArtifactResolver.java:738973-739966
Propchange: maven/components/trunk/maven-project/src/main/mdo/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 16:27:27 2009
@@ -1,3 +1,4 @@
+/maven/components/branches/MNG-3932-1/maven-project/src/main/mdo:746145-746157
/maven/components/branches/maven-2.0.10-RC/maven-profile/src/main/mdo:680477
/maven/components/branches/maven-2.0.x/maven-profile/src/main/mdo:679206
/maven/components/branches/sisbell-plugin-manager/maven-project/src/main/mdo:738973-739966
Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java?rev=746285&r1=746284&r2=746285&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java (original)
+++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java Fri Feb 20 16:27:27 2009
@@ -813,6 +813,19 @@
}
/** MNG-4027
+ public void testProjectInjectedDependencies()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "profile-injected-dependencies" );
+ assertEquals( 4, ( (List<?>) pom.getValue( "dependencies" ) ).size() );
+ assertEquals( "a", pom.getValue( "dependencies[1]/artifactId" ) );
+ assertEquals( "c", pom.getValue( "dependencies[2]/artifactId" ) );
+ assertEquals( "b", pom.getValue( "dependencies[3]/artifactId" ) );
+ assertEquals( "d", pom.getValue( "dependencies[4]/artifactId" ) );
+ }
+ //*/
+
+ /** MNG-4027
public void testProfileInjectedDependencies()
throws Exception
{