You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2012/11/20 23:41:35 UTC
svn commit: r1411914 - in /maven/plugins/trunk/maven-compiler-plugin: pom.xml
src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java
Author: olamy
Date: Tue Nov 20 22:41:35 2012
New Revision: 1411914
URL: http://svn.apache.org/viewvc?rev=1411914&view=rev
Log:
[MCOMPILER-187] incremental stuff detect changes even if nothing has changed means too much compilation.
Modified:
maven/plugins/trunk/maven-compiler-plugin/pom.xml
maven/plugins/trunk/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java
Modified: maven/plugins/trunk/maven-compiler-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-compiler-plugin/pom.xml?rev=1411914&r1=1411913&r2=1411914&view=diff
==============================================================================
--- maven/plugins/trunk/maven-compiler-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-compiler-plugin/pom.xml Tue Nov 20 22:41:35 2012
@@ -133,7 +133,7 @@ under the License.
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-incremental</artifactId>
- <version>1.0</version>
+ <version>1.1-SNAPSHOT</version>
</dependency>
<dependency>
Modified: maven/plugins/trunk/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java?rev=1411914&r1=1411913&r2=1411914&view=diff
==============================================================================
--- maven/plugins/trunk/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java (original)
+++ maven/plugins/trunk/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java Tue Nov 20 22:41:35 2012
@@ -28,6 +28,7 @@ import org.apache.maven.plugins.annotati
import org.apache.maven.shared.incremental.IncrementalBuildHelper;
import org.apache.maven.shared.utils.ReaderFactory;
import org.apache.maven.shared.utils.StringUtils;
+import org.apache.maven.shared.utils.io.FileUtils;
import org.apache.maven.toolchain.Toolchain;
import org.apache.maven.toolchain.ToolchainManager;
import org.codehaus.plexus.compiler.Compiler;
@@ -346,6 +347,14 @@ public abstract class AbstractCompilerMo
@Component
protected MavenSession mavenSession;
+ /**
+ * file extensions to check timestamp for incremental build
+ * <b>default is .class</b>
+ * @since 3.1
+ */
+ @Parameter
+ private List<String> fileExtensions;
+
protected abstract SourceInclusionScanner getSourceInclusionScanner( int staleMillis );
protected abstract SourceInclusionScanner getSourceInclusionScanner( String inputFileEnding );
@@ -1025,6 +1034,12 @@ public abstract class AbstractCompilerMo
return false;
}
+ if( fileExtensions == null || fileExtensions.isEmpty())
+ {
+ fileExtensions = new ArrayList();
+ fileExtensions.add( ".class" );
+ }
+
Date buildStartTime = getBuildStartTime();
for ( String classPathElement : getClasspathElements() )
@@ -1045,6 +1060,12 @@ public abstract class AbstractCompilerMo
return false;
}
+ /**
+ *
+ * @param classPathEntry entry to check
+ * @param buildStartTime time build start
+ * @return if any changes occured
+ */
private boolean hasNewFile( File classPathEntry, Date buildStartTime )
{
if ( !classPathEntry.exists() )
@@ -1054,7 +1075,8 @@ public abstract class AbstractCompilerMo
if ( classPathEntry.isFile() )
{
- return classPathEntry.lastModified() >= buildStartTime.getTime();
+ return classPathEntry.lastModified() >= buildStartTime.getTime() && fileExtensions.contains(
+ FileUtils.getExtension( classPathEntry.getName() ) );
}
File[] children = classPathEntry.listFiles();