in FlexPMD/flex-pmd-java/flex-pmd-metrics-maven-plugin/src/main/java/com/adobe/ac/pmd/metrics/maven/FlexMetricsReportMojo.java [284:334]
private void generateAggregateReport( final Locale locale ) throws MavenReportException
{
final String basedir = project.getBasedir().toString();
final String output = xmlOutputDirectory.toString();
if ( getLog().isDebugEnabled() )
{
getLog().debug( "basedir: "
+ basedir );
getLog().debug( "output: "
+ output );
}
String relative = null;
if ( output.startsWith( basedir ) )
{
relative = output.substring( basedir.length() + 1 );
}
else
{
getLog().error( "Unable to aggregate report because I can't "
+ "determine the relative location of the XML report" );
return;
}
getLog().debug( "relative: "
+ relative );
final List< ModuleReport > reports = new ArrayList< ModuleReport >();
if ( reactorProjects != null )
{
for ( final MavenProject mavenProject : reactorProjects )
{
final MavenProject child = mavenProject;
final File xmlReport = new File( child.getBasedir() // NOPMD
+ File.separator + relative, tempFileName );
if ( xmlReport.exists() )
{
reports.add( new ModuleReport( child, loadDocument( xmlReport ) ) ); // NOPMD
}
else
{
getLog().debug( "xml file not found: "
+ xmlReport );
}
}
getLog().debug( "Aggregating "
+ reports.size() + " JavaNCSS reports" );
new NcssAggregateReportGenerator( getSink(), getBundle(), getLog() ).doReport( locale,
reports,
lineThreshold );
}
}