From 893e740f9c5d8a5e616a9c44a6eaa1d4933525ff Mon Sep 17 00:00:00 2001 From: aheritier Date: Sat, 21 Aug 2004 18:42:05 +0000 Subject: [PATCH] MPJAVADOC-35 : Add javadoc warning report formatted similar to Checkstyle report TODO : Add a plugin test case git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@115988 13f79535-47bb-0310-9956-ffa450edef68 --- javadoc/plugin.jelly | 33 +- javadoc/plugin.properties | 2 +- javadoc/project.properties | 20 + javadoc/project.xml | 32 ++ .../javadoc/JavadocWarningsTextToXml.java | 399 ++++++++++++++++++ .../src/plugin-resources/javadoc-warnings.jsl | 142 +++++++ javadoc/src/plugin-test/test01/maven.xml | 2 +- javadoc/src/plugin-test/test05/project.xml | 1 + .../javadoc/JavadocWarningsTextToXmlTest.java | 221 ++++++++++ javadoc/src/test/report.txt | 39 ++ javadoc/xdocs/changes.xml | 2 + 11 files changed, 890 insertions(+), 3 deletions(-) create mode 100644 javadoc/project.properties create mode 100644 javadoc/src/main/org/apache/maven/javadoc/JavadocWarningsTextToXml.java create mode 100644 javadoc/src/plugin-resources/javadoc-warnings.jsl create mode 100644 javadoc/src/test/org/apache/maven/javadoc/JavadocWarningsTextToXmlTest.java create mode 100644 javadoc/src/test/report.txt diff --git a/javadoc/plugin.jelly b/javadoc/plugin.jelly index 75e40b76..d9bf60ec 100644 --- a/javadoc/plugin.jelly +++ b/javadoc/plugin.jelly @@ -51,12 +51,16 @@ maven.compile.encoding = [${maven.compile.encoding}] maven.compile.src.set = [${context.getAntProject().getReferences().get('maven.compile.src.set')}] ================================== +=== docs properties === +================================== +maven.docs.outputencoding = [${maven.docs.outputencoding}] +================================== === javadoc plugin properties === ================================== maven.javadoc.additionalparam = [${maven.javadoc.additionalparam}] maven.javadoc.author = [${maven.javadoc.author}] maven.javadoc.customtags = [${maven.javadoc.customtags}] -maven.javadoc.bottom = [${maven.javadoc.bottom}] +maven.javadoc.bottom = [${maven.javadoc.bottom}] maven.javadoc.debug = [${maven.javadoc.debug}] maven.javadoc.destdir = [${maven.javadoc.destdir}] maven.javadoc.doclet = [${maven.javadoc.doclet}] @@ -180,6 +184,11 @@ internal.javadoc.working.dir = [${internal.javadoc.working.dir}] + @@ -205,6 +214,12 @@ internal.javadoc.working.dir = [${internal.javadoc.working.dir}] link="javadoc" description="Report on the generation of JavaDoc." /> + @@ -216,6 +231,7 @@ internal.javadoc.working.dir = [${internal.javadoc.working.dir}] + @@ -438,6 +454,21 @@ internal.javadoc.working.dir = [${internal.javadoc.working.dir}] section="Javadoc Report" inputText="${inputText}" output="${genDocs}/javadoc.xml"/> + + + diff --git a/javadoc/plugin.properties b/javadoc/plugin.properties index 40ca648e..2574cbb7 100644 --- a/javadoc/plugin.properties +++ b/javadoc/plugin.properties @@ -51,4 +51,4 @@ maven.javadoc.stylesheet = ${plugin.resources}/stylesheet.css maven.javadoc.use = true maven.javadoc.useexternalfile = yes maven.javadoc.version = true -maven.javadoc.windowtitle = ${pom.name} ${pom.currentVersion} API \ No newline at end of file +maven.javadoc.windowtitle = ${pom.name} ${pom.currentVersion} API diff --git a/javadoc/project.properties b/javadoc/project.properties new file mode 100644 index 00000000..26a38936 --- /dev/null +++ b/javadoc/project.properties @@ -0,0 +1,20 @@ +# ------------------------------------------------------------------- +# Copyright 2001-2004 The Apache Software Foundation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ------------------------------------------------------------------- + +# ------------------------------------------------------------------- +# P R O J E C T P R O P E R T I E S +# ------------------------------------------------------------------- +maven.junit.fork=yes diff --git a/javadoc/project.xml b/javadoc/project.xml index 417329b4..a191998e 100644 --- a/javadoc/project.xml +++ b/javadoc/project.xml @@ -124,4 +124,36 @@ 2.0 + + src/main + src/test + + + **/*Test.java + + + + src/test + + **/*.txt + + + + + + + ${basedir}/src/plugin-resources + plugin-resources + + + ${basedir} + + plugin.jelly + plugin.properties + project.properties + project.xml + + + + diff --git a/javadoc/src/main/org/apache/maven/javadoc/JavadocWarningsTextToXml.java b/javadoc/src/main/org/apache/maven/javadoc/JavadocWarningsTextToXml.java new file mode 100644 index 00000000..3894e423 --- /dev/null +++ b/javadoc/src/main/org/apache/maven/javadoc/JavadocWarningsTextToXml.java @@ -0,0 +1,399 @@ +package org.apache.maven.javadoc; + +/* ==================================================================== + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ + +import org.apache.commons.lang.StringEscapeUtils; +import org.apache.commons.lang.StringUtils; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.io.UnsupportedEncodingException; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; + + +/** + * Converts the javadoc warnings into an xml (xdoc format) file. + * + * @author Steven Caswell (stevencaswell at apache.org) + * @version $Id: JavadocWarningsTextToXml.java,v 1.1 2004/08/21 18:42:04 aheritier Exp $ + */ +public class JavadocWarningsTextToXml { + //~ Static fields/initializers ---------------------------------------------- + + /** Number of args on the command line.*/ + private static final int ARGS_LENGTH = 3; + + /** XML padding. */ + private static final int PADDING = 10; + + //~ Instance fields --------------------------------------------------------- + + /** Full path for the input file (javadoc plain text report). */ + private String inputFileName; + + /** XML encoding. */ + private String outputEncoding; + + /** Full path for the generated XDoc file. */ + private String outputFileName; + + /** Verbose flag. */ + private boolean verbose = false; + + //~ Methods ----------------------------------------------------------------- + + /** + * Invokes an instance of JavadocWarningsTextToXml from the + * command line. The following command line arguments are expected in this + * order: + * + *
    + *
  1. + * input file name + *
  2. + *
  3. + * output file name + *
  4. + *
  5. + * output encoding + *
  6. + *
+ * + * + * @param args the command line arguments + * + * @throws IOException if an exception occurs opening, reading, or writing + * files + * @throws IllegalArgumentException if arguments aren't correctly setted. + */ + public static void main(final String[] args) + throws IOException { + if (args.length != ARGS_LENGTH) { + throw new IllegalArgumentException("Wrong number of arguments"); + } + + JavadocWarningsTextToXml runner = new JavadocWarningsTextToXml(); + int i = 0; + runner.setInputFileName(args[i++]); + runner.setOutputFileName(args[i++]); + runner.setOutputEncoding(args[i++]); + runner.build(); + } + + /** + * Sets the name of the input file. This file is expected to be a report + * generated by Javadoc. + * + * @param inputFileName the input file name + */ + public void setInputFileName(final String inputFileName) { + if (this.isVerbose()) { + System.out.println("Setting input file name: '" + inputFileName + "'"); + } + + this.inputFileName = inputFileName; + } + + /** + * Returns the name of the input file. + * + * @return the inptu file name + */ + public String getInputFileName() { + return this.inputFileName; + } + + /** + * Sets the output encoding. + * + * @param outputEncoding the output encoding + */ + public void setOutputEncoding(final String outputEncoding) { + this.outputEncoding = outputEncoding; + } + + /** + * Returns the output encoding. + * + * @return the output encoding + */ + public String getOutputEncoding() { + return this.outputEncoding; + } + + /** + * Sets the output file name. + * + * @param outputFileName the output file name + */ + public void setOutputFileName(final String outputFileName) { + if (this.isVerbose()) { + System.out.println("Setting output file name: '" + outputFileName + "'"); + } + + this.outputFileName = outputFileName; + } + + /** + * Returns the name of the output file. + * + * @return the output file name + */ + public String getOutputFileName() { + return this.outputFileName; + } + + /** + * Sets the verbose mode.
+ * + * @param verbose the verbose mode. + */ + public void setVerbose(final boolean verbose) { + this.verbose = verbose; + + if (this.isVerbose()) { + System.out.println("verbose is true"); + } + } + + /** + * Builds the xml file from the javadoc report input. + * + * @throws FileNotFoundException if the input file cannot be opened for + * reading or the output file cannot be opened for writing + * @throws IOException if an error occurs reading or writing + * @throws UnsupportedEncodingException if an unknown encoding was specified + * @throws IllegalArgumentException If a needed property isn't setted. + */ + public void build() + throws FileNotFoundException, + IOException, + UnsupportedEncodingException { + if (StringUtils.isBlank(getInputFileName())) { + throw new IllegalArgumentException("Input file name must be specified"); + } + + if (StringUtils.isBlank(getOutputFileName())) { + throw new IllegalArgumentException("Output file name must be specified"); + } + + String[] lines = this.readInput(); + Map fileMap = this.buildMap(lines); + this.buildOutput(fileMap); + } + + /** + * Returns the verbose. + * + * @return Returns the verbose. + */ + public boolean isVerbose() { + return verbose; + } + + private Map buildMap(final String[] input) { + if (this.isVerbose()) { + System.out.println( + "Building map from " + input.length + " input line(s)" + ); + } + + Map files = new TreeMap(); + + for (int i = 0; i < input.length; i++) { + String line = input[i]; + + // Break up line into pieces + int javaDocStart = line.indexOf("[javadoc]"); + int fileNameStart = javaDocStart += PADDING; + int warningStart = line.indexOf("warning - "); + int fileNameEnd = warningStart - 1; + String fileNameAndLineNumber = + line.substring( + fileNameStart, + fileNameEnd + ); + int lastColon = fileNameAndLineNumber.lastIndexOf(':'); + int nextToLastColon = + fileNameAndLineNumber.lastIndexOf( + ':', + lastColon - 1 + ); + String fileName = fileNameAndLineNumber.substring( + 0, + nextToLastColon + ); + String lineNumber = + fileNameAndLineNumber.substring( + nextToLastColon + 1, + lastColon + ); + int msgStart = warningStart + PADDING; + String msg = line.substring(msgStart); + + // Get the messages for the file + Map fileMessages = (Map) files.get(fileName); + + if (fileMessages == null) { + fileMessages = new TreeMap(); + files.put( + fileName, + fileMessages + ); + } + + // Get the messages for the line + Set lineMessages = (Set) fileMessages.get(new Integer(lineNumber)); + + if (lineMessages == null) { + lineMessages = new LinkedHashSet(); + fileMessages.put( + new Integer(lineNumber), + lineMessages + ); + } + + // Put the message into the line messages set + lineMessages.add(msg); + } + + return files; + } + + private void buildOutput(final Map fileMap) + throws FileNotFoundException, + UnsupportedEncodingException { + File output = new File(this.outputFileName); + File dir = output.getParentFile(); + + if (dir != null) { + dir.mkdirs(); + } + + PrintWriter out = + new PrintWriter( + new OutputStreamWriter( + new FileOutputStream(output), + this.getOutputEncoding() + ) + ); + writeOutput( + fileMap, + out + ); + out.flush(); + out.close(); + } + + private String[] readInput() + throws FileNotFoundException, + IOException { + if (this.isVerbose()) { + System.out.println("Reading '" + getInputFileName() + "'"); + } + + BufferedReader reader = + new BufferedReader(new FileReader(getInputFileName())); + + List lines = new ArrayList(); + String line = null; + + while ((line = reader.readLine()) != null) { + // Look for lines containing the string "warning - " + if (line.indexOf("warning - ") >= 0) { + lines.add(line); + } + } + + reader.close(); + + if (this.isVerbose()) { + System.out.println("Read " + lines.size() + " line(s) from input file"); + } + + return (String[]) lines.toArray(new String[lines.size()]); + } + + private void writeOutput( + final Map fileMap, + final PrintWriter out + ) { + if (this.isVerbose()) { + System.out.println("Writing to output file '" + this.outputFileName); + } + + out.println( + "" + ); + out.println(""); + + for ( + Iterator fileMapIterator = fileMap.keySet() + .iterator(); + fileMapIterator.hasNext(); + ) { + String fileName = (String) fileMapIterator.next(); + out.println(""); + + Map fileMessages = (Map) fileMap.get(fileName); + + for ( + Iterator fileMessagesIterator = fileMessages.entrySet() + .iterator(); + fileMessagesIterator.hasNext(); + ) { + Map.Entry entry = (Map.Entry) fileMessagesIterator.next(); + Integer lineNumber = (Integer) entry.getKey(); + Set lineMessages = (Set) entry.getValue(); + + for ( + Iterator lineMessagesIterator = lineMessages.iterator(); + lineMessagesIterator.hasNext(); + ) { + String msg = (String) lineMessagesIterator.next(); + out.println( + "" + ); + } + } + + out.println(""); + } + + out.println(""); + + if (this.isVerbose()) { + System.out.println("Finished writing output file"); + } + } +} diff --git a/javadoc/src/plugin-resources/javadoc-warnings.jsl b/javadoc/src/plugin-resources/javadoc-warnings.jsl new file mode 100644 index 00000000..d9f88078 --- /dev/null +++ b/javadoc/src/plugin-resources/javadoc-warnings.jsl @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + JavaDoc Audit Results + + + +
+

+ The following document contains JavaDoc warnings. +

+
+ +
+ + + + + + + + + + + +
FilesErrors
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FilesErrors
+ ${name} +
+ + + + + + + + + + + + + + + + + + + + + +
ErrorLine
+ +${errorMessage} + + + + + + + + + ${line} + + + ${line} + + +
+
+
+
+
+ +
+
+
diff --git a/javadoc/src/plugin-test/test01/maven.xml b/javadoc/src/plugin-test/test01/maven.xml index 63c833b2..26d63ced 100644 --- a/javadoc/src/plugin-test/test01/maven.xml +++ b/javadoc/src/plugin-test/test01/maven.xml @@ -20,7 +20,7 @@ xmlns:j="jelly:core" xmlns:assert="assert" xmlns:ant="jelly:ant"> - + diff --git a/javadoc/src/plugin-test/test05/project.xml b/javadoc/src/plugin-test/test05/project.xml index 0be4065c..51453154 100644 --- a/javadoc/src/plugin-test/test05/project.xml +++ b/javadoc/src/plugin-test/test05/project.xml @@ -62,4 +62,5 @@ src/main + \ No newline at end of file diff --git a/javadoc/src/test/org/apache/maven/javadoc/JavadocWarningsTextToXmlTest.java b/javadoc/src/test/org/apache/maven/javadoc/JavadocWarningsTextToXmlTest.java new file mode 100644 index 00000000..1b523a75 --- /dev/null +++ b/javadoc/src/test/org/apache/maven/javadoc/JavadocWarningsTextToXmlTest.java @@ -0,0 +1,221 @@ +package org.apache.maven.javadoc; + +/* ==================================================================== + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +import junit.textui.TestRunner; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; + + +/** + * Test case. + * + * @author Steven Caswell + * @version $Id: JavadocWarningsTextToXmlTest.java,v 1.1 2004/08/21 18:42:05 aheritier Exp $ + */ +public class JavadocWarningsTextToXmlTest + extends TestCase { + //~ Static fields/initializers ---------------------------------------------- + + private static final String INPUT_FILE_NAME_EXCEPTION = + "Input file name must be specified"; + + private static final String OUTPUT_FILE_NAME_EXCEPTION = + "Output file name must be specified"; + + //~ Constructors ------------------------------------------------------------ + + /** + * Creates a new JavadocWarningsTextToXmlTest object. + * + */ + public JavadocWarningsTextToXmlTest(final String name) { + super(name); + } + + //~ Methods ----------------------------------------------------------------- + + public static void main(final String[] main) { + TestRunner.run(suite()); + } + + + public static Test suite() { + return new TestSuite(JavadocWarningsTextToXmlTest.class); + } + + /** + * Initialize per test data + * + * @throws Exception when there is an unexpected problem + */ + public void setUp() + throws Exception { + String baseDir = System.getProperty("basedir"); + System.out.println("Base dir : " + baseDir); + assertNotNull( + "The system property basedir was not defined.", + baseDir + ); + } + + public void testBuild() + throws Exception { + JavadocWarningsTextToXml bean = new JavadocWarningsTextToXml(); + bean.setVerbose(true); + bean.setInputFileName("target/test-classes/report.txt"); + bean.setOutputFileName("test.xml"); + bean.setOutputEncoding("ISO-8859-1"); + bean.build(); + + // Read and test the output file contents + BufferedReader reader = new BufferedReader(new FileReader("test.xml")); + String line = reader.readLine(); + assertTrue( + "line 1 start", + line.startsWith("") + ); + line = reader.readLine(); + assertEquals( + "line 2", + "", + line + ); + line = reader.readLine(); + assertTrue( + "line 3 start", + line.startsWith("") + ); + line = reader.readLine(); + assertEquals( + "line 4", + "", + line + ); + line = reader.readLine(); + assertEquals( + "line 5", + "", + line + ); + line = reader.readLine(); + assertTrue( + "line 6 start", + line.startsWith("") + ); + line = reader.readLine(); + assertEquals( + "line 7", + "", + line + ); + line = reader.readLine(); + assertEquals( + "line 8", + "", + line + ); + line = reader.readLine(); + assertEquals( + "line 9", + "", + line + ); + line = reader.readLine(); + assertEquals( + "line 10", + "", + line + ); + + reader.close(); + + // Get rid of the xml file + File file = new File("test.xml"); + file.delete(); + } + + public void testInputFile() + throws Exception { + JavadocWarningsTextToXml bean = new JavadocWarningsTextToXml(); + bean.setOutputFileName("test.xml"); + bean.setOutputEncoding("ISO-8859-1]"); + + try { + bean.build(); + } catch (IllegalArgumentException e) { + assertEquals( + "exception message", + INPUT_FILE_NAME_EXCEPTION, + e.getMessage() + ); + } + } + + public void testInputFileNotFound() + throws Exception { + JavadocWarningsTextToXml bean = new JavadocWarningsTextToXml(); + bean.setInputFileName("junk.dat"); + bean.setOutputFileName("test.xml"); + bean.setOutputEncoding("ISO-8859-1]"); + + try { + bean.build(); + fail("Expected null pointer exception for input file name"); + } catch (FileNotFoundException e) { + ; // expected file not found + } + } + + public void testOutputFile() + throws Exception { + JavadocWarningsTextToXml bean = new JavadocWarningsTextToXml(); + bean.setInputFileName("report.txt"); + bean.setOutputEncoding("ISO-8859-1]"); + + try { + bean.build(); + fail("Expected null pointer exception for input file name"); + } catch (IllegalArgumentException e) { + assertEquals( + "exception message", + OUTPUT_FILE_NAME_EXCEPTION, + e.getMessage() + ); + } + } +} diff --git a/javadoc/src/test/report.txt b/javadoc/src/test/report.txt new file mode 100644 index 00000000..92fd0d17 --- /dev/null +++ b/javadoc/src/test/report.txt @@ -0,0 +1,39 @@ + [javadoc] Generating Javadoc + [javadoc] Javadoc execution + [javadoc] Loading source files for package org.apache.maven... + [javadoc] [parsing started C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\src\main\org\apache\maven\Javadoc1.java] + [javadoc] [parsing completed 120ms] + [javadoc] [parsing started C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\src\main\org\apache\maven\Javadoc2.java] + [javadoc] [parsing completed 20ms] + [javadoc] Constructing Javadoc information... + [javadoc] C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\src\main\org\apache\maven\Javadoc1.java:145: method3() is already defined in org.apache.maven.Javadoc1 + [javadoc] public void method3() + [javadoc] ^ + [javadoc] Standard Doclet version 1.4.1 + [javadoc] + [javadoc] Generating C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\target\docs\apidocs\constant-values.html... + [javadoc] Copying file C:\apache\maven-1.0-rc3\plugins\maven-javadoc-plugin-1.6.1\plugin-resources\stylesheet.css to file C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\target\docs\apidocs\stylesheet.css... + [javadoc] Building tree for all the packages and classes... + [javadoc] [loading C:\Java\j2sdk1.4.1_02\jre\lib\rt.jar(java/lang/Object.class)] + [javadoc] Building index for all the packages and classes... + [javadoc] C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\src\main\org\apache\maven\Javadoc1.java:8: warning - @inheritDoc used but method1() does not override or implement any method. + [javadoc] Generating C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\target\docs\apidocs\index-all.html... + [javadoc] C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\src\main\org\apache\maven\Javadoc2.java:15: Tag @link: Malformed: Javadoc1#method1( + [javadoc] C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\src\main\org\apache\maven\Javadoc2.java:15: warning - Tag @link: malformed: "Javadoc1#method1(" + [javadoc] Building index for all classes... + [javadoc] C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\src\main\org\apache\maven\Javadoc1.java:8: warning - @inheritDoc used but method1() does not override or implement any method. + [javadoc] C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\src\main\org\apache\maven\Javadoc1.java:8: warning - @inheritDoc used but method1() does not override or implement any method. + [javadoc] Generating C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\target\docs\apidocs\org\apache\maven\Javadoc1.html... + [javadoc] [loading C:\Java\j2sdk1.4.1_02\jre\lib\rt.jar(java/io/Serializable.class)] + [javadoc] C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\src\main\org\apache\maven\Javadoc2.java:15: warning - Tag @link: malformed: "Javadoc1#method1(" + [javadoc] Generating C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\target\docs\apidocs\org\apache\maven\Javadoc2.html... + [javadoc] C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\src\main\org\apache\maven\Javadoc2.java:15: Tag @link: Malformed: Javadoc1#method1( + [javadoc] C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\src\main\org\apache\maven\Javadoc2.java:15: warning - Tag @link: malformed: "Javadoc1#method1(" + [javadoc] C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\src\main\org\apache\maven\Javadoc2.java:8: warning - @todo is an unknown tag. + [javadoc] C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\src\main\org\apache\maven\Javadoc2.java:15: Tag @link: Malformed: Javadoc1#method1( + [javadoc] C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\src\main\org\apache\maven\Javadoc2.java:15: warning - Tag @link: malformed: "Javadoc1#method1(" + [javadoc] C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\src\main\org\apache\maven\Javadoc2.java:15: warning - Tag @link: malformed: "Javadoc1#method1(" + [javadoc] C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\src\main\org\apache\maven\Javadoc2.java:15: warning - Tag @link: malformed: "Javadoc1#method1(" + [javadoc] Generating C:\Steve\Java\dev\maven-plugin-dev\javadoc\cvs-sandbox\maven-plugins\javadoc\src\plugin-test\test05\target\docs\apidocs\help-doc.html... + [javadoc] [done in 4065 ms] + [javadoc] 11 warnings diff --git a/javadoc/xdocs/changes.xml b/javadoc/xdocs/changes.xml index b83eb7eb..e7b37a9a 100644 --- a/javadoc/xdocs/changes.xml +++ b/javadoc/xdocs/changes.xml @@ -23,9 +23,11 @@ Changes dIon Gillard Emmanuel Venisse + Arnaud Heritier + Add javadoc warning report formatted similar to Checkstyle report. Added maven.javadoc.bottom property Default javadoc scope (package) can't be replaced by private or public. Javadoc fails if pom.package isn't specified.