Skip to content

Commit 85c5796

Browse files
Albert Meltzerkitbellew
Albert Meltzer
authored andcommitted
Report mojo: find a top level module for "mvn -pl"
1 parent f67eb01 commit 85c5796

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

src/main/java/org/scoverage/plugin/SCoverageReportMojo.java

+31-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@
5656
import scoverage.reporter.IOUtils;
5757
import scoverage.serialize.Serializer;
5858
import scoverage.reporter.CoberturaXmlWriter;
59-
import scoverage.reporter.CoverageAggregator;
6059
import scoverage.reporter.ScoverageHtmlWriter;
6160
import scoverage.reporter.ScoverageXmlWriter;
6261

@@ -513,6 +512,11 @@ else if ( !module.getPackaging().equals( "pom" ) )
513512
}
514513
}
515514

515+
if ( null == topLevelModule )
516+
{
517+
topLevelModule = findAncestorModuleWithShortestBasedir();
518+
}
519+
516520
/* Empty report must be generated or top-level site will contain invalid link to non-existent Scoverage report
517521
if ( scoverageDataDirs.isEmpty() )
518522
{
@@ -547,6 +551,32 @@ else if ( !module.getPackaging().equals( "pom" ) )
547551
getLog().info( "Coverage aggregated reports completed." );
548552
}
549553

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+
550580
private void writeReports( Coverage coverage, List<File> sourceRoots, File coberturaXmlOutputDirectory,
551581
File scoverageXmlOutputDirectory, File scoverageHtmlOutputDirectory )
552582
{

0 commit comments

Comments
 (0)