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 );