You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2017/12/29 10:57:13 UTC

[maven-javadoc-plugin] 01/02: [MJAVADOC-508] option to fail the build in case of javadoc warnings

This is an automated email from the ASF dual-hosted git repository.

olamy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git

commit f67d3a4940b76f189d072bc2e5d0a54335052006
Author: olivier lamy <ol...@apache.org>
AuthorDate: Fri Dec 29 20:12:08 2017 +1100

    [MJAVADOC-508] option to fail the build in case of javadoc warnings
    
    Signed-off-by: olivier lamy <ol...@apache.org>
---
 .../maven/plugins/javadoc/AbstractJavadocMojo.java | 87 ++++++++++++----------
 1 file changed, 49 insertions(+), 38 deletions(-)

diff --git a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
index a720528..46e9856 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
@@ -19,44 +19,6 @@ package org.apache.maven.plugins.javadoc;
  * under the License.
  */
 
-import static org.apache.maven.plugins.javadoc.JavadocUtil.isEmpty;
-import static org.apache.maven.plugins.javadoc.JavadocUtil.isNotEmpty;
-import static org.apache.maven.plugins.javadoc.JavadocUtil.toList;
-import static org.apache.maven.plugins.javadoc.JavadocUtil.toRelative;
-import static org.codehaus.plexus.util.IOUtil.close;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Writer;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
 import org.apache.commons.lang3.ClassUtils;
 import org.apache.commons.lang3.JavaVersion;
 import org.apache.commons.lang3.SystemUtils;
@@ -134,6 +96,41 @@ import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.Writer;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedHashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+import java.util.StringTokenizer;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import static org.apache.maven.plugins.javadoc.JavadocUtil.*;
+import static org.codehaus.plexus.util.IOUtil.close;
+
 /**
  * Base class with majority of Javadoc functionalities.
  *
@@ -505,6 +502,15 @@ public abstract class AbstractJavadocMojo
     @Parameter( property = "maven.javadoc.failOnError", defaultValue = "true" )
     protected boolean failOnError;
 
+
+    /**
+     * Specifies if the build will fail if there are warning during javadoc execution or not.
+     *
+     * @since 3.0.1
+     */
+    @Parameter( property = "maven.javadoc.failOnWarnings", defaultValue = "false" )
+    protected boolean failOnWarnings;
+
     /**
      * Specifies to use the
      * <a href="http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html#standard">
@@ -5225,6 +5231,11 @@ public abstract class AbstractJavadocMojo
                 getLog().warn( current );
             }
         }
+
+        if ( StringUtils.isNotEmpty( err.getOutput() ) && failOnWarnings )
+        {
+            throw new MavenReportException( "Project contains Javadoc Warnings" );
+        }
     }
 
     /**

-- 
To stop receiving notification emails like this one, please contact
"commits@maven.apache.org" <co...@maven.apache.org>.