o Made project cache sensitive to file modifications

git-svn-id: https://svn.apache.org/repos/asf/maven/components/branches/MNG-2766@775307 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Benjamin Bentmann 2009-05-15 20:13:08 +00:00
parent a9f90cc8f3
commit d616f1d873
1 changed files with 12 additions and 2 deletions

View File

@ -107,7 +107,9 @@ public class DefaultMavenProjectBuilder
public MavenProject build( File pomFile, ProjectBuilderConfiguration configuration )
throws ProjectBuildingException
{
MavenProject project = projectCache.get( pomFile.getAbsolutePath() );
String cacheKey = getCacheKey( pomFile, configuration );
MavenProject project = projectCache.get( cacheKey );
if ( project != null )
{
@ -211,11 +213,19 @@ public MavenProject build( File pomFile, ProjectBuilderConfiguration configurati
project.setFile( pomFile );
project.setActiveProfiles( projectProfiles );
projectCache.put( pomFile.getAbsolutePath(), project );
projectCache.put( cacheKey, project );
return project;
}
private String getCacheKey( File pomFile, ProjectBuilderConfiguration configuration )
{
StringBuilder buffer = new StringBuilder( 256 );
buffer.append( pomFile.getAbsolutePath() );
buffer.append( '/' ).append( pomFile.lastModified() );
return buffer.toString();
}
public MavenProject buildFromRepository( Artifact artifact, ProjectBuilderConfiguration configuration )
throws ProjectBuildingException
{