Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-3/MJAVADOC-280-3-modB/src/test/java/org/apache/maven/plugins/mjavadoc/it/modb/AppTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-3/MJAVADOC-280-3-modB/src/test/java/org/apache/maven/plugins/mjavadoc/it/modb/AppTest.java?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-3/MJAVADOC-280-3-modB/src/test/java/org/apache/maven/plugins/mjavadoc/it/modb/AppTest.java
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-3/MJAVADOC-280-3-modB/src/test/java/org/apache/maven/plugins/mjavadoc/it/modb/AppTest.java
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,57 @@
+package org.apache.maven.plugins.mjavadoc.it.modb;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+    extends TestCase
+{
+    /**
+     * Create the test case
+     *
+     * @param testName name of the test case
+     */
+    public AppTest( final String testName )
+    {
+        super( testName );
+    }
+
+    /**
+     * @return the suite of tests being tested
+     */
+    public static Test suite()
+    {
+        return new TestSuite( AppTest.class );
+    }
+
+    /**
+     * Rigourous Test :-)
+     */
+    public void testApp()
+    {
+        assertTrue( true );
+    }
+}

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-3/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-3/pom.xml?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-3/pom.xml
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-3/pom.xml
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you 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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.maven.plugins.maven-javadoc-plugin.it</groupId>
+  <artifactId>MJAVADOC-280-3</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
+  
+  <modules>
+    <module>MJAVADOC-280-3-modA</module>
+    <module>MJAVADOC-280-3-modB</module>
+    <module>MJAVADOC-280-3-distro</module>
+  </modules>
+  
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <version>@pom.version@</version>
+          <configuration>
+            <detectOfflineLinks>false</detectOfflineLinks>
+          </configuration>
+          <executions>
+            <execution>
+              <id>javadoc-jars</id>
+              <phase>package</phase>
+              <goals>
+                <goal>jar</goal>
+                <goal>test-jar</goal>
+              </goals>
+            </execution>
+          </executions>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+</project>

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-3/verify.bsh
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-3/verify.bsh?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-3/verify.bsh
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-3/verify.bsh
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 java.io.File;
+
+File distroTarget = new File( basedir, "MJAVADOC-280-3-distro/target" );
+File apidocs = new File( distroTarget, "apidocs" );
+File testApidocs = new File( distroTarget, "testapidocs" );
+
+File f;
+if ( !( f = new File( apidocs, 
"org/apache/maven/plugins/mjavadoc/it/moda/App.html" ) ).exists() )
+{
+         System.out.println( f + " does not exist!" );
+         return false;
+}
+
+if ( !( f = new File( apidocs, 
"org/apache/maven/plugins/mjavadoc/it/modb/App.html" ) ).exists() )
+{
+         System.out.println( f + " does not exist!" );
+         return false;
+}
+
+if ( !( f = new File( testApidocs, 
"org/apache/maven/plugins/mjavadoc/it/moda/AppTest.html" ) ).exists() )
+{
+         System.out.println( f + " does not exist!" );
+         return false;
+}
+
+if ( !( f = new File( testApidocs, 
"org/apache/maven/plugins/mjavadoc/it/modb/AppTest.html" ) ).exists() )
+{
+         System.out.println( f + " does not exist!" );
+         return false;
+}
+
+return true;

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-distro/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-distro/pom.xml?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-distro/pom.xml
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-distro/pom.xml
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,78 @@
+<?xml version="1.0"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd"; 
xmlns="http://maven.apache.org/POM/4.0.0";
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+  <modelVersion>4.0.0</modelVersion>
+  
+  <groupId>org.apache.maven.plugins.maven-javadoc-plugin.it</groupId>
+  <artifactId>MJAVADOC-280-4-distro</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  
+  <name>MJAVADOC-280-4-distro</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>MJAVADOC-280-4-modA</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>MJAVADOC-280-4-modB</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    
+    <!-- Only needed for javadoc generation. -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <version>@pom.version@</version>
+        <executions>
+          <execution>
+            <id>javadoc-jars</id>
+            <phase>package</phase>
+            <goals>
+              <goal>jar</goal>
+              <goal>test-jar</goal>
+            </goals>
+            <configuration>
+              <includeDependencySources>true</includeDependencySources>
+              <dependencySourceIncludes>
+                
<dependencySourceInclude>${project.groupId}:*</dependencySourceInclude>
+              </dependencySourceIncludes>
+              <detectOfflineLinks>false</detectOfflineLinks>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modA/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modA/pom.xml?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modA/pom.xml
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modA/pom.xml
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd"; 
xmlns="http://maven.apache.org/POM/4.0.0";
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>MJAVADOC-280-4-projects</artifactId>
+    <groupId>org.apache.maven.plugins.maven-javadoc-plugin.it</groupId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>MJAVADOC-280-4-modA</artifactId>
+  <name>MJAVADOC-280-4-modA</name>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-source-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-javadoc-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modA/src/main/java/org/apache/maven/plugins/mjavadoc/it/moda/App.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modA/src/main/java/org/apache/maven/plugins/mjavadoc/it/moda/App.java?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modA/src/main/java/org/apache/maven/plugins/mjavadoc/it/moda/App.java
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modA/src/main/java/org/apache/maven/plugins/mjavadoc/it/moda/App.java
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,37 @@
+package org.apache.maven.plugins.mjavadoc.it.moda;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+/**
+ * Hello world!
+ *
+ * @m.foo    A 1st custom javadoc tag.
+ * @author  Me
+ * @version 1st
+ * @m.bar    A 2nd custom javadoc tag.
+ * @see     String#startsWith(String)
+ */
+public class App
+{
+    public static void main( final String[] args )
+    {
+        System.out.println( "Hello World!" );
+    }
+}

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modA/src/test/java/org/apache/maven/plugins/mjavadoc/it/moda/AppTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modA/src/test/java/org/apache/maven/plugins/mjavadoc/it/moda/AppTest.java?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modA/src/test/java/org/apache/maven/plugins/mjavadoc/it/moda/AppTest.java
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modA/src/test/java/org/apache/maven/plugins/mjavadoc/it/moda/AppTest.java
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,57 @@
+package org.apache.maven.plugins.mjavadoc.it.moda;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+    extends TestCase
+{
+    /**
+     * Create the test case
+     *
+     * @param testName name of the test case
+     */
+    public AppTest( final String testName )
+    {
+        super( testName );
+    }
+
+    /**
+     * @return the suite of tests being tested
+     */
+    public static Test suite()
+    {
+        return new TestSuite( AppTest.class );
+    }
+
+    /**
+     * Rigourous Test :-)
+     */
+    public void testApp()
+    {
+        assertTrue( true );
+    }
+}

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modB/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modB/pom.xml?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modB/pom.xml
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modB/pom.xml
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd"; 
xmlns="http://maven.apache.org/POM/4.0.0";
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>MJAVADOC-280-4-projects</artifactId>
+    <groupId>org.apache.maven.plugins.maven-javadoc-plugin.it</groupId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>MJAVADOC-280-4-modB</artifactId>
+  <name>MJAVADOC-280-4-modB</name>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-source-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-javadoc-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modB/src/main/java/org/apache/maven/plugins/mjavadoc/it/modb/App.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modB/src/main/java/org/apache/maven/plugins/mjavadoc/it/modb/App.java?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modB/src/main/java/org/apache/maven/plugins/mjavadoc/it/modb/App.java
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modB/src/main/java/org/apache/maven/plugins/mjavadoc/it/modb/App.java
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,37 @@
+package org.apache.maven.plugins.mjavadoc.it.modb;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+/**
+ * Hello world!
+ *
+ * @m.foo    A 1st custom javadoc tag.
+ * @author  Me
+ * @version 1st
+ * @m.bar    A 2nd custom javadoc tag.
+ * @see     String#startsWith(String)
+ */
+public class App
+{
+    public static void main( final String[] args )
+    {
+        System.out.println( "Hello World!" );
+    }
+}

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modB/src/test/java/org/apache/maven/plugins/mjavadoc/it/modb/AppTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modB/src/test/java/org/apache/maven/plugins/mjavadoc/it/modb/AppTest.java?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modB/src/test/java/org/apache/maven/plugins/mjavadoc/it/modb/AppTest.java
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/MJAVADOC-280-4-modB/src/test/java/org/apache/maven/plugins/mjavadoc/it/modb/AppTest.java
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,57 @@
+package org.apache.maven.plugins.mjavadoc.it.modb;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+    extends TestCase
+{
+    /**
+     * Create the test case
+     *
+     * @param testName name of the test case
+     */
+    public AppTest( final String testName )
+    {
+        super( testName );
+    }
+
+    /**
+     * @return the suite of tests being tested
+     */
+    public static Test suite()
+    {
+        return new TestSuite( AppTest.class );
+    }
+
+    /**
+     * Rigourous Test :-)
+     */
+    public void testApp()
+    {
+        assertTrue( true );
+    }
+}

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/pom.xml?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/pom.xml
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/MJAVADOC-280-4-projects/pom.xml
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you 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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+  
+  <groupId>org.apache.maven.plugins.maven-javadoc-plugin.it</groupId>
+  <artifactId>MJAVADOC-280-4-projects</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
+
+  <name>MJAVADOC-280-4-projects</name>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  
+  <modules>
+    <module>MJAVADOC-280-4-modA</module>
+    <module>MJAVADOC-280-4-modB</module>
+  </modules>
+  
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <version>@pom.version@</version>
+          <configuration>
+            <tags>
+              
<tag><name>m.foo</name><placement>optm</placement><head>Foo:</head></tag>
+              <tag><name>author</name></tag>
+              <tag><name>version</name></tag>
+              
<tag><name>m.bar</name><placement>tcmf</placement><head>Bar:</head></tag>
+              <tag><name>see</name></tag>
+            </tags>
+            <detectOfflineLinks>false</detectOfflineLinks>
+          </configuration>
+          <executions>
+            <execution>
+              <id>javadoc-resource-jars</id>
+              <phase>package</phase>
+              <goals>
+                <goal>resource-bundle</goal>
+                <goal>test-resource-bundle</goal>
+              </goals>
+            </execution>
+          </executions>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-source-plugin</artifactId>
+          <version>2.1.1</version>
+          <executions>
+            <execution>
+              <id>attach-sources</id>
+              <goals>
+                <goal>jar</goal>
+                <goal>test-jar</goal>
+              </goals>
+            </execution>
+          </executions>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+</project>

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/invoker.properties
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/invoker.properties?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/invoker.properties
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/invoker.properties
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,22 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you 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.
+
+invoker.goals.1 = clean install
+invoker.project.1 = MJAVADOC-280-4-projects
+
+invoker.goals.2 = clean package
+invoker.project.2 = MJAVADOC-280-4-distro

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/pom.xml?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/pom.xml
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/pom.xml
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you 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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.maven.plugins.maven-javadoc-plugin.it</groupId>
+  <artifactId>MJAVADOC-280-4</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
+  
+  <modules>
+    <module>MJAVADOC-280-4-projects</module>
+    <module>MJAVADOC-280-4-distro</module>
+  </modules>
+  
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
+
+  <!-- <properties>
+    <javadocPluginVersion>@pom.version@</javadocPluginVersion>
+  </properties>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-resources-plugin</artifactId>
+        <version>2.4.2</version>
+        <executions>
+          <execution>
+            <id>filter-projects</id>
+            <phase>process-resources</phase>
+            <goals>
+              <goal>copy-resources</goal>
+            </goals>
+            <configuration>
+              <outputDirectory>${project.build.directory}</outputDirectory>
+              <resources>
+                <resource>
+                  <directory>${project.artifactId}-projects</directory>
+                  <filtering>true</filtering>
+                  <targetPath>${project.artifactId}-projects</targetPath>
+                </resource>
+                <resource>
+                  <directory>${project.artifactId}-distro</directory>
+                  <filtering>true</filtering>
+                  <targetPath>${project.artifactId}-distro</targetPath>
+                </resource>
+              </resources>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <artifactId>maven-invoker-plugin</artifactId>
+        <version>1.5</version>
+        <configuration>
+          
<localRepositoryPath>${project.basedir}/../../local-repo</localRepositoryPath>
+          <streamLogs>true</streamLogs>
+          <suppressSummaries>true</suppressSummaries>
+          <debug>true</debug>
+          
<settingsFile>${project.basedir}/../interpolated-settings.xml</settingsFile>
+        </configuration>
+        <executions>
+          <execution>
+            <id>build-projects</id>
+            <phase>package</phase>
+            <goals>
+              <goal>run</goal>
+            </goals>
+            <configuration>
+              
<pom>${project.build.directory}/MJAVADOC-280-4-projects/pom.xml</pom>
+              <goals>
+                <goal>clean</goal>
+                <goal>install</goal>
+              </goals>
+            </configuration>
+          </execution>
+          <execution>
+            <id>build-distro</id>
+            <phase>package</phase>
+            <goals>
+              <goal>run</goal>
+            </goals>
+            <configuration>
+              
<pom>${project.build.directory}/MJAVADOC-280-4-distro/pom.xml</pom>
+              <goals>
+                <goal>clean</goal>
+                <goal>package</goal>
+              </goals>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build> -->
+</project>

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/verify.bsh
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/verify.bsh?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/verify.bsh
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/dependencySource-4/verify.bsh
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 java.io.File;
+
+File distroTarget = new File( basedir, "MJAVADOC-280-4-distro/target" );
+File apidocs = new File( distroTarget, "apidocs" );
+File testApidocs = new File( distroTarget, "testapidocs" );
+
+File f;
+if ( !( f = new File( apidocs, 
"org/apache/maven/plugins/mjavadoc/it/moda/App.html" ) ).exists() )
+{
+         System.out.println( f + " does not exist!" );
+         return false;
+}
+
+if ( !( f = new File( apidocs, 
"org/apache/maven/plugins/mjavadoc/it/modb/App.html" ) ).exists() )
+{
+         System.out.println( f + " does not exist!" );
+         return false;
+}
+
+if ( !( f = new File( testApidocs, 
"org/apache/maven/plugins/mjavadoc/it/moda/AppTest.html" ) ).exists() )
+{
+         System.out.println( f + " does not exist!" );
+         return false;
+}
+
+if ( !( f = new File( testApidocs, 
"org/apache/maven/plugins/mjavadoc/it/modb/AppTest.html" ) ).exists() )
+{
+         System.out.println( f + " does not exist!" );
+         return false;
+}
+
+return true;

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/invoker.properties
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/invoker.properties?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/invoker.properties
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/invoker.properties
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you 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.
+
+invoker.goals=clean compile javadoc:javadoc

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/module1/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/module1/pom.xml?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/module1/pom.xml
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/module1/pom.xml
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,34 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.plugins.maven-javadoc-plugin.it</groupId>
+    <artifactId>linkoffline-test-parent</artifactId>
+    <version>1.0-SNAPSHOT</version>
+    <relativePath>../pom.xml</relativePath>
+  </parent>
+
+  <artifactId>linkoffline-test-module1</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0-SNAPSHOT</version>
+  <url>http://myhost/module1</url>
+</project>
\ No newline at end of file

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/module1/src/main/java/com/mycompany/app/App.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/module1/src/main/java/com/mycompany/app/App.java?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/module1/src/main/java/com/mycompany/app/App.java
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/module1/src/main/java/com/mycompany/app/App.java
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,36 @@
+package com.mycompany.app;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+/**
+ * Hello world!
+ */
+public class App
+{
+    /**
+     * Test an offline link to module2: {@link com.mycompany.app2.App2}
+     *
+     * @param args could be null
+     */
+    public static void main( String[] args )
+    {
+        System.out.println( "Hello World!" );
+    }
+}

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/module2/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/module2/pom.xml?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/module2/pom.xml
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/module2/pom.xml
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,42 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.plugins.maven-javadoc-plugin.it</groupId>
+    <artifactId>linkoffline-test-parent</artifactId>
+    <version>1.0-SNAPSHOT</version>
+    <relativePath>../pom.xml</relativePath>
+  </parent>
+
+  <artifactId>linkoffline-test-module2</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0-SNAPSHOT</version>
+  <url>http://myhost/module2</url>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven.plugins.maven-javadoc-plugin.it</groupId>
+      <artifactId>linkoffline-test-module1</artifactId>
+      <version>1.0-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
+</project>

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/module2/src/main/java/com/mycompany/app2/App2.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/module2/src/main/java/com/mycompany/app2/App2.java?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/module2/src/main/java/com/mycompany/app2/App2.java
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/module2/src/main/java/com/mycompany/app2/App2.java
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,36 @@
+package com.mycompany.app2;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+/**
+ * Hello world!
+ */
+public class App2
+{
+    /**
+     * Test an offline link to module1: {@link com.mycompany.app.App}
+     *
+     * @param args could be null
+     */
+    public static void main( String[] args )
+    {
+        System.out.println( "Hello World!" );
+    }
+}

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/pom.xml?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/pom.xml 
(added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/pom.xml 
Sat Nov  4 11:01:38 2017
@@ -0,0 +1,87 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.plugins.maven-javadoc-plugin.it</groupId>
+  <artifactId>linkoffline-test-parent</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
+
+  <name>MJAVADOC-97</name>
+  <description>detectLinks=true</description>
+  <url>http://myhost/parent</url>
+
+  <modules>
+    <module>module1</module>
+    <module>module2</module>
+  </modules>
+
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
+
+  <dependencies>
+    <!-- known apidocs link -->
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.4</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.2</version>
+    </dependency>
+    <!-- unknown apidocs link -->
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-script-marmalade</artifactId>
+      <version>2.0-beta-2</version>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <version>@pom.version@</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <configuration>
+          <detectLinks>true</detectLinks>
+          <debug>true</debug>
+          <!--
+            The Javadoc link to a class in module2 on which module1 does not 
depend on creates an error with
+            Oracle JDK 8, but just a warning with Oracle JDK 7 or OpenJDK 8 
==> setting failOnError to false
+          -->
+          <failOnError>false</failOnError>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/verify.bsh
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/verify.bsh?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/verify.bsh 
(added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/detectLinks/verify.bsh 
Sat Nov  4 11:01:38 2017
@@ -0,0 +1,139 @@
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 java.io.*;
+import org.codehaus.plexus.util.*;
+
+boolean result = true;
+
+try
+{
+    // Generated files checks
+    File apidocs1 = new File( basedir, "module1/target/site/apidocs" );
+    if ( !apidocs1.exists() || !apidocs1.isDirectory() )
+    {
+        System.err.println( apidocs1.getAbsolutePath() + " dir is missing or a 
directory." );
+        return false;
+    }
+    File apidocs2 = new File( basedir, "module2/target/site/apidocs" );
+    if ( !apidocs2.exists() || !apidocs2.isDirectory() )
+    {
+        System.err.println( apidocs2.getAbsolutePath() + " dir is missing or a 
directory." );
+        return false;
+    }
+
+    File options1 = new File( apidocs1, "options" );
+    if ( !options1.exists() || !options1.isFile() )
+    {
+        System.err.println( options1.getAbsolutePath() + " file is missing or 
not a file." );
+        return false;
+    }
+    File options2 = new File( apidocs2, "options" );
+    if ( !options2.exists() || !options2.isFile() )
+    {
+        System.err.println( options2.getAbsolutePath() + " file is missing or 
not a file." );
+        return false;
+    }
+
+    // Read files
+    String contentOptions1 = FileUtils.fileRead( options1 );
+    String contentOptions2 = FileUtils.fileRead( options2 );
+    String log = FileUtils.fileRead( new File( basedir, "build.log" ) );
+
+    // Generated files content checks
+    if ( contentOptions1.contains( "module2" ) )
+    { // module1 does not depend on module2, then it should not link
+        System.err.println( "module1 -linkoffline module2 added: " + options1 
);
+        return false;
+    }
+    int link1 = contentOptions1.indexOf( "-link" );
+    if ( link1 == -1 )
+    {
+        System.err.println( "-link not added: " + options1 );
+        return false;
+    }
+    if ( !contentOptions1.substring( link1 ).contains( 
"http://commons.apache.org/lang/apidocs"; ) )
+    {
+        System.err.println( "link for commons-lang not added: " + options1 );
+        if ( !log.contains( "Error fetching link: 
http://commons.apache.org/lang/apidocs"; ) )
+        {
+            return false;
+        }
+    }
+    if ( !contentOptions1.substring( link1 ).contains( 
"http://junit.org/apidocs"; ) )
+    {
+        System.err.println( "link for junit not added: " + options1 );
+        if ( !log.contains( "Error fetching link: http://junit.org/apidocs"; ) )
+        {
+            return false;
+        }
+    }
+    if ( contentOptions1.contains( 
"http://maven.apache.org/maven2/maven-script/maven-script-marmalade/apidocs"; ) )
+    {
+        System.err.println( "link for maven-script-marmalade added: " + 
options1 );
+        return false;
+    }
+
+    int linkoffline2 = contentOptions2.indexOf( "module1" );
+    if ( linkoffline2 < 0 )
+    { // module2 depends on module1, then it should link
+        System.err.println( "module2 -linkoffline module1 not added: " + 
options2 );
+        return false;
+    }
+    if ( !contentOptions2.substring( linkoffline2 ).contains( 
apidocs1.getAbsolutePath().replaceAll( "\\\\", "/" ) ) )
+    {
+        System.err.println( apidocs1.getAbsolutePath().replaceAll( "\\\\", "/" 
) + " not added: " + options2 );
+        return false;
+    }
+    int link2 = contentOptions2.indexOf( "-link" );
+    if ( link2 == -1 )
+    {
+        System.err.println( "-link not added: " + options2 );
+        return false;
+    }
+    if ( !contentOptions2.substring( link2 ).contains( 
"http://commons.apache.org/lang/apidocs"; ) )
+    {
+        System.err.println( "link for commons-lang not added: " + options2 );
+        if ( !log.contains( "Error fetching link: 
http://commons.apache.org/lang/apidocs"; ) )
+        {
+            return false;
+        }
+    }
+    if ( !contentOptions2.substring( link2 ).contains( 
"http://junit.org/apidocs"; ) )
+    {
+        System.err.println( "link for junit not added: " + options2 );
+        if ( !log.contains( "Error fetching link: http://junit.org/apidocs"; ) )
+        {
+            return false;
+        }
+    }
+    if ( contentOptions2.contains( 
"http://maven.apache.org/maven2/maven-script/maven-script-marmalade/apidocs"; ) )
+    {
+        System.err.println( "link for maven-script-marmalade added: " + 
options2 );
+        return false;
+    }
+}
+catch( RuntimeException e )
+{
+    e.printStackTrace();
+    return false;
+}
+
+return result;

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/invoker.properties
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/invoker.properties?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/invoker.properties
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/invoker.properties
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you 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.
+
+invoker.goals=clean compile javadoc:fix

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/pom.xml?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/pom.xml 
(added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/pom.xml 
Sat Nov  4 11:01:38 2017
@@ -0,0 +1,60 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.plugins.maven-javadoc-plugin.it</groupId>
+  <artifactId>MJAVADOC-226</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <packaging>jar</packaging>
+
+  <name>javadoc:fix Test Project</name>
+
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <maven.compiler.source>1.4</maven.compiler.source>
+    <maven.compiler.target>1.4</maven.compiler.target>
+  </properties>
+
+  <build>
+    <defaultGoal>install</defaultGoal>
+    <directory>target</directory>
+    <sourceDirectory>src/main/java</sourceDirectory>
+    <outputDirectory>target/classes</outputDirectory>
+    <finalName>${artifactId}-${version}</finalName>
+
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>2.0.2</version>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <version>@pom.version@</version>
+        <configuration>
+          <force>true</force>
+          <ignoreClirr>true</ignoreClirr>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/App.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/App.java?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/App.java
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/App.java
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,46 @@
+package fix.test;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+/**
+ * App class
+ *
+ * @generatorClass toto
+ * @todo review it
+ * @version 1.0
+ * @author <a href="mailto:vincent.sive...@gmail.com";>Vincent Siveton</a>
+ */
+public class App
+{
+    /**
+     * The main method
+     *
+     * @param args  an array of strings that contains the arguments
+     */
+    public static void main( String[] args )
+    {
+        System.out.println( "Sample Application." );
+    }
+
+    protected void sampleMethod( String str )
+    {
+        System.out.println( str );
+    }
+}

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/ClassWithJavadoc.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/ClassWithJavadoc.java?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/ClassWithJavadoc.java
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/ClassWithJavadoc.java
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,54 @@
+package fix.test;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+/**
+ * Some Javadoc.
+ */
+public class ClassWithJavadoc
+{
+    public static final String MY_STRING_CONSTANT = "value";
+
+    public static final int MY_INT_CONSTANT = 1;
+
+    public static final String EOL = System.getProperty( "line.separator" );
+
+    private static final String MY_PRIVATE_CONSTANT = "";
+
+    public static void main( String[] args )
+    {
+        System.out.println( "Sample Application." );
+    }
+
+    /**
+     * @param str
+     */
+    public String methodWithMissingParameters( String str, boolean b, int i )
+    {
+        return null;
+    }
+
+    /**
+     * @param str
+     */
+    public void methodWithWrongJavadocParameters( String aString )
+    {
+    }
+}

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/ClassWithNoJavadoc.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/ClassWithNoJavadoc.java?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/ClassWithNoJavadoc.java
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/ClassWithNoJavadoc.java
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,33 @@
+package fix.test;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+public class ClassWithNoJavadoc
+{
+    public static void main( String[] args )
+    {
+        System.out.println( "Sample Application." );
+    }
+
+    private void sampleMethod( String str )
+    {
+        System.out.println( str );
+    }
+}

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/InterfaceWithJavadoc.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/InterfaceWithJavadoc.java?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/InterfaceWithJavadoc.java
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/InterfaceWithJavadoc.java
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,34 @@
+package fix.test;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+/**
+ * Some Javadoc.
+ */
+public interface InterfaceWithJavadoc
+{
+    /** comment */
+    String MY_STRING_CONSTANT = "value";
+
+    /**
+     * My method
+     */
+    public void method( String aString );
+}

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/InterfaceWithNoJavadoc.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/InterfaceWithNoJavadoc.java?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/InterfaceWithNoJavadoc.java
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/src/main/java/fix/test/InterfaceWithNoJavadoc.java
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,27 @@
+package fix.test;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+public interface InterfaceWithNoJavadoc
+{
+    String MY_STRING_CONSTANT = "value";
+
+    public void method( String aString );
+}

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/verify.bsh
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/verify.bsh?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/verify.bsh 
(added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/javadoc-fix/verify.bsh 
Sat Nov  4 11:01:38 2017
@@ -0,0 +1,119 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 java.io.*;
+import org.codehaus.plexus.util.*;
+
+assertContains( String content, String value )
+{
+    if ( StringUtils.countMatches( content, value ) != 1 )
+    {
+        throw new IllegalArgumentException( "not found expected text: '" + 
value + "'" );
+    }
+}
+
+assertNotContains( String content, String value )
+{
+    if ( StringUtils.countMatches( content, value ) != 0 )
+    {
+        throw new IllegalArgumentException( "found unexpected text: '" + value 
+ "'" );
+    }
+}
+
+boolean result = true;
+try
+{
+    File buildLog = new File( basedir, "build.log" );
+    String logContent = FileUtils.fileRead( buildLog, "UTF-8" );
+
+    File javaFile = new File( basedir, "/src/main/java/fix/test/App.java" );
+    String content = FileUtils.fileRead( javaFile, "UTF-8" );
+
+    assertContains( content, " * App class" );
+    assertContains( content, " * @generatorClass toto" );
+    assertContains( content, " * @todo review it" );
+    assertContains( content, " * @version 1.0" );
+    assertContains( content, " * @author <a 
href=\"mailto:vincent.sive...@gmail.com\";>Vincent Siveton</a>" );
+    assertContains( content, " * @since 1.0" );
+    assertContains( content, "     * The main method" );
+    assertContains( content, "     * @param args  an array of strings that 
contains the arguments" );
+    assertContains( content, "     * <p>sampleMethod.</p>" );
+    assertContains( content, "     * @param str a {@link java.lang.String} 
object." );
+
+    javaFile = new File( basedir, 
"/src/main/java/fix/test/ClassWithNoJavadoc.java" );
+    content = FileUtils.fileRead( javaFile, "UTF-8" );
+
+    assertContains( content, " * <p>ClassWithNoJavadoc class.</p>" );
+    assertContains( content, " * @version $Id: $" );
+    assertContains( content, " * @since 1.0" );
+    assertContains( content, "     * <p>main.</p>" );
+    assertContains( content, "     * @param args an array of {@link 
java.lang.String} objects." );
+    // private sampleMethod
+    assertNotContains( content, "     * <p>sampleMethod.</p>" );
+    assertNotContains( content, "     * @param str a {@link java.lang.String} 
object." );
+
+    javaFile = new File( basedir, 
"/src/main/java/fix/test/ClassWithJavadoc.java" );
+    content = FileUtils.fileRead( javaFile, "UTF-8" );
+
+    assertContains( content, " * Some Javadoc." );
+    assertContains( content, " * @since 1.0" );
+    assertContains( content, "    /** Constant 
<code>MY_STRING_CONSTANT=\"value\"</code> */" );
+    assertContains( content, "    /** Constant <code>MY_INT_CONSTANT=1</code> 
*/" );
+    assertContains( content, "    /** Constant <code>EOL=\"System.getProperty( 
line.separator )\"</code> */" );
+    // private constant
+    assertNotContains( content, "    /** Constant 
<code>MY_PRIVATE_CONSTANT=\"\"</code> */" );
+    assertContains( content, "     * <p>main.</p>" );
+    assertContains( content, "     * @param args an array of {@link 
java.lang.String} objects." );
+    assertContains( content, "     * <p>methodWithMissingParameters.</p>" );
+    assertContains( content, "     * @param str a {@link java.lang.String} 
object." );
+    assertContains( content, "     * @param b a boolean." );
+    assertContains( content, "     * @param i a int." );
+    assertContains( content, "     * @return a {@link java.lang.String} 
object." );
+
+    // check unknown param
+    assertContains( logContent, "[WARNING] Fixed unknown param 'str' defined 
in fix.test.ClassWithJavadoc#methodWithWrongJavadocParameters(aString)" );
+
+    javaFile = new File( basedir, 
"/src/main/java/fix/test/InterfaceWithNoJavadoc.java" );
+    content = FileUtils.fileRead( javaFile, "UTF-8" );
+
+    assertContains( content, " * <p>InterfaceWithNoJavadoc interface.</p>" );
+    assertContains( content, " * @version $Id: $" );
+    assertContains( content, " * @since 1.0" );
+    assertContains( content, "    /** Constant 
<code>MY_STRING_CONSTANT=\"value\"</code> */" );
+    assertContains( content, "     * <p>method.</p>" );
+    assertContains( content, "     * @param aString a {@link java.lang.String} 
object." );
+
+    javaFile = new File( basedir, 
"/src/main/java/fix/test/InterfaceWithJavadoc.java" );
+    content = FileUtils.fileRead( javaFile, "UTF-8" );
+
+    assertContains( content, " * Some Javadoc." );
+    assertContains( content, " * @version $Id: $" );
+    assertContains( content, " * @since 1.0" );
+    assertContains( content, "    /** comment */" );
+    assertContains( content, "     * My method" );
+    assertContains( content, "     * @param aString a {@link java.lang.String} 
object." );
+
+}
+catch( Throwable e )
+{
+    e.printStackTrace();
+    result = false;
+}
+
+return result;

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/default/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/default/pom.xml?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/default/pom.xml
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/default/pom.xml
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,38 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.plugins.maven-javadoc-plugin.it</groupId>
+    <artifactId>MJAVADOC-206</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>default</artifactId>
+  <packaging>jar</packaging>
+
+  <name>Default encoding</name>
+  <description>should be UTF-8</description>
+
+  <properties>
+    <project.build.sourceEncoding>ISO-8859-15</project.build.sourceEncoding>
+  </properties>
+</project>
\ No newline at end of file

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/default/src/main/java/Test.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/default/src/main/java/Test.java?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/default/src/main/java/Test.java
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/default/src/main/java/Test.java
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+/**
+ * Sample class with non-ascii characters:
+ * {non-ascii chars delimiter}french: äëïöüàèìòù, euro: ¤{non-ascii chars 
delimiter}
+ *
+ * @author Hervé Boutemy
+ */
+public class Test
+{
+}

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/docencoding/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/docencoding/pom.xml?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/docencoding/pom.xml
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/docencoding/pom.xml
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,49 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.plugins.maven-javadoc-plugin.it</groupId>
+    <artifactId>MJAVADOC-206</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>docencoding</artifactId>
+  <packaging>jar</packaging>
+
+  <name>docencoding set via plugin parameter</name>
+  <description>charset should default to docencoding</description>
+
+  <properties>
+    
<project.reporting.outputEncoding>ISO-8859-1</project.reporting.outputEncoding>
+  </properties>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <configuration>
+          <docencoding>UTF-16</docencoding>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/docencoding/src/main/java/Test.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/docencoding/src/main/java/Test.java?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/docencoding/src/main/java/Test.java
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/docencoding/src/main/java/Test.java
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+/**
+ * Sample class with non-ascii characters:
+ * {non-ascii chars delimiter}french: äëïöüàèìòù, greek: 
αβγδεζηθ, japanese: あいうえお{non-ascii chars delimiter}
+ *
+ * @author Hervé Boutemy
+ */
+public class Test
+{
+}

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/encoding/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/encoding/pom.xml?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/encoding/pom.xml
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/encoding/pom.xml
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,38 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.plugins.maven-javadoc-plugin.it</groupId>
+    <artifactId>MJAVADOC-206</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>encoding</artifactId>
+  <packaging>jar</packaging>
+
+  <name>docencoding set via global property</name>
+  <description>project.reporting.outputEncoding should be used</description>
+
+  <properties>
+    <project.reporting.outputEncoding>UTF-16</project.reporting.outputEncoding>
+  </properties>
+</project>
\ No newline at end of file

Added: 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/encoding/src/main/java/Test.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/encoding/src/main/java/Test.java?rev=1814274&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/encoding/src/main/java/Test.java
 (added)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/it/projects/output-encoding/encoding/src/main/java/Test.java
 Sat Nov  4 11:01:38 2017
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+/**
+ * Sample class with non-ascii characters:
+ * {non-ascii chars delimiter}french: äëïöüàèìòù, greek: 
αβγδεζηθ, japanese: あいうえお{non-ascii chars delimiter}
+ *
+ * @author Hervé Boutemy
+ */
+public class Test
+{
+}


Reply via email to