You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/05/15 22:13:08 UTC

svn commit: r775307 - /maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java

Author: bentmann
Date: Fri May 15 20:13:08 2009
New Revision: 775307

URL: http://svn.apache.org/viewvc?rev=775307&view=rev
Log:
o Made project cache sensitive to file modifications

Modified:
    maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java

Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=775307&r1=775306&r2=775307&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Fri May 15 20:13:08 2009
@@ -107,7 +107,9 @@
     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 @@
         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
     {