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" <commits@maven.apache.org>.