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:
+ *
+ *
+ * -
+ * input file name
+ *
+ * -
+ * output file name
+ *
+ * -
+ * output encoding
+ *
+ *
+ *
+ *
+ * @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.
+
+
+
+
+
+
+
+
+ | Files |
+ Errors |
+
+
+ |
+ |
+
+
+
+
+
+
+
+ | Files |
+ Errors |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+ ${name}
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | Error |
+ Line |
+
+
+
+
+ |
+
+${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.