logger.info( "configuring reportPlugin " + plugin.getGroupId() + ":" + plugin.getArtifactId() + ":" + plugin.getVersion() );
}
List<String> goals = new ArrayList<String>();
PluginDescriptor pluginDescriptor = mavenPluginManager.getPluginDescriptor( plugin, repositoryRequest );
if ( reportPlugin.getReportSets().isEmpty() )
{
List<MojoDescriptor> mojoDescriptors = pluginDescriptor.getMojos();
for ( MojoDescriptor mojoDescriptor : mojoDescriptors )
{
goals.add( mojoDescriptor.getGoal() );
}
}
else
{
for ( ReportSet reportSet : reportPlugin.getReportSets() )
{
goals.addAll( reportSet.getReports() );
}
}
for ( String goal : goals )
{
MojoDescriptor mojoDescriptor = pluginDescriptor.getMojo( goal );
if ( mojoDescriptor == null )
{
throw new MojoNotFoundException( goal, pluginDescriptor );
}
MojoExecution mojoExecution = new MojoExecution( plugin, goal, "report:" + goal );
mojoExecution.setConfiguration( convert( mojoDescriptor ) );
mojoExecution.setMojoDescriptor( mojoDescriptor );
mavenPluginManager.setupPluginRealm( pluginDescriptor,
mavenReportExecutorRequest.getMavenSession(),
Thread.currentThread().getContextClassLoader(), imports, exclusionSetFilter );
MavenReport mavenReport =
getConfiguredMavenReport( mojoExecution, pluginDescriptor, mavenReportExecutorRequest );
if ( mavenReport == null )
{
continue;
}
if ( reportPlugin.getConfiguration() != null )
{
Xpp3Dom mergedConfiguration =
Xpp3DomUtils.mergeXpp3Dom( (Xpp3Dom) reportPlugin.getConfiguration(),
convert( mojoDescriptor ) );
Xpp3Dom cleanedConfiguration = new Xpp3Dom( "configuration" );
if ( mergedConfiguration.getChildren() != null )
{
for ( int i = 0, size = mergedConfiguration.getChildren().length; i < size; i++ )
{
if ( mojoDescriptor.getParameterMap().containsKey(
mergedConfiguration.getChildren()[i].getName() ) )
{
cleanedConfiguration.addChild( mergedConfiguration.getChildren()[i] );
}
}
}
if ( getLog().isDebugEnabled() )
{
getLog().debug( "mojoExecution mergedConfiguration " + mergedConfiguration );
getLog().debug( "mojoExecution cleanedConfiguration " + cleanedConfiguration );
}
mojoExecution.setConfiguration( cleanedConfiguration );
}
mavenReport =
getConfiguredMavenReport( mojoExecution, pluginDescriptor, mavenReportExecutorRequest );
if ( mavenReport != null )
{
MavenReportExecution mavenReportExecution =
new MavenReportExecution( mavenReport, pluginDescriptor.getClassRealm() );
lifecycleExecutor.calculateForkedExecutions( mojoExecution,
mavenReportExecutorRequest.getMavenSession() );
if ( !mojoExecution.getForkedExecutions().isEmpty() )
{