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 2017/09/30 22:24:10 UTC

svn commit: r1810237 - in /maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/render: ReportDocumentRenderer.java SiteMojo.java

Author: hboutemy
Date: Sat Sep 30 22:24:10 2017
New Revision: 1810237

URL: http://svn.apache.org/viewvc?rev=1810237&view=rev
Log:
[MSITE-797] simplify stacktrace in case of report plugin execution failure

Modified:
    maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java
    maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/render/SiteMojo.java

Modified: maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java?rev=1810237&r1=1810236&r2=1810237&view=diff
==============================================================================
--- maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java (original)
+++ maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java Sat Sep 30 22:24:10 2017
@@ -240,13 +240,13 @@ public class ReportDocumentRenderer
         }
         catch ( MavenReportException e )
         {
-            String report = ( reportMojoInfo == null ) ? ( '"' + localReportName + "\" report" ) : reportMojoInfo;
-            throw new RendererException( "Error generating " + report + ": " + e.getMessage(), e );
+            String report = ( reportMojoInfo == null ) ? ( '"' + localReportName + '"' ) : reportMojoInfo;
+            throw new RendererException( "Error generating " + report + " report", e );
         }
         catch ( LinkageError e )
         {
-            String report = ( reportMojoInfo == null ) ? ( '"' + localReportName + "\" report" ) : reportMojoInfo;
-            log.warn( "An issue has occurred with " + report + ", skipping LinkageError "
+            String report = ( reportMojoInfo == null ) ? ( '"' + localReportName + '"' ) : reportMojoInfo;
+            log.warn( "An issue has occurred with " + report + " report, skipping LinkageError "
                           + e.getMessage() + ", please report an issue to Maven dev team.", e );
         }
         finally
@@ -268,6 +268,7 @@ public class ReportDocumentRenderer
         renderer.generateDocument( writer, mainSink, siteRenderingContext );
 
         // render sub-sinks, eventually created by multi-page reports
+        String outputName = "";
         try
         {
             List<MultiPageSubSink> sinks = multiPageSinkFactory.sinks();
@@ -278,9 +279,10 @@ public class ReportDocumentRenderer
             {
                 mySink.enableLogging( new MojoLogWrapper( log ) );
 
-                log.debug( "  Rendering " + mySink.getOutputName() );
+                outputName = mySink.getOutputName();
+                log.debug( "  Rendering " + outputName );
 
-                File outputFile = new File( mySink.getOutputDir(), mySink.getOutputName() );
+                File outputFile = new File( mySink.getOutputDir(), outputName );
 
                 Writer out = null;
                 try
@@ -305,7 +307,7 @@ public class ReportDocumentRenderer
         }
         catch ( IOException e )
         {
-            throw new RendererException( "Cannot create writer", e );
+            throw new RendererException( "Cannot create writer to " + outputName, e );
         }
     }
 
@@ -338,15 +340,15 @@ public class ReportDocumentRenderer
         }
         catch ( IllegalArgumentException iae )
         {
-            throw new MavenReportException( "error while invoking generate", iae );
+            throw new MavenReportException( "error while invoking generate on " + report.getClass(), iae );
         }
         catch ( IllegalAccessException iae )
         {
-            throw new MavenReportException( "error while invoking generate", iae );
+            throw new MavenReportException( "error while invoking generate on " + report.getClass(), iae );
         }
         catch ( InvocationTargetException ite )
         {
-            throw new MavenReportException( "error while invoking generate", ite );
+            throw new MavenReportException( "error while invoking generate on " + report.getClass(), ite );
         }
     }
 

Modified: maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/render/SiteMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/render/SiteMojo.java?rev=1810237&r1=1810236&r2=1810237&view=diff
==============================================================================
--- maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/render/SiteMojo.java (original)
+++ maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/render/SiteMojo.java Sat Sep 30 22:24:10 2017
@@ -40,6 +40,7 @@ import org.apache.maven.plugins.annotati
 import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.MavenReport;
+import org.apache.maven.reporting.MavenReportException;
 import org.apache.maven.reporting.exec.MavenReportExecution;
 
 /**
@@ -134,6 +135,11 @@ public class SiteMojo
         }
         catch ( RendererException e )
         {
+            if ( e.getCause() instanceof MavenReportException )
+            {
+                // issue caused by report, not really by Doxia Site Renderer
+                throw new MojoExecutionException( e.getMessage(), e.getCause() );
+            }
             throw new MojoExecutionException( e.getMessage(), e );
         }
         catch ( IOException e )