optimization: don't calculate effective plugin configuration if the plugin is not a reporting plugin
git-svn-id: https://svn.apache.org/repos/asf/maven/shared/trunk@1465338 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java b/src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java
index f923791..14c841e 100644
--- a/src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java
+++ b/src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java
@@ -185,7 +185,7 @@
if ( reportPlugin.getReportSets().isEmpty() && reportPlugin.getReports().isEmpty() )
{
- // by default, execute every reports (goals)
+ // by default, use every goal, which will be filtered later to only keep reporting goals
List<MojoDescriptor> mojoDescriptors = pluginDescriptor.getMojos();
for ( MojoDescriptor mojoDescriptor : mojoDescriptors )
{
@@ -220,24 +220,25 @@
MojoExecution mojoExecution = new MojoExecution( plugin, report.getGoal(), "report:" + report.getGoal() );
- mojoExecution.setConfiguration( mergeConfiguration( mojoDescriptor.getMojoConfiguration(),
- reportPlugin.getConfiguration(),
- report.getConfiguration(),
- mojoDescriptor.getParameterMap().keySet() ) );
-
mojoExecution.setMojoDescriptor( mojoDescriptor );
mavenPluginManagerHelper.setupPluginRealm( pluginDescriptor, mavenReportExecutorRequest.getMavenSession(),
Thread.currentThread().getContextClassLoader(), IMPORTS,
EXCLUDES );
- MavenReport mavenReport =
- getConfiguredMavenReport( mojoExecution, pluginDescriptor, mavenReportExecutorRequest );
- if ( mavenReport == null )
+ if ( !isMavenReport( mojoExecution, pluginDescriptor ) )
{
continue;
}
+ mojoExecution.setConfiguration( mergeConfiguration( mojoDescriptor.getMojoConfiguration(),
+ reportPlugin.getConfiguration(),
+ report.getConfiguration(),
+ mojoDescriptor.getParameterMap().keySet() ) );
+
+ MavenReport mavenReport =
+ getConfiguredMavenReport( mojoExecution, pluginDescriptor, mavenReportExecutorRequest );
+
MavenReportExecution mavenReportExecution =
new MavenReportExecution( mojoExecution.getPlugin(), mavenReport, pluginDescriptor.getClassRealm() );
@@ -278,11 +279,6 @@
{
try
{
- if ( !isMavenReport( mojoExecution, pluginDescriptor ) )
- {
- return null;
- }
-
Mojo mojo = mavenPluginManager.getConfiguredMojo( Mojo.class,
mavenReportExecutorRequest.getMavenSession(),
mojoExecution );