You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2014/05/30 00:26:40 UTC

svn commit: r1598434 - /maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java

Author: hboutemy
Date: Thu May 29 22:26:39 2014
New Revision: 1598434

URL: http://svn.apache.org/r1598434
Log:
filter out reports with canGenerate() since it is not done in maven-report-exec any more

Modified:
    maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java

Modified: maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java?rev=1598434&r1=1598433&r2=1598434&view=diff
==============================================================================
--- maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java (original)
+++ maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java Thu May 29 22:26:39 2014
@@ -231,9 +231,23 @@ public abstract class AbstractSiteRender
             {
                 throw new MojoExecutionException( "could not get MavenReportExecutor component", e );
             }
-            return mavenReportExecutor.buildMavenReports( mavenReportExecutorRequest );
+
+            List<MavenReportExecution> allReports = mavenReportExecutor.buildMavenReports( mavenReportExecutorRequest );
+
+            // filter out reports that can't be generated
+            List<MavenReportExecution> reportExecutions = new ArrayList<MavenReportExecution>( allReports.size() );
+            for ( MavenReportExecution exec : allReports )
+            {
+                if ( canGenerateReport( exec ) )
+                {
+                    reportExecutions.add( exec );
+                }
+            }
+
+            return reportExecutions;
         }
 
+        // Maven 2
         List<MavenReportExecution> reportExecutions = new ArrayList<MavenReportExecution>( reports.size() );
         for ( MavenReport report : reports )
         {
@@ -245,6 +259,21 @@ public abstract class AbstractSiteRender
         return reportExecutions;
     }
 
+    private boolean canGenerateReport( MavenReportExecution exec )
+    {
+        ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
+        try
+        {
+            Thread.currentThread().setContextClassLoader( exec.getClassLoader() );
+
+            return exec.getMavenReport().canGenerateReport();
+        }
+        finally
+        {
+            Thread.currentThread().setContextClassLoader( originalClassLoader );
+        } 
+    }
+
     protected SiteRenderingContext createSiteRenderingContext( Locale locale )
         throws MojoExecutionException, IOException, MojoFailureException
     {