Author: bimargulies
Date: Sat Dec 10 13:54:49 2011
New Revision: 1212793

URL: http://svn.apache.org/viewvc?rev=1212793&view=rev
Log:
MNG-5214: Dependency resolution substitutes g:a:v:jar for j:a:v:something-else 
when something-else isn't in the reactor
o allow ejb-client types artifacts to dance with jar artifacts to allow reactor 
resolution to target/classes, thus
unbreaking some integration tests.

Modified:
    
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/ReactorReader.java

Modified: 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/ReactorReader.java
URL: 
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/ReactorReader.java?rev=1212793&r1=1212792&r2=1212793&view=diff
==============================================================================
--- 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/ReactorReader.java
 (original)
+++ 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/ReactorReader.java
 Sat Dec 10 13:54:49 2011
@@ -27,6 +27,7 @@ import org.sonatype.aether.repository.Wo
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -42,13 +43,16 @@ import java.util.Map;
 class ReactorReader
     implements WorkspaceReader
 {
+    private final static Collection<String> JAR_LIKE_TYPES = Arrays.asList( 
"jar", "test-jar", "ejb-client" );
+
+    private final static Collection<String> COMPILE_PHASE_TYPES = 
Arrays.asList( "jar", "ejb-client" );
 
     private Map<String, MavenProject> projectsByGAV;
 
     private Map<String, List<MavenProject>> projectsByGA;
 
     private WorkspaceRepository repository;
-
+    
     public ReactorReader( Map<String, MavenProject> reactorProjects )
     {
         projectsByGAV = reactorProjects;
@@ -99,7 +103,8 @@ class ReactorReader
             }
             else
             {
-                if ( project.hasLifecyclePhase( "compile" ) && 
artifact.getProperty( "type", "").equals( "jar" ) ) /* also reject non-"" 
classifier? */
+                String type = artifact.getProperty( "type", "");
+                if ( project.hasLifecyclePhase( "compile" ) && 
COMPILE_PHASE_TYPES.contains( type ) )
                 {
                     return new File( project.getBuild().getOutputDirectory() );
                 }
@@ -194,11 +199,7 @@ class ReactorReader
         {
             typeOk = true;
         }
-        else if ( "test-jar".equals ( requestedType ) && "jar".equals( 
attachedType ) )
-        {
-            typeOk = true;
-        }
-        else if ( "jar".equals ( requestedType ) && "test-jar".equals( 
attachedType ) )
+        else if ( JAR_LIKE_TYPES.contains( requestedType ) && 
JAR_LIKE_TYPES.contains( attachedType ) )
         {
             typeOk = true;
         }


Reply via email to