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/05/07 17:20:33 UTC

svn commit: r772675 - /maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java

Author: jvanzyl
Date: Thu May  7 15:20:32 2009
New Revision: 772675

URL: http://svn.apache.org/viewvc?rev=772675&view=rev
Log:
o restore the functionality that m2eclipse needs to read projects with dependencies

Modified:
    maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java

Modified: maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java?rev=772675&r1=772674&r2=772675&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java (original)
+++ maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java Thu May  7 15:20:32 2009
@@ -71,6 +71,7 @@
  *
  * @author Jason van Zyl
  */
+//TODO: just turn this into a component
 public class MavenEmbedder
 {
     public static final String userHome = System.getProperty( "user.home" );
@@ -303,6 +304,13 @@
      * can be populated. For example, a list of libraries that are used by an Eclipse, Netbeans, or
      * IntelliJ project.
      */
+    
+    // currently in m2eclipse each project is read read a single project for dependencies
+    // Project
+    // Exceptions
+    // explicit for exceptions where coordinate are involved.
+    // m2eclipse is not using the topological sorting at all because it keeps track itself.
+    
     public MavenExecutionResult readProjectWithDependencies( MavenExecutionRequest request )
     {
         MavenExecutionResult result = new DefaultMavenExecutionResult();
@@ -310,70 +318,26 @@
         try
         {
             request = populator.populateDefaults( request, configuration );
-
-            readProject( request.getPom(), request );
         }
         catch ( MavenEmbedderException e )
         {
             return result.addException( e );
         }
-        catch ( ProjectBuildingException e )
-        {
-            return result.addException( e );
-        }
-        catch ( MissingModuleException e )
-        {
-            return result.addException( e );
-        }
-
-        //TODO: need to check for circularity problems here even though this is purely downloading and for IDEs they will take care of circularity problems.
-        
-        /*
-        ReactorManager reactorManager = maven.createReactorManager( request, result );
 
-        if ( result.hasExceptions() )
+        try
         {
-            return result;
-        }
-        */
+            MavenProjectBuildingResult projectBuildingResult = mavenProjectBuilder.buildProjectWithDependencies( request.getPom(), request.getProjectBuildingConfiguration() );
+            
+            result.setProject( projectBuildingResult.getProject() );
 
-        MavenProjectBuildingResult projectBuildingResult;
+            result.setArtifactResolutionResult( projectBuildingResult.getArtifactResolutionResult() );
 
-        try
-        {
-            projectBuildingResult = mavenProjectBuilder.buildProjectWithDependencies( request.getPom(), request.getProjectBuildingConfiguration() );
+            return result;
         }
         catch ( ProjectBuildingException e )
         {
             return result.addException( e );
         }
-
-        /*
-        if ( reactorManager.hasMultipleProjects() )
-        {
-            result.setProject( projectBuildingResult.getProject() );
-
-            result.setTopologicallySortedProjects( reactorManager.getSortedProjects() );
-        }
-        else
-        {
-            result.setProject( projectBuildingResult.getProject() );
-
-            result.setTopologicallySortedProjects( Arrays.asList( new MavenProject[]{ projectBuildingResult.getProject()} ) );
-        }
-        */
-
-        result.setArtifactResolutionResult( projectBuildingResult.getArtifactResolutionResult() );
-
-        // From this I could produce something that would help IDE integrators create importers:
-        // - topo sorted list of projects
-        // - binary dependencies
-        // - source dependencies (projects in the reactor)
-        //
-        // We could create a layer approach here. As to do anything you must resolve a projects artifacts,
-        // and with that set you could then subsequently execute goals for each of those project.
-
-        return result;
     }
 
     // ----------------------------------------------------------------------