From d8f4e7e6c988025420fd6c79617b201243c5d924 Mon Sep 17 00:00:00 2001 From: Brett Leslie Porter Date: Wed, 30 Mar 2005 05:52:07 +0000 Subject: [PATCH] fix stale source scanner git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163715 13f79535-47bb-0310-9956-ffa450edef68 --- .../maven/plugin/util/scan/StaleSourceScanner.java | 9 +++++++-- .../java/org/apache/maven/plugin/CompilerMojo.java | 10 +++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/maven-plugin/src/main/java/org/apache/maven/plugin/util/scan/StaleSourceScanner.java b/maven-plugin/src/main/java/org/apache/maven/plugin/util/scan/StaleSourceScanner.java index 309f5d5d9b..123aed514a 100644 --- a/maven-plugin/src/main/java/org/apache/maven/plugin/util/scan/StaleSourceScanner.java +++ b/maven-plugin/src/main/java/org/apache/maven/plugin/util/scan/StaleSourceScanner.java @@ -58,10 +58,15 @@ public StaleSourceScanner( long lastUpdatedWithinMsecs, Set sourceIncludes, Set public Set getIncludedSources( File sourceDir, File targetDir ) throws InclusionScanException { - Set matchingSources = new HashSet(); - List srcMappings = getSourceMappings(); + if ( srcMappings.isEmpty() ) + { + return Collections.EMPTY_SET; + } + + Set matchingSources = new HashSet(); + String[] potentialIncludes = scanForSources( sourceDir ); for ( int i = 0; i < potentialIncludes.length; i++ ) { diff --git a/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/CompilerMojo.java b/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/CompilerMojo.java index 394168539b..ae17b4eec0 100644 --- a/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/CompilerMojo.java +++ b/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/CompilerMojo.java @@ -97,9 +97,15 @@ public void execute() compilerConfiguration.setClasspathEntries( classpathElements ); compilerConfiguration.setSourceLocations( compileSourceRoots ); + // TODO: have an option to always compile (without need to clean) Set staleSources = computeStaleSources(); - if ( staleSources != null && !staleSources.isEmpty() ) + if ( staleSources.isEmpty() ) + { + getLog().info( "Nothing to compile - all classes are up to date" ); + return; + } + else { compilerConfiguration.setSourceFiles( staleSources ); } @@ -170,6 +176,8 @@ private Set computeStaleSources() SourceInclusionScanner scanner = new StaleSourceScanner( staleTime ); + scanner.addSourceMapping( mapping ); + File outDir = new File( outputDirectory ); Set staleSources = new HashSet();