o rolling back change, not sure how subclipse commits to two separate repositories in one commit..

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@696679 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jason van Zyl 2008-09-18 15:49:48 +00:00
parent 82beb43aa7
commit 6282ce0b0e
1 changed files with 23 additions and 1 deletions

View File

@ -35,6 +35,7 @@ import org.apache.maven.profiles.build.ProfileAdvisor;
import org.apache.maven.project.ProjectBuilderConfiguration; import org.apache.maven.project.ProjectBuilderConfiguration;
import org.apache.maven.project.ProjectBuildingException; import org.apache.maven.project.ProjectBuildingException;
import org.apache.maven.project.ModelAndFile; import org.apache.maven.project.ModelAndFile;
import org.apache.maven.project.workspace.ProjectWorkspace;
import org.codehaus.plexus.logging.LogEnabled; import org.codehaus.plexus.logging.LogEnabled;
import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.logging.console.ConsoleLogger; import org.codehaus.plexus.logging.console.ConsoleLogger;
@ -68,6 +69,8 @@ public class DefaultModelLineageBuilder
private ProfileAdvisor profileAdvisor; private ProfileAdvisor profileAdvisor;
private ProjectWorkspace projectWorkspace;
private Logger logger; private Logger logger;
public DefaultModelLineageBuilder() public DefaultModelLineageBuilder()
@ -96,7 +99,12 @@ public class DefaultModelLineageBuilder
List currentRemoteRepositories = remoteRepositories == null ? new ArrayList() List currentRemoteRepositories = remoteRepositories == null ? new ArrayList()
: new ArrayList( remoteRepositories ); : 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 do
{ {
@ -306,6 +314,7 @@ public class DefaultModelLineageBuilder
// getLogger().debug( "Checking cache for parent model-and-file instance: " + key + " using file: " + parentPomFile ); // 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() ) ) if ( result != null && !parentModelMatches( modelParent, result.getModel() ) )
{ {
parentPomFile = null; parentPomFile = null;
@ -313,6 +322,13 @@ public class DefaultModelLineageBuilder
} }
} }
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 ) if ( result != null )
{ {
// getLogger().debug( "Returning cached instance." ); // getLogger().debug( "Returning cached instance." );
@ -405,6 +421,12 @@ public class DefaultModelLineageBuilder
} }
} }
if ( result != null )
{
// getLogger().debug( "Caching parent model-and-file: " + result );
projectWorkspace.storeModelAndFile( result );
}
return result; return result;
} }