if ( mojoDescriptor == null )
{
throw new MojoNotFoundException( entry.getKey(), pluginDescriptor );
}
MojoExecution mojoExecution = new MojoExecution( plugin, entry.getKey(), "report:" + entry.getKey() );
mojoExecution.setConfiguration( convert( mojoDescriptor ) );
if ( reportPlugin.getConfiguration() != null || entry.getValue() != null )
{
Xpp3Dom reportConfiguration =
reportPlugin.getConfiguration() == null ? new Xpp3Dom( "fake" )
: convert( reportPlugin.getConfiguration() );
// MSITE-512 configuration from ReportSet must win
Xpp3Dom mergedConfigurationWithReportSet =
Xpp3DomUtils.mergeXpp3Dom( convert( entry.getValue() ), reportConfiguration );
Xpp3Dom mergedConfiguration =
Xpp3DomUtils.mergeXpp3Dom( mergedConfigurationWithReportSet, convert( mojoDescriptor ) );
Xpp3Dom cleanedConfiguration = new Xpp3Dom( "configuration" );
if ( mergedConfiguration.getChildren() != null )
{
for ( Xpp3Dom parameter : mergedConfiguration.getChildren() )
{
if ( mojoDescriptor.getParameterMap().containsKey( parameter.getName() ) )
{
cleanedConfiguration.addChild( parameter );
}
}
}
if ( getLog().isDebugEnabled() )
{
getLog().debug( "mojoExecution mergedConfiguration: " + mergedConfiguration );
getLog().debug( "mojoExecution cleanedConfiguration: " + cleanedConfiguration );
}
mojoExecution.setConfiguration( cleanedConfiguration );
}
mojoExecution.setMojoDescriptor( mojoDescriptor );
mavenPluginManager.setupPluginRealm( pluginDescriptor, mavenReportExecutorRequest.getMavenSession(),
Thread.currentThread().getContextClassLoader(), IMPORTS, EXCLUDES );
MavenReport mavenReport =
getConfiguredMavenReport( mojoExecution, pluginDescriptor, mavenReportExecutorRequest );
if ( mavenReport == null )
{
continue;
}
MavenReportExecution mavenReportExecution =
new MavenReportExecution( mojoExecution.getPlugin(), mavenReport, pluginDescriptor.getClassRealm() );
lifecycleExecutor.calculateForkedExecutions( mojoExecution, mavenReportExecutorRequest.getMavenSession() );
if ( !mojoExecution.getForkedExecutions().isEmpty() )
{
lifecycleExecutor.executeForkedExecutions( mojoExecution, mavenReportExecutorRequest.getMavenSession() );
}
if ( canGenerateReport( mavenReport, mojoExecution ) )