You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by if...@apache.org on 2014/03/01 15:11:24 UTC

[2/2] git commit: MNG-5591 use 'reactor' hint for reactor WorkspaceReader

MNG-5591 use 'reactor' hint for reactor WorkspaceReader

When maven is invoked from m2e, container.lookup(WorkspaceReader.class)
returns component with role-hint=ide, which I believe is a bug in Susi
or Guice (or at least well misunderstood feature). This masks
ReactorReader workspace reader implementation and breaks reactor
dependency resolution.

The solution is to use explicit "reactor" role hint for ReactorReader.
This avoids fuzzy default component lookup logic and guarantees reactor
reader is always used regardless of presence of other workspace readers.

Signed-off-by: Igor Fedorenko <if...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/ac8e59ac
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/ac8e59ac
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/ac8e59ac

Branch: refs/heads/master
Commit: ac8e59ac60ea1c8454b9c865f9c3178cbbcac566
Parents: 48fec94
Author: Igor Fedorenko <if...@apache.org>
Authored: Fri Feb 28 23:54:45 2014 -0500
Committer: Igor Fedorenko <if...@apache.org>
Committed: Fri Feb 28 23:54:51 2014 -0500

----------------------------------------------------------------------
 maven-core/src/main/java/org/apache/maven/DefaultMaven.java  | 2 +-
 maven-core/src/main/java/org/apache/maven/ReactorReader.java | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/ac8e59ac/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
index 58c536c..6328819 100644
--- a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
+++ b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
@@ -288,7 +288,7 @@ public class DefaultMaven
         sessionScope.seed( MavenSession.class, session );
         try
         {
-            reactorWorkspace = container.lookup( WorkspaceReader.class );
+            reactorWorkspace = container.lookup( WorkspaceReader.class, ReactorReader.HINT );
         }
         catch ( ComponentLookupException e )
         {

http://git-wip-us.apache.org/repos/asf/maven/blob/ac8e59ac/maven-core/src/main/java/org/apache/maven/ReactorReader.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/ReactorReader.java b/maven-core/src/main/java/org/apache/maven/ReactorReader.java
index 9aa8385..e7b1f42 100644
--- a/maven-core/src/main/java/org/apache/maven/ReactorReader.java
+++ b/maven-core/src/main/java/org/apache/maven/ReactorReader.java
@@ -31,7 +31,6 @@ import java.util.Map;
 
 import javax.inject.Inject;
 import javax.inject.Named;
-import javax.inject.Singleton;
 
 import org.apache.maven.artifact.ArtifactUtils;
 import org.apache.maven.execution.MavenSession;
@@ -46,11 +45,13 @@ import org.eclipse.aether.util.artifact.ArtifactIdUtils;
  * 
  * @author Jason van Zyl
  */
-@Named
+@Named( ReactorReader.HINT )
 @SessionScoped
 class ReactorReader
     implements WorkspaceReader
 {
+    public static final String HINT = "reactor";
+    
     private static final Collection<String> COMPILE_PHASE_TYPES = Arrays.asList( "jar", "ejb-client" );
 
     private Map<String, MavenProject> projectsByGAV;