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 2008/09/18 17:49:48 UTC

svn commit: r696679 - /maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/lineage/DefaultModelLineageBuilder.java

Author: jvanzyl
Date: Thu Sep 18 08:49:48 2008
New Revision: 696679

URL: http://svn.apache.org/viewvc?rev=696679&view=rev
Log:
o rolling back change, not sure how subclipse commits to two separate repositories in one commit..

Modified:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/lineage/DefaultModelLineageBuilder.java

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/lineage/DefaultModelLineageBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/lineage/DefaultModelLineageBuilder.java?rev=696679&r1=696678&r2=696679&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/lineage/DefaultModelLineageBuilder.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/lineage/DefaultModelLineageBuilder.java Thu Sep 18 08:49:48 2008
@@ -35,6 +35,7 @@
 import org.apache.maven.project.ProjectBuilderConfiguration;
 import org.apache.maven.project.ProjectBuildingException;
 import org.apache.maven.project.ModelAndFile;
+import org.apache.maven.project.workspace.ProjectWorkspace;
 import org.codehaus.plexus.logging.LogEnabled;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.console.ConsoleLogger;
@@ -68,6 +69,8 @@
 
     private ProfileAdvisor profileAdvisor;
 
+    private ProjectWorkspace projectWorkspace;
+
     private Logger logger;
 
     public DefaultModelLineageBuilder()
@@ -96,7 +99,12 @@
         List currentRemoteRepositories = remoteRepositories == null ? new ArrayList()
                         : new ArrayList( remoteRepositories );
 
-        ModelAndFile current = new ModelAndFile( readModel( pom ), pom, isReactorProject );
+        ModelAndFile current = projectWorkspace.getModelAndFile( pom );
+        if ( current == null )
+        {
+            current = new ModelAndFile( readModel( pom ), pom, isReactorProject );
+            projectWorkspace.storeModelAndFile( current );
+        }
 
         do
         {
@@ -306,6 +314,7 @@
 
 //                getLogger().debug( "Checking cache for parent model-and-file instance: " + key + " using file: " + parentPomFile );
 
+                result = projectWorkspace.getModelAndFile( parentPomFile );
                 if ( result != null && !parentModelMatches( modelParent, result.getModel() ) )
                 {
                     parentPomFile = null;
@@ -313,6 +322,13 @@
                 }
             }
 
+            if ( result == null )
+            {
+//                getLogger().debug( "Checking cache for parent model-and-file instance: " + key + " using project groupId:artifactId:version." );
+
+                result = projectWorkspace.getModelAndFile( modelParent.getGroupId(), modelParent.getArtifactId(), modelParent.getVersion() );
+            }
+
             if ( result != null )
             {
 //                getLogger().debug( "Returning cached instance." );
@@ -405,6 +421,12 @@
             }
         }
 
+        if ( result != null )
+        {
+//            getLogger().debug( "Caching parent model-and-file: " + result );
+            projectWorkspace.storeModelAndFile( result );
+        }
+
         return result;
     }