You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2009/06/22 16:43:43 UTC

svn commit: r787257 - in /maven/components/branches/maven-2.2.0-RC: ./ apache-maven/ apache-maven/src/test/ maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/ maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver...

Author: jdcasey
Date: Mon Jun 22 14:43:42 2009
New Revision: 787257

URL: http://svn.apache.org/viewvc?rev=787257&view=rev
Log:
[MNG-4179] Merging from r779768 on 2.2.x branch.

Modified:
    maven/components/branches/maven-2.2.0-RC/   (props changed)
    maven/components/branches/maven-2.2.0-RC/apache-maven/   (props changed)
    maven/components/branches/maven-2.2.0-RC/apache-maven/src/test/   (props changed)
    maven/components/branches/maven-2.2.0-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
    maven/components/branches/maven-2.2.0-RC/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
    maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java   (props changed)
    maven/components/branches/maven-2.2.0-RC/maven-integration-tests/   (props changed)
    maven/components/branches/maven-2.2.0-RC/maven-model/src/test/   (props changed)
    maven/components/branches/maven-2.2.0-RC/maven-project/src/test/java/org/apache/maven/project/interpolation/AbstractModelInterpolatorTest.java   (props changed)
    maven/components/branches/maven-2.2.0-RC/maven-toolchain/src/main/mdo/toolchains.mdo   (props changed)

Propchange: maven/components/branches/maven-2.2.0-RC/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jun 22 14:43:42 2009
@@ -3,5 +3,6 @@
 /maven/components/branches/maven-2.1.0-M1-RC:690315,691793-694304
 /maven/components/branches/maven-2.1.0-RC:688883,689695,689976,689990,752168,752428,752622,752653,753089-753090,753320,755086,755199,755215
 /maven/components/branches/maven-2.1.x:751686,767628,767631,768817,768995,769010-769011
+/maven/components/branches/maven-2.2.x:779768
 /maven/components/trunk:572229,720001,721902,726845,729292
 /maven/sandbox/branches/maven/MNG-3379:678167

Propchange: maven/components/branches/maven-2.2.0-RC/apache-maven/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jun 22 14:43:42 2009
@@ -3,6 +3,7 @@
 /maven/components/branches/maven-2.1.0-M1-RC/apache-maven:690315,691793-694304
 /maven/components/branches/maven-2.1.0-RC/apache-maven:688883,689695,689976,689990,752168,752428,752622,752653,753089-753090,753320,755086,755199,755215
 /maven/components/branches/maven-2.1.x/apache-maven:751686,767628,767631,768995,769010-769011
+/maven/components/branches/maven-2.2.x/apache-maven:779768
 /maven/components/trunk/apache-maven:720001,721902,726845,727688
 /maven/components/trunk/maven-distribution:727688
 /maven/sandbox/branches/maven/MNG-3379/apache-maven:678167

Propchange: maven/components/branches/maven-2.2.0-RC/apache-maven/src/test/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jun 22 14:43:42 2009
@@ -2,3 +2,4 @@
 /maven/components/branches/maven-2.0.x/apache-maven/src/test:736543
 /maven/components/branches/maven-2.1.0-RC/apache-maven/src/test:752168,752428,752622,752653,753089-753090,753320,755086,755199,755215
 /maven/components/branches/maven-2.1.x/apache-maven/src/test:751686,767628,767631,768995,769010-769011
+/maven/components/branches/maven-2.2.x/apache-maven/src/test:779768

Modified: maven/components/branches/maven-2.2.0-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.0-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=787257&r1=787256&r2=787257&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.0-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (original)
+++ maven/components/branches/maven-2.2.0-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java Mon Jun 22 14:43:42 2009
@@ -431,11 +431,6 @@
             try
             {
                 resolveArtifact( node );
-                if ( i.hasNext() )
-                {
-                    pool.execute( new ResolveArtifactTask( pool, latch, nodes, localRepository, resolvedArtifacts,
-                                                           missingArtifacts, resolutionExceptions ) );
-                }
             }
             catch ( ArtifactResolutionException e )
             {
@@ -444,6 +439,12 @@
             finally 
             {
                 latch.countDown();
+
+                if ( i.hasNext() )
+                {
+                    pool.execute( new ResolveArtifactTask( pool, latch, nodes, localRepository, resolvedArtifacts,
+                                                           missingArtifacts, resolutionExceptions ) );
+                }
             }
         }
 

Modified: maven/components/branches/maven-2.2.0-RC/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.0-RC/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java?rev=787257&r1=787256&r2=787257&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.0-RC/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java (original)
+++ maven/components/branches/maven-2.2.0-RC/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java Mon Jun 22 14:43:42 2009
@@ -361,5 +361,60 @@
 
         control.verify();
     }
+
+    /**
+     * Test deadlocking in case a transfer error occurs within a group of multiple artifacts (MNG-4179).
+     */
+    public void testResolveMultipleWithException()
+        throws Exception
+    {
+        ArtifactRepository repository = remoteRepository();
+        List remoteRepositories = Collections.singletonList( repository );
+
+        Artifact a1 = createArtifact( "testGroup", "artifactId", "1.0", "jar" );
+
+        Artifact a2 = createArtifact( "testGroup", "anotherId", "1.0", "jar" );
+
+        ArtifactMetadataSource mds = new ArtifactMetadataSourceImplementation();
+
+        DefaultArtifactResolver artifactResolver = (DefaultArtifactResolver) this.artifactResolver;
+
+        MockControl control = MockControl.createControl( WagonManager.class );
+        WagonManager wagonManager = (WagonManager) control.getMock();
+        artifactResolver.setWagonManager( wagonManager );
+
+        wagonManager.isOnline();
+        control.setReturnValue( true );
+        wagonManager.getArtifact( a1, remoteRepositories );
+        control.setThrowable( new TransferFailedException( "message" ) );
+        wagonManager.getMirrorRepository( repository );
+        control.setReturnValue( repository );
+
+        wagonManager.isOnline();
+        control.setReturnValue( true );
+        wagonManager.getArtifact( a2, remoteRepositories );
+        control.setThrowable( new TransferFailedException( "message" ) );
+        wagonManager.getMirrorRepository( repository );
+        control.setReturnValue( repository );
+
+        control.replay();
+
+        try
+        {
+            artifactResolver.resolveTransitively( new LinkedHashSet( Arrays.asList( new Artifact[] { a1, a2 } ) ),
+                                                  projectArtifact, remoteRepositories, localRepository(), mds );
+            fail( "Resolution succeeded when it should have failed" );
+        }
+        catch ( ArtifactResolutionException expected )
+        {
+            List repos = expected.getRemoteRepositories();
+            assertEquals( 1, repos.size() );
+            assertEquals( "test", ( (ArtifactRepository) repos.get( 0 ) ).getId() );
+
+            assertEquals( "testGroup", expected.getGroupId() );
+        }
+
+        control.verify();
+    }
 }
 

Propchange: maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jun 22 14:43:42 2009
@@ -5,5 +5,6 @@
 /maven/components/branches/maven-2.1.0-RC/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java:752168,752622,752653,753320,755199,755215
 /maven/components/branches/maven-2.1.x/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginCollector.java:751686,753648,754505,754542
 /maven/components/branches/maven-2.1.x/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java:767628,767631,768995,769010-769011
+/maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java:779768
 /maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginCollector.java:572229,720001,721902,726845,729292
 /maven/sandbox/branches/maven/MNG-3379/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginCollector.java:678167

Propchange: maven/components/branches/maven-2.2.0-RC/maven-integration-tests/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jun 22 14:43:42 2009
@@ -2,3 +2,4 @@
 /maven/components/branches/maven-2.0.x/maven-integration-tests:736543
 /maven/components/branches/maven-2.1.0-RC/maven-integration-tests:752168,752428,752622,752653,753089-753090,753320,755086,755199,755215
 /maven/components/branches/maven-2.1.x/maven-integration-tests:751686,767628,767631,768995,769010-769011
+/maven/components/branches/maven-2.2.x/maven-integration-tests:779768

Propchange: maven/components/branches/maven-2.2.0-RC/maven-model/src/test/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jun 22 14:43:42 2009
@@ -2,3 +2,4 @@
 /maven/components/branches/maven-2.0.x/maven-model/src/test:736543
 /maven/components/branches/maven-2.1.0-RC/maven-model/src/test:752168,752428,752622,752653,753089-753090,753320,755086,755199,755215
 /maven/components/branches/maven-2.1.x/maven-model/src/test:751686,767628,767631,768995,769010-769011
+/maven/components/branches/maven-2.2.x/maven-model/src/test:779768

Propchange: maven/components/branches/maven-2.2.0-RC/maven-project/src/test/java/org/apache/maven/project/interpolation/AbstractModelInterpolatorTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jun 22 14:43:42 2009
@@ -2,3 +2,4 @@
 /maven/components/branches/maven-2.1.0-M1-RC/maven-project/src/test/java/org/apache/maven/project/interpolation/AbstractModelInterpolatorTest.java:690315,691793
 /maven/components/branches/maven-2.1.0-RC/maven-project/src/test/java/org/apache/maven/project/interpolation/AbstractModelInterpolatorTest.java:688883,689695,689976,689990,752168,752428,752622,752653,753089-753090,753320,755086,755199,755215
 /maven/components/branches/maven-2.1.x/maven-project/src/test/java/org/apache/maven/project/interpolation/AbstractModelInterpolatorTest.java:751686,767628,767631,768995,769010-769011
+/maven/components/branches/maven-2.2.x/maven-project/src/test/java/org/apache/maven/project/interpolation/AbstractModelInterpolatorTest.java:779768

Propchange: maven/components/branches/maven-2.2.0-RC/maven-toolchain/src/main/mdo/toolchains.mdo
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jun 22 14:43:42 2009
@@ -1 +1,2 @@
 /maven/components/branches/maven-2.1.x/maven-toolchain/src/main/mdo/toolchains.mdo:768778,768796,768995,769010-769011
+/maven/components/branches/maven-2.2.x/maven-toolchain/src/main/mdo/toolchains.mdo:779768