diff --git a/pom.xml b/pom.xml index 49ea7fd6..bdb0aaaf 100644 --- a/pom.xml +++ b/pom.xml @@ -85,7 +85,7 @@ under the License. 2.2.1 3.3 - 1.0.4 + 1.0.5-SNAPSHOT diff --git a/src/main/java/org/scoverage/plugin/SCoverageReportMojo.java b/src/main/java/org/scoverage/plugin/SCoverageReportMojo.java index f82810de..bd6f6a52 100644 --- a/src/main/java/org/scoverage/plugin/SCoverageReportMojo.java +++ b/src/main/java/org/scoverage/plugin/SCoverageReportMojo.java @@ -19,6 +19,8 @@ import java.io.File; //import java.io.IOException; +import java.util.ArrayList; +import java.util.List; import java.util.Locale; import java.util.ResourceBundle; @@ -41,6 +43,9 @@ import org.codehaus.plexus.util.StringUtils; import scala.Predef$; +import scala.collection.JavaConversions; +import scala.collection.Seq; + import scoverage.Coverage; import scoverage.IOUtils; import scoverage.Serializer; @@ -162,7 +167,12 @@ public void generate( Sink sink, Locale locale ) { long ts = System.currentTimeMillis(); - File sourceDir = new File( project.getBuild().getSourceDirectory() ); + List sourceDirs = project.getExecutionProject().getCompileSourceRoots(); + List sourceRoots = new ArrayList( sourceDirs.size() ); + for ( String dir: sourceDirs ) + { + sourceRoots.add( new File( dir ) ); + } mkdirs( outputDirectory ); mkdirs( xmlOutputDirectory ); @@ -196,14 +206,16 @@ public void generate( Sink sink, Locale locale ) .wrapRefArray( measurementFiles ) ); coverage.apply( measurements ); + Seq sourceRootsAsScalaSeq = JavaConversions.asScalaBuffer( sourceRoots ); + getLog().info( "[scoverage] Generating cobertura XML report..." ); - new CoberturaXmlWriter( project.getBasedir(), xmlOutputDirectory ).write( coverage ); + new CoberturaXmlWriter( sourceRootsAsScalaSeq, xmlOutputDirectory ).write( coverage ); getLog().info( "[scoverage] Generating scoverage XML report..." ); - new ScoverageXmlWriter( sourceDir, xmlOutputDirectory, false ).write( coverage ); + new ScoverageXmlWriter( sourceRootsAsScalaSeq, xmlOutputDirectory, false ).write( coverage ); getLog().info( "[scoverage] Generating scoverage HTML report..." ); - new ScoverageHtmlWriter( sourceDir, outputDirectory ).write( coverage ); + new ScoverageHtmlWriter( sourceRootsAsScalaSeq, outputDirectory ).write( coverage ); long te = System.currentTimeMillis(); getLog().debug( String.format( "Mojo execution time: %d ms", te - ts ) );