|
19 | 19 |
|
20 | 20 | import java.io.File;
|
21 | 21 | //import java.io.IOException;
|
| 22 | +import java.util.ArrayList; |
| 23 | +import java.util.List; |
22 | 24 | import java.util.Locale;
|
23 | 25 | import java.util.ResourceBundle;
|
24 | 26 |
|
|
41 | 43 | import org.codehaus.plexus.util.StringUtils;
|
42 | 44 |
|
43 | 45 | import scala.Predef$;
|
| 46 | +import scala.collection.JavaConversions; |
| 47 | +import scala.collection.Seq; |
| 48 | + |
44 | 49 | import scoverage.Coverage;
|
45 | 50 | import scoverage.IOUtils;
|
46 | 51 | import scoverage.Serializer;
|
@@ -162,7 +167,12 @@ public void generate( Sink sink, Locale locale )
|
162 | 167 | {
|
163 | 168 | long ts = System.currentTimeMillis();
|
164 | 169 |
|
165 |
| - File sourceDir = new File( project.getBuild().getSourceDirectory() ); |
| 170 | + List<String> sourceDirs = project.getExecutionProject().getCompileSourceRoots(); |
| 171 | + List<File> sourceRoots = new ArrayList<File>( sourceDirs.size() ); |
| 172 | + for ( String dir: sourceDirs ) |
| 173 | + { |
| 174 | + sourceRoots.add( new File( dir ) ); |
| 175 | + } |
166 | 176 |
|
167 | 177 | mkdirs( outputDirectory );
|
168 | 178 | mkdirs( xmlOutputDirectory );
|
@@ -196,14 +206,16 @@ public void generate( Sink sink, Locale locale )
|
196 | 206 | .wrapRefArray( measurementFiles ) );
|
197 | 207 | coverage.apply( measurements );
|
198 | 208 |
|
| 209 | + Seq<File> sourceRootsAsScalaSeq = JavaConversions.asScalaBuffer( sourceRoots ); |
| 210 | + |
199 | 211 | getLog().info( "[scoverage] Generating cobertura XML report..." );
|
200 |
| - new CoberturaXmlWriter( project.getBasedir(), xmlOutputDirectory ).write( coverage ); |
| 212 | + new CoberturaXmlWriter( sourceRootsAsScalaSeq, xmlOutputDirectory ).write( coverage ); |
201 | 213 |
|
202 | 214 | getLog().info( "[scoverage] Generating scoverage XML report..." );
|
203 |
| - new ScoverageXmlWriter( sourceDir, xmlOutputDirectory, false ).write( coverage ); |
| 215 | + new ScoverageXmlWriter( sourceRootsAsScalaSeq, xmlOutputDirectory, false ).write( coverage ); |
204 | 216 |
|
205 | 217 | getLog().info( "[scoverage] Generating scoverage HTML report..." );
|
206 |
| - new ScoverageHtmlWriter( sourceDir, outputDirectory ).write( coverage ); |
| 218 | + new ScoverageHtmlWriter( sourceRootsAsScalaSeq, outputDirectory ).write( coverage ); |
207 | 219 |
|
208 | 220 | long te = System.currentTimeMillis();
|
209 | 221 | getLog().debug( String.format( "Mojo execution time: %d ms", te - ts ) );
|
|
0 commit comments