|
56 | 56 | import scoverage.reporter.IOUtils;
|
57 | 57 | import scoverage.serialize.Serializer;
|
58 | 58 | import scoverage.reporter.CoberturaXmlWriter;
|
59 |
| -import scoverage.reporter.CoverageAggregator; |
60 | 59 | import scoverage.reporter.ScoverageHtmlWriter;
|
61 | 60 | import scoverage.reporter.ScoverageXmlWriter;
|
62 | 61 |
|
@@ -513,6 +512,11 @@ else if ( !module.getPackaging().equals( "pom" ) )
|
513 | 512 | }
|
514 | 513 | }
|
515 | 514 |
|
| 515 | + if ( null == topLevelModule ) |
| 516 | + { |
| 517 | + topLevelModule = findAncestorModuleWithShortestBasedir(); |
| 518 | + } |
| 519 | + |
516 | 520 | /* Empty report must be generated or top-level site will contain invalid link to non-existent Scoverage report
|
517 | 521 | if ( scoverageDataDirs.isEmpty() )
|
518 | 522 | {
|
@@ -547,6 +551,32 @@ else if ( !module.getPackaging().equals( "pom" ) )
|
547 | 551 | getLog().info( "Coverage aggregated reports completed." );
|
548 | 552 | }
|
549 | 553 |
|
| 554 | + private MavenProject findAncestorModuleWithShortestBasedir() |
| 555 | + { |
| 556 | + MavenProject topLevelModule = null; |
| 557 | + for ( MavenProject module : reactorProjects ) |
| 558 | + { |
| 559 | + if ( !module.hasParent() ) |
| 560 | + { |
| 561 | + continue; |
| 562 | + } |
| 563 | + |
| 564 | + MavenProject ancestorModule = module.getParent(); |
| 565 | + while ( ancestorModule.hasParent() ) |
| 566 | + { |
| 567 | + ancestorModule = ancestorModule.getParent(); |
| 568 | + } |
| 569 | + if ( null != topLevelModule && |
| 570 | + topLevelModule.getBasedir().getAbsolutePath().length() < |
| 571 | + ancestorModule.getBasedir().getAbsolutePath().length() ) |
| 572 | + { |
| 573 | + continue; |
| 574 | + } |
| 575 | + topLevelModule = ancestorModule; |
| 576 | + } |
| 577 | + return null == topLevelModule ? project : topLevelModule; |
| 578 | + } |
| 579 | + |
550 | 580 | private void writeReports( Coverage coverage, List<File> sourceRoots, File coberturaXmlOutputDirectory,
|
551 | 581 | File scoverageXmlOutputDirectory, File scoverageHtmlOutputDirectory )
|
552 | 582 | {
|
|
0 commit comments