merge master
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index 59fd6b3..df3f694 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -1,24 +1,24 @@
-Following this checklist to help us incorporate your
+Following this checklist to help us incorporate your
contribution quickly and easily:
- - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/MJAVADOC) filed
- for the change (usually before you start working on it). Trivial changes like typos do not
- require a JIRA issue. Your pull request should address just this issue, without
+ - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/MJAVADOC) filed
+ for the change (usually before you start working on it). Trivial changes like typos do not
+ require a JIRA issue. Your pull request should address just this issue, without
pulling in other changes.
- [ ] Each commit in the pull request should have a meaningful subject line and body.
- [ ] Format the pull request title like `[MJAVADOC-XXX] - Fixes bug in ApproximateQuantiles`,
where you replace `MJAVADOC-XXX` with the appropriate JIRA issue. Best practice
- is to use the JIRA issue title in the pull request title and in the first line of the
+ is to use the JIRA issue title in the pull request title and in the first line of the
commit message.
- [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
- - [ ] Run `mvn clean verify -Prun-its` to make sure basic checks pass. A more thorough check will
+ - [ ] Run `mvn clean verify -Prun-its` to make sure basic checks pass. A more thorough check will
be performed on your pull request automatically.
If your pull request is about ~20 lines of code you don't need to sign an
[Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) if you are unsure
please ask on the developers list.
-To make clear that you license your contribution under
+To make clear that you license your contribution under
the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
you have to acknowledge this by using the following check-box.
diff --git a/.gitignore b/.gitignore
index b3f1b40..384de6f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,5 +15,3 @@
.java-version
/javadoc-options-javadoc-resources.xml
.checkstyle
-/src/it/mrm/3rdparty/_doclet-1.0.jar
-/src/it/mrm/repository/_mjavadoc450-static.jar
diff --git a/pom.xml b/pom.xml
index 57f996e..414bc33 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,12 +23,12 @@
<parent>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugins</artifactId>
- <version>39</version>
+ <version>40</version>
<relativePath />
</parent>
<artifactId>maven-javadoc-plugin</artifactId>
- <version>3.5.1-SNAPSHOT</version>
+ <version>3.6.1-SNAPSHOT</version>
<packaging>maven-plugin</packaging>
<name>Apache Maven Javadoc Plugin</name>
@@ -100,7 +100,7 @@
</issueManagement>
<ciManagement>
<system>Jenkins</system>
- <url>https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven-javadoc-plugin/</url>
+ <url>https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven-javadoc-plugin/</url>
</ciManagement>
<distributionManagement>
<site>
@@ -118,11 +118,11 @@
<aetherVersion>1.0.0.v20140518</aetherVersion>
<!-- https://cwiki.apache.org/confluence/x/VIHOCg#MavenEcosystemCleanup-ResolverandMaven -->
<plexus-java.version>1.1.2</plexus-java.version>
- <jetty.version>9.4.50.v20221201</jetty.version>
+ <jetty.version>9.4.51.v20230217</jetty.version>
<!-- for ITs -->
<sitePluginVersion>3.12.1</sitePluginVersion>
<projectInfoReportsPluginVersion>3.4.2</projectInfoReportsPluginVersion>
- <project.build.outputTimestamp>2023-02-12T17:50:15Z</project.build.outputTimestamp>
+ <project.build.outputTimestamp>2023-09-12T05:45:11Z</project.build.outputTimestamp>
<slf4jVersion>1.7.36</slf4jVersion>
</properties>
@@ -223,10 +223,14 @@
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-shared-utils</artifactId>
+ <version>3.4.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
<artifactId>maven-common-artifact-filters</artifactId>
<version>3.2.0</version>
</dependency>
-
<!-- Doxia -->
<dependency>
<groupId>org.apache.maven.doxia</groupId>
@@ -239,6 +243,13 @@
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-site-renderer</artifactId>
<version>${doxia-sitetoolsVersion}</version>
+ <exclusions>
+ <exclusion>
+ <!-- MJAVADOC-726 -->
+ <groupId>org.apache.velocity</groupId>
+ <artifactId>velocity-tools</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<!-- wagon -->
@@ -288,9 +299,19 @@
<version>3.5.1</version>
</dependency>
<dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-io</artifactId>
+ <version>3.4.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-archiver</artifactId>
+ <version>4.8.0</version>
+ </dependency>
+ <dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
- <version>2.11.0</version>
+ <version>2.13.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
@@ -316,6 +337,18 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-core</artifactId>
+ <version>2.2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
+ <version>4.0.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.apache.maven.plugin-testing</groupId>
<artifactId>maven-plugin-testing-harness</artifactId>
<version>3.3.0</version>
@@ -341,7 +374,7 @@
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-client</artifactId>
+ <artifactId>jetty-util</artifactId>
<version>${jetty.version}</version>
<scope>test</scope>
</dependency>
@@ -410,7 +443,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
- <version>${project.version}</version>
<configuration>
<failOnWarnings>false</failOnWarnings>
</configuration>
@@ -466,6 +498,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-invoker-plugin</artifactId>
+ <version>3.6.0</version>
<configuration>
<localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
<projectsDirectory>src/it/projects</projectsDirectory>
@@ -506,6 +539,7 @@
<repositories>
<mockRepo>
<source>src/it/mrm/repository</source>
+ <cloneTo>${project.build.directory}/mock-repo</cloneTo>
</mockRepo>
<proxyRepo />
</repositories>
@@ -521,6 +555,7 @@
<repositories>
<mockRepo>
<source>src/it/mrm/3rdparty</source>
+ <cloneTo>${project.build.directory}/mock-repo-3rdparty</cloneTo>
</mockRepo>
</repositories>
<propertyName>mrm.3rdparty.url</propertyName>
@@ -571,5 +606,19 @@
</plugins>
</build>
</profile>
+ <profile>
+ <id>dev</id>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>${project.version}</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ </profile>
</profiles>
</project>
diff --git a/src/it/projects/MJAVADOC-538/pom.xml b/src/it/projects/MJAVADOC-538/pom.xml
index ecac918..8d9de8c 100644
--- a/src/it/projects/MJAVADOC-538/pom.xml
+++ b/src/it/projects/MJAVADOC-538/pom.xml
@@ -48,6 +48,7 @@
<profiles>
<profile>
+ <id>java10+</id>
<activation>
<jdk>10</jdk>
</activation>
diff --git a/src/it/projects/MJAVADOC-538/src/main/java/foo/bar/MyClass.java b/src/it/projects/MJAVADOC-538/src/main/java/foo/bar/MyClass.java
index 60b458b..86364fd 100644
--- a/src/it/projects/MJAVADOC-538/src/main/java/foo/bar/MyClass.java
+++ b/src/it/projects/MJAVADOC-538/src/main/java/foo/bar/MyClass.java
@@ -1,26 +1,34 @@
-package foo.bar;
-
-/*
- * 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
- */
-public class MyClass
-{
-}
+package foo.bar;
+
+/*
+ * 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
+ *
+ */
+public class MyClass
+{
+ /**
+ * Constructor
+ */
+ MyClass()
+ {
+ }
+}
diff --git a/src/it/projects/MJAVADOC-555_link-automatic-modules/pom.xml b/src/it/projects/MJAVADOC-555_link-automatic-modules/pom.xml
index f6f3633..efadc3c 100644
--- a/src/it/projects/MJAVADOC-555_link-automatic-modules/pom.xml
+++ b/src/it/projects/MJAVADOC-555_link-automatic-modules/pom.xml
@@ -32,7 +32,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <guava.version>27.0.1-jre</guava.version>
+ <guava.version>32.0.0-jre</guava.version>
</properties>
<build>
diff --git a/src/it/projects/MJAVADOC-555_link-automatic-modules/verify.groovy b/src/it/projects/MJAVADOC-555_link-automatic-modules/verify.groovy
index 0431b4a..ad6c462 100644
--- a/src/it/projects/MJAVADOC-555_link-automatic-modules/verify.groovy
+++ b/src/it/projects/MJAVADOC-555_link-automatic-modules/verify.groovy
@@ -17,7 +17,7 @@
* under the License.
*/
-def classFile
+def classFile
int javaVersion = System.getProperty( "java.specification.version" ) as Integer
if ( javaVersion >= 11 ) {
classFile = new File( basedir, 'target/apidocs/jul_to_slf4j/com/testcase/Testcase.html')
@@ -33,11 +33,11 @@
assert m.hasGroup()
try {
// https://bugs.openjdk.java.net/browse/JDK-8232438
- // As of Java 15 ?is-external=true is removed
- assert m[0][1].startsWith('https://guava.dev/releases/27.0.1-jre/api/docs/com/google/common/collect/Multimap.html')
+ // As of Java 15 ?is-external=true is removed
+ assert m[0][1].startsWith('https://guava.dev/releases/32.0.0-jre/api/docs/com/google/common/collect/Multimap.html')
}
catch(IndexOutOfBoundsException ioobe) {
- // seems to happen with some Java 11 releases...
- if ( javaVersion != 11 ) { throw ioobe }
+ // seems to happen with some Java 11 releases...
+ if ( javaVersion != 11 ) { throw ioobe }
}
diff --git a/src/it/projects/MJAVADOC-568_manifest-splitpackage/mojo/pom.xml b/src/it/projects/MJAVADOC-568_manifest-splitpackage/mojo/pom.xml
index 67b08dc..51d6751 100644
--- a/src/it/projects/MJAVADOC-568_manifest-splitpackage/mojo/pom.xml
+++ b/src/it/projects/MJAVADOC-568_manifest-splitpackage/mojo/pom.xml
@@ -55,7 +55,7 @@
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
- <version>3.6.0</version>
+ <version>3.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
diff --git a/src/it/projects/MJAVADOC-592_detectApiLink/pom.xml b/src/it/projects/MJAVADOC-592_detectApiLink/pom.xml
index 78ecd47..1f821d9 100644
--- a/src/it/projects/MJAVADOC-592_detectApiLink/pom.xml
+++ b/src/it/projects/MJAVADOC-592_detectApiLink/pom.xml
@@ -25,13 +25,13 @@
<groupId>org.apache.maven.plugins.javadoc.it</groupId>
<artifactId>mjavadoc592</artifactId>
<version>1.0-SNAPSHOT</version>
-
+
<url>https://issues.apache.org/jira/browse/MJAVADOC-592</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <maven.compiler.source>7</maven.compiler.source>
- <maven.compiler.target>7</maven.compiler.target>
+ <maven.compiler.source>@maven.compiler.source@</maven.compiler.source>
+ <maven.compiler.target>@maven.compiler.target@</maven.compiler.target>
</properties>
<build>
diff --git a/src/it/projects/MJAVADOC-592_detectApiLink/verify.groovy b/src/it/projects/MJAVADOC-592_detectApiLink/verify.groovy
index 674ad5c..bed3fca 100644
--- a/src/it/projects/MJAVADOC-592_detectApiLink/verify.groovy
+++ b/src/it/projects/MJAVADOC-592_detectApiLink/verify.groovy
@@ -16,6 +16,6 @@
* specific language governing permissions and limitations
* under the License.
*/
-
+
def options = new File(basedir,'target/site/apidocs/options')
-assert options.readLines().dropWhile{it!='-linkoffline'}.get(1).startsWith("'https://docs.oracle.com/javase/7/docs/api'")
+assert options.readLines().dropWhile{it!='-linkoffline'}.get(1).startsWith("'https://docs.oracle.com/javase/8/docs/api")
diff --git a/src/it/projects/MJAVADOC-599/pom.xml b/src/it/projects/MJAVADOC-599/pom.xml
index 3a5c6e6..9f66497 100644
--- a/src/it/projects/MJAVADOC-599/pom.xml
+++ b/src/it/projects/MJAVADOC-599/pom.xml
@@ -35,8 +35,8 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <maven.compiler.source>1.8</maven.compiler.source>
- <maven.compiler.target>1.8</maven.compiler.target>
+ <maven.compiler.source>@maven.compiler.source@</maven.compiler.source>
+ <maven.compiler.target>@maven.compiler.target@</maven.compiler.target>
</properties>
<build>
diff --git a/src/it/projects/MJAVADOC-642/invoker.properties b/src/it/projects/MJAVADOC-642/invoker.properties
new file mode 100644
index 0000000..4c251c0
--- /dev/null
+++ b/src/it/projects/MJAVADOC-642/invoker.properties
@@ -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= package
diff --git a/src/it/projects/MJAVADOC-642/pom.xml b/src/it/projects/MJAVADOC-642/pom.xml
new file mode 100644
index 0000000..10ce349
--- /dev/null
+++ b/src/it/projects/MJAVADOC-642/pom.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+~ 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.
+-->
+<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.plugins.javadoc.it</groupId>
+ <artifactId>mjavadoc642</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <url>https://issues.apache.org/jira/browse/MJAVADOC-642</url>
+
+ <properties>
+ <maven.compiler.source>1.8</maven.compiler.source>
+ <maven.compiler.target>1.8</maven.compiler.target>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>@project.version@</version>
+ <executions>
+ <execution>
+ <id>javadoc</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <offline>true</offline>
+ <skip>false</skip>
+ <detectJavaApiLink>false</detectJavaApiLink>
+ <detectOfflineLinks>false</detectOfflineLinks>
+ <failOnWarnings>true</failOnWarnings>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/src/it/projects/MJAVADOC-642/src/main/java/mjavadoc642/Main.java b/src/it/projects/MJAVADOC-642/src/main/java/mjavadoc642/Main.java
new file mode 100644
index 0000000..7d95048
--- /dev/null
+++ b/src/it/projects/MJAVADOC-642/src/main/java/mjavadoc642/Main.java
@@ -0,0 +1,41 @@
+/*
+ * 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.
+ */
+
+package mjavadoc642;
+
+/**
+ * This is the main class.
+ */
+public final class Main {
+
+ /**
+ * Mising description on auto generated constructor cause javadoc warrning.
+ */
+ Main() {}
+
+ /**
+ * This is the main method.
+ *
+ * @param args The arguments
+ * @throws Exception if something goes wrong
+ */
+ public static final void main(String ... args) throws Exception {
+ System.out.println("Hello, World!");
+ }
+}
diff --git a/src/it/projects/MJAVADOC-642/verify.groovy b/src/it/projects/MJAVADOC-642/verify.groovy
new file mode 100644
index 0000000..05c8778
--- /dev/null
+++ b/src/it/projects/MJAVADOC-642/verify.groovy
@@ -0,0 +1,23 @@
+/*
+ * 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.
+ */
+
+def log = new File( basedir, 'build.log').text
+
+assert log.count("[DEBUG] (f) offline = false") == 0
+assert log.count("[DEBUG] (f) offline = true") == 1
diff --git a/src/it/projects/MJAVADOC-642_cmdline/invoker.properties b/src/it/projects/MJAVADOC-642_cmdline/invoker.properties
new file mode 100644
index 0000000..0fe0096
--- /dev/null
+++ b/src/it/projects/MJAVADOC-642_cmdline/invoker.properties
@@ -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= -Dmaven.javadoc.offline=true package
diff --git a/src/it/projects/MJAVADOC-642_cmdline/pom.xml b/src/it/projects/MJAVADOC-642_cmdline/pom.xml
new file mode 100644
index 0000000..5bb9fc6
--- /dev/null
+++ b/src/it/projects/MJAVADOC-642_cmdline/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+~ 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.
+-->
+<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.plugins.javadoc.it</groupId>
+ <artifactId>mjavadoc642</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <url>https://issues.apache.org/jira/browse/MJAVADOC-642</url>
+
+ <properties>
+ <maven.compiler.source>1.8</maven.compiler.source>
+ <maven.compiler.target>1.8</maven.compiler.target>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>@project.version@</version>
+ <executions>
+ <execution>
+ <id>javadoc</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <skip>false</skip>
+ <detectJavaApiLink>false</detectJavaApiLink>
+ <detectOfflineLinks>false</detectOfflineLinks>
+ <failOnWarnings>true</failOnWarnings>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/src/it/projects/MJAVADOC-642_cmdline/src/main/java/mjavadoc642/Main.java b/src/it/projects/MJAVADOC-642_cmdline/src/main/java/mjavadoc642/Main.java
new file mode 100644
index 0000000..7d95048
--- /dev/null
+++ b/src/it/projects/MJAVADOC-642_cmdline/src/main/java/mjavadoc642/Main.java
@@ -0,0 +1,41 @@
+/*
+ * 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.
+ */
+
+package mjavadoc642;
+
+/**
+ * This is the main class.
+ */
+public final class Main {
+
+ /**
+ * Mising description on auto generated constructor cause javadoc warrning.
+ */
+ Main() {}
+
+ /**
+ * This is the main method.
+ *
+ * @param args The arguments
+ * @throws Exception if something goes wrong
+ */
+ public static final void main(String ... args) throws Exception {
+ System.out.println("Hello, World!");
+ }
+}
diff --git a/src/it/projects/MJAVADOC-642_cmdline/verify.groovy b/src/it/projects/MJAVADOC-642_cmdline/verify.groovy
new file mode 100644
index 0000000..05c8778
--- /dev/null
+++ b/src/it/projects/MJAVADOC-642_cmdline/verify.groovy
@@ -0,0 +1,23 @@
+/*
+ * 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.
+ */
+
+def log = new File( basedir, 'build.log').text
+
+assert log.count("[DEBUG] (f) offline = false") == 0
+assert log.count("[DEBUG] (f) offline = true") == 1
diff --git a/src/it/projects/MJAVADOC-767/doc/pom.xml b/src/it/projects/MJAVADOC-767/doc/pom.xml
new file mode 100644
index 0000000..e9bc5d6
--- /dev/null
+++ b/src/it/projects/MJAVADOC-767/doc/pom.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+~ 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.
+-->
+<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.plugins.javadoc.it</groupId>
+ <artifactId>mjavadoc767</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>doc</artifactId>
+ <packaging>pom</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.plugins.javadoc.it</groupId>
+ <artifactId>thing1</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.plugins.javadoc.it</groupId>
+ <artifactId>thing2</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>@project.version@</version>
+ <executions>
+ <execution>
+ <id>javadoc-jar</id>
+ <goals>
+ <goal>aggregate-jar</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <jvmVersion>9</jvmVersion>
+ <skip>false</skip>
+ <includeDependencySources>true</includeDependencySources>
+ <detectOfflineLinks>false</detectOfflineLinks>
+ <dependencySourceIncludes>
+ <dependencySourceInclude>*:*</dependencySourceInclude>
+ </dependencySourceIncludes>
+ <dependencySourceExcludes>
+ <dependencySourceExclude>*:thing2</dependencySourceExclude>
+ </dependencySourceExcludes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/src/it/projects/MJAVADOC-767/invoker.properties b/src/it/projects/MJAVADOC-767/invoker.properties
new file mode 100644
index 0000000..c30bd85
--- /dev/null
+++ b/src/it/projects/MJAVADOC-767/invoker.properties
@@ -0,0 +1,19 @@
+# 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= package
+invoker.java.version = 9+
diff --git a/src/it/projects/MJAVADOC-767/pom.xml b/src/it/projects/MJAVADOC-767/pom.xml
new file mode 100644
index 0000000..d17cb7e
--- /dev/null
+++ b/src/it/projects/MJAVADOC-767/pom.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+~ 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.
+-->
+<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.plugins.javadoc.it</groupId>
+ <artifactId>mjavadoc767</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <url>https://issues.apache.org/jira/browse/MJAVADOC-767</url>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <maven.compiler.source>9</maven.compiler.source>
+ <maven.compiler.target>9</maven.compiler.target>
+ </properties>
+
+ <modules>
+ <module>thing1</module>
+ <module>thing2</module>
+ <module>doc</module>
+ </modules>
+</project>
diff --git a/src/it/projects/MJAVADOC-767/thing1/pom.xml b/src/it/projects/MJAVADOC-767/thing1/pom.xml
new file mode 100644
index 0000000..7a310fa
--- /dev/null
+++ b/src/it/projects/MJAVADOC-767/thing1/pom.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+~ 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.
+-->
+<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.plugins.javadoc.it</groupId>
+ <artifactId>mjavadoc767</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>thing1</artifactId>
+ <packaging>jar</packaging>
+</project>
diff --git a/src/it/projects/MJAVADOC-767/thing1/src/main/java/jdbug/thing1/Main.java b/src/it/projects/MJAVADOC-767/thing1/src/main/java/jdbug/thing1/Main.java
new file mode 100644
index 0000000..8d6618f
--- /dev/null
+++ b/src/it/projects/MJAVADOC-767/thing1/src/main/java/jdbug/thing1/Main.java
@@ -0,0 +1,26 @@
+/*
+ * 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.
+ */
+
+package jdbug.thing1;
+
+public final class Main {
+ public static final void main(String ... args) throws Exception {
+ System.out.println("Hello, World!");
+ }
+}
diff --git a/src/it/projects/MJAVADOC-767/thing1/src/main/java/module-info.java b/src/it/projects/MJAVADOC-767/thing1/src/main/java/module-info.java
new file mode 100644
index 0000000..b880104
--- /dev/null
+++ b/src/it/projects/MJAVADOC-767/thing1/src/main/java/module-info.java
@@ -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.
+ */
+
+module jdbug.thing1 {
+ exports jdbug.thing1;
+}
diff --git a/src/it/projects/MJAVADOC-767/thing2/pom.xml b/src/it/projects/MJAVADOC-767/thing2/pom.xml
new file mode 100644
index 0000000..6b0a932
--- /dev/null
+++ b/src/it/projects/MJAVADOC-767/thing2/pom.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+~ 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.
+-->
+<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.plugins.javadoc.it</groupId>
+ <artifactId>mjavadoc767</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>thing2</artifactId>
+ <packaging>jar</packaging>
+</project>
diff --git a/src/it/projects/MJAVADOC-767/thing2/src/main/java/jdbug/thing2/Main.java b/src/it/projects/MJAVADOC-767/thing2/src/main/java/jdbug/thing2/Main.java
new file mode 100644
index 0000000..9aef86f
--- /dev/null
+++ b/src/it/projects/MJAVADOC-767/thing2/src/main/java/jdbug/thing2/Main.java
@@ -0,0 +1,26 @@
+/*
+ * 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.
+ */
+
+package jdbug.thing2;
+
+public final class Main {
+ public static final void main(String ... args) throws Exception {
+ System.out.println("Hello, World!");
+ }
+}
diff --git a/src/it/projects/MJAVADOC-767/thing2/src/main/java/module-info.java b/src/it/projects/MJAVADOC-767/thing2/src/main/java/module-info.java
new file mode 100644
index 0000000..28ce9ed
--- /dev/null
+++ b/src/it/projects/MJAVADOC-767/thing2/src/main/java/module-info.java
@@ -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.
+ */
+
+module jdbug.thing2 {
+ exports jdbug.thing2;
+}
diff --git a/src/it/projects/MJAVADOC-769/invoker.properties b/src/it/projects/MJAVADOC-769/invoker.properties
new file mode 100644
index 0000000..acf2b37
--- /dev/null
+++ b/src/it/projects/MJAVADOC-769/invoker.properties
@@ -0,0 +1,19 @@
+# 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 package
+invoker.java.version = 9+
diff --git a/src/it/projects/MJAVADOC-769/pom.xml b/src/it/projects/MJAVADOC-769/pom.xml
new file mode 100644
index 0000000..b959e06
--- /dev/null
+++ b/src/it/projects/MJAVADOC-769/pom.xml
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+~ 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.
+-->
+<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.plugins.javadoc.it</groupId>
+ <artifactId>mjavadoc769</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <url>https://issues.apache.org/jira/browse/MJAVADOC-769</url>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <maven.compiler.source>9</maven.compiler.source>
+ <maven.compiler.target>9</maven.compiler.target>
+ <moduleName>mavenbugs.mjavadoc769</moduleName>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.junit</groupId>
+ <artifactId>junit-bom</artifactId>
+ <version>5.10.0</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.google.inject</groupId>
+ <artifactId>guice</artifactId>
+ <version>5.1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>32.0.0-jre</version>
+ </dependency>
+
+ <dependency>
+ <groupId>jakarta.inject</groupId>
+ <artifactId>jakarta.inject-api</artifactId>
+ <version>2.0.1.MR</version>
+ <scope>provided</scope>
+ <optional>true</optional>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
+ <version>1</version>
+ <scope>provided</scope>
+ <optional>true</optional>
+ </dependency>
+
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-params</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>@project.version@</version>
+ <configuration>
+ <outputDirectory>${project.build.directory}/apidocs
+ </outputDirectory>
+ <release>11</release>
+ <nodeprecated>false</nodeprecated>
+ <author>false</author>
+ <nohelp>true</nohelp>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>3.3.0</version>
+ <executions>
+ <execution>
+ <id>default-jar</id>
+ <!-- add module name to main artifact -->
+ <configuration>
+ <archive>
+ <manifestEntries
+ combine.children="append">
+ <Automatic-Module-Name>
+ ${moduleName}
+ </Automatic-Module-Name>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </execution>
+ <execution>
+ <id>test-jar</id>
+ <!-- add module name to test artifact -->
+ <configuration>
+ <archive>
+ <manifestEntries
+ combine.children="append">
+ <Automatic-Module-Name>
+ ${moduleName}.tests
+ </Automatic-Module-Name>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>javadoc-jar</id>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>test-jar</id>
+ <phase>package</phase>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/src/it/projects/MJAVADOC-769/src/main/java/mavenbugs/mjavadoc769/InternalImportBindingBuilder.java b/src/it/projects/MJAVADOC-769/src/main/java/mavenbugs/mjavadoc769/InternalImportBindingBuilder.java
new file mode 100644
index 0000000..a2f6164
--- /dev/null
+++ b/src/it/projects/MJAVADOC-769/src/main/java/mavenbugs/mjavadoc769/InternalImportBindingBuilder.java
@@ -0,0 +1,116 @@
+package mavenbugs.mjavadoc769;
+
+/*
+ * 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 java.lang.annotation.Annotation;
+
+import com.google.inject.Inject;
+import com.google.inject.Injector;
+import com.google.inject.Key;
+import com.google.inject.Provider;
+import com.google.inject.Scope;
+import com.google.inject.TypeLiteral;
+import com.google.inject.binder.LinkedBindingBuilder;
+import com.google.inject.binder.ScopedBindingBuilder;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
+
+/**
+ * Import binding builder.
+ */
+public final class InternalImportBindingBuilder<T> implements ScopedBindingBuilder {
+
+ private final Key<T> concreteType;
+ private final ScopedBindingBuilder binder;
+ private final InternalBindingProvider<T> provider;
+
+ public InternalImportBindingBuilder(LinkedBindingBuilder<T> binder, Key<T> concreteType) {
+ checkNotNull(binder, "binder is null");
+
+ this.concreteType = checkNotNull(concreteType, "concreteType is null");
+
+ this.provider = new InternalBindingProvider<>(concreteType);
+ this.binder = binder.toProvider(provider);
+ }
+
+ /**
+ * Bind a different type as the given binding. This allows binding e.g. implementations to interface types.
+ */
+ public ScopedBindingBuilder to(Class<? extends T> clazz) {
+ checkNotNull(clazz, "clazz is null");
+
+ this.provider.setKey(concreteType.ofType(clazz));
+
+ return this;
+ }
+
+ /**
+ * Bind a different type as the given binding. This allows binding e.g. implementations to interface types.
+ */
+ public ScopedBindingBuilder to(TypeLiteral<? extends T> type) {
+ checkNotNull(type, "type is null");
+
+ this.provider.setKey(concreteType.ofType(type));
+
+ return this;
+ }
+
+ @Override
+ public void in(Class<? extends Annotation> scopeAnnotation) {
+ checkNotNull(scopeAnnotation, "scopeAnnotation is null");
+ this.binder.in(scopeAnnotation);
+ }
+
+ @Override
+ public void in(Scope scope) {
+ checkNotNull(scope, "scope is null");
+ this.binder.in(scope);
+ }
+
+ @Override
+ public void asEagerSingleton() {
+ this.binder.asEagerSingleton();
+ }
+
+ static final class InternalBindingProvider<T> implements Provider<T> {
+
+ private Key<? extends T> key;
+ private Injector injector;
+
+ InternalBindingProvider(Key<? extends T> key) {
+ this.key = checkNotNull(key, "key is null");
+ }
+
+ InternalBindingProvider<T> setKey(Key<? extends T> key) {
+ this.key = checkNotNull(key, "key is null");
+ return this;
+ }
+
+ @Inject
+ void setInjector(final Injector injector) {
+ checkNotNull(injector, "injector is null");
+ checkState(this.injector == null, "setInjector() called multiple times!");
+
+ this.injector = injector;
+ }
+
+ @Override
+ public T get() {
+ checkState(this.injector != null, "calling get() before setInjector()!");
+ return injector.getInstance(key);
+ }
+ }
+}
diff --git a/src/it/projects/MJAVADOC-769/src/test/java/mavenbugs/mjavadoc769/Right.java b/src/it/projects/MJAVADOC-769/src/test/java/mavenbugs/mjavadoc769/Right.java
new file mode 100644
index 0000000..e9071e7
--- /dev/null
+++ b/src/it/projects/MJAVADOC-769/src/test/java/mavenbugs/mjavadoc769/Right.java
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ */
+package mavenbugs.mjavadoc769;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+@Retention(RUNTIME)
+@Target({FIELD, PARAMETER, METHOD})
+@javax.inject.Qualifier
+@jakarta.inject.Qualifier
+public @interface Right {}
diff --git a/src/it/projects/MJAVADOC-769/src/test/java/mavenbugs/mjavadoc769/RightTest.java b/src/it/projects/MJAVADOC-769/src/test/java/mavenbugs/mjavadoc769/RightTest.java
new file mode 100644
index 0000000..9888f96
--- /dev/null
+++ b/src/it/projects/MJAVADOC-769/src/test/java/mavenbugs/mjavadoc769/RightTest.java
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ */
+package mavenbugs.mjavadoc769;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+
+import org.junit.jupiter.api.Test;
+
+public class RightTest {
+
+ @Test
+ public void testFoo() throws Exception {
+ Method method = Foo.class.getMethod("foo");
+ Annotation annotation = method.getAnnotation(Right.class);
+ assertNotNull(annotation);
+ }
+
+ @Test
+ public void testRight() throws Exception {
+ Annotation[] annotations = Right.class.getAnnotations();
+ assertEquals(4, annotations.length);
+
+ assertEquals(javax.inject.Qualifier.class, Right.class.getAnnotation(javax.inject.Qualifier.class).annotationType());
+ assertEquals(jakarta.inject.Qualifier.class, Right.class.getAnnotation(jakarta.inject.Qualifier.class).annotationType());
+ }
+
+
+ public static class Foo {
+ @Right
+ public void foo() {
+ }
+ }
+}
diff --git a/src/it/projects/MJAVADOC-770/invoker.properties b/src/it/projects/MJAVADOC-770/invoker.properties
new file mode 100644
index 0000000..c30bd85
--- /dev/null
+++ b/src/it/projects/MJAVADOC-770/invoker.properties
@@ -0,0 +1,19 @@
+# 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= package
+invoker.java.version = 9+
diff --git a/src/it/projects/MJAVADOC-770/pom.xml b/src/it/projects/MJAVADOC-770/pom.xml
new file mode 100644
index 0000000..8510c2d
--- /dev/null
+++ b/src/it/projects/MJAVADOC-770/pom.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+~ 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.
+-->
+<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.plugins.javadoc.it</groupId>
+ <artifactId>mjavadoc770</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <url>https://issues.apache.org/jira/browse/MJAVADOC-770</url>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <project.build.targetJdk>9</project.build.targetJdk>
+ <maven.compiler.source>${project.build.targetJdk}</maven.compiler.source>
+ <maven.compiler.target>${project.build.targetJdk}</maven.compiler.target>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apiguardian</groupId>
+ <artifactId>apiguardian-api</artifactId>
+ <version>1.1.2</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>3.3.0</version>
+ <executions>
+ <execution>
+ <id>default-jar</id>
+ <!-- add module name to main artifact -->
+ <configuration>
+ <archive>
+ <manifestEntries combine.children="append">
+ <Automatic-Module-Name>mjavadoc770</Automatic-Module-Name>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>@project.version@</version>
+ <executions>
+ <execution>
+ <id>javadoc</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <legacyMode>true</legacyMode>
+ <release>${project.build.targetJdk}</release>
+ <skip>false</skip>
+ <detectJavaApiLink>false</detectJavaApiLink>
+ <detectOfflineLinks>false</detectOfflineLinks>
+ <failOnWarnings>true</failOnWarnings>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/src/it/projects/MJAVADOC-770/src/main/java/mjavadoc770/Main.java b/src/it/projects/MJAVADOC-770/src/main/java/mjavadoc770/Main.java
new file mode 100644
index 0000000..776a823
--- /dev/null
+++ b/src/it/projects/MJAVADOC-770/src/main/java/mjavadoc770/Main.java
@@ -0,0 +1,41 @@
+/*
+ * 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.
+ */
+
+package mjavadoc770;
+
+/**
+ * This is the main class.
+ */
+public final class Main {
+
+ /**
+ * Mising description on auto generated constructor cause javadoc warrning.
+ */
+ Main() {}
+
+ /**
+ * This is the main method.
+ *
+ * @param args The arguments
+ * @throws Exception if something goes wrong
+ */
+ public static final void main(String ... args) throws Exception {
+ System.out.println("Hello, World!");
+ }
+}
diff --git a/src/it/projects/MJAVADOC-770/verify.groovy b/src/it/projects/MJAVADOC-770/verify.groovy
new file mode 100644
index 0000000..165abb1
--- /dev/null
+++ b/src/it/projects/MJAVADOC-770/verify.groovy
@@ -0,0 +1,23 @@
+/*
+ * 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.
+ */
+
+// new style javadoc has a module summary. legacy mode has not.
+def moduleFile = new File( basedir, 'target/apidocs/mjavadoc770/module-summary.html')
+
+assert !moduleFile.exists()
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/AbstractFixJavadocMojo.java b/src/main/java/org/apache/maven/plugins/javadoc/AbstractFixJavadocMojo.java
index 75a88fb..4b17ffa 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractFixJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractFixJavadocMojo.java
@@ -69,7 +69,6 @@
import org.apache.commons.text.StringEscapeUtils;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.DependencyResolutionRequiredException;
-import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
@@ -87,8 +86,8 @@
/**
* Abstract class to fix Javadoc documentation and tags in source files.
- * @see <a href="https://docs.oracle.com/en/java/javase/17/docs/specs/javadoc/doc-comment-spec.html#where-tags-can-be-used">Where Tags
- * Can Be Used</a>.
+ *
+ * @see <a href="https://docs.oracle.com/en/java/javase/17/docs/specs/javadoc/doc-comment-spec.html#where-tags-can-be-used">Where Tags Can Be Used</a>
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
* @since 2.6
*/
@@ -351,12 +350,6 @@
private String level;
/**
- * The local repository where the artifacts are located, used by the tests.
- */
- @Parameter(property = "localRepository")
- private ArtifactRepository localRepository;
-
- /**
* Output directory where Java classes will be rewritten.
*/
@Parameter(property = "outputDirectory", defaultValue = "${project.build.sourceDirectory}")
@@ -657,7 +650,7 @@
JavadocUtil.invokeMaven(
getLog(),
- new File(localRepository.getBasedir()),
+ session.getRepositorySession().getLocalRepository().getBasedir(),
project.getFile(),
Collections.singletonList(clirrGoal),
properties,
@@ -2061,26 +2054,6 @@
}
/**
- * @param sb not null
- * @param indent not null
- * @param separatorAdded
- * @return true if separator has been added.
- */
- private boolean appendDefaultAuthorTag(final StringBuilder sb, final String indent, boolean separatorAdded) {
- if (!fixTag(AUTHOR_TAG)) {
- return separatorAdded;
- }
-
- if (!separatorAdded) {
- appendSeparator(sb, indent);
- separatorAdded = true;
- }
-
- appendDefaultAuthorTag(sb, indent);
- return separatorAdded;
- }
-
- /**
* @param sb not null
* @param indent not null
*/
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
index f44adf9..54ea99d 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
@@ -63,7 +63,6 @@
import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.artifact.handler.ArtifactHandler;
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
-import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.apache.maven.execution.MavenSession;
@@ -133,7 +132,6 @@
import org.eclipse.aether.artifact.ArtifactTypeRegistry;
import org.eclipse.aether.artifact.DefaultArtifact;
import org.eclipse.aether.collection.CollectRequest;
-import org.eclipse.aether.graph.DefaultDependencyNode;
import org.eclipse.aether.graph.DependencyFilter;
import org.eclipse.aether.resolution.ArtifactRequest;
import org.eclipse.aether.resolution.ArtifactResolutionException;
@@ -334,10 +332,14 @@
private MojoExecution mojo;
/**
- * Specify if the Javadoc should operate in offline mode.
+ * Specify if the Javadoc plugin should operate in offline mode. If maven is run in offline
+ * mode (using {@code -o} or {@code --offline} on the command line), this option has no effect
+ * and the plugin is always in offline mode.
+ *
+ * @since 3.6.0
*/
- @Parameter(defaultValue = "${settings.offline}", required = true, readonly = true)
- private boolean isOffline;
+ @Parameter(property = "maven.javadoc.offline", defaultValue = "false")
+ private boolean offline;
/**
* Specifies the Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...).
@@ -417,12 +419,6 @@
private ResourcesArtifact[] resourcesArtifacts;
/**
- * The local repository where the artifacts are located.
- */
- @Parameter(property = "localRepository")
- private ArtifactRepository localRepository;
-
- /**
* The projects in the reactor for aggregation report.
*/
@Parameter(property = "reactorProjects", readonly = true)
@@ -547,7 +543,7 @@
private boolean detectOfflineLinks;
/**
- * Detect the Java API link for the current build, i.e. <code>https://docs.oracle.com/javase/1.4.2/docs/api/</code>
+ * Detect the Java API link for the current build, e.g. <code>https://docs.oracle.com/javase/1.4.2/docs/api/</code>
* for Java source 1.4.
* <br/>
* By default, the goal detects the Javadoc API link depending the value of the <code>source</code>
@@ -848,6 +844,16 @@
@Parameter(property = "verbose", defaultValue = "false")
private boolean verbose;
+ /**
+ * Run the javadoc tool in pre-Java 9 (non-modular) style even if the java version is
+ * post java 9. This allows non-JPMS projects that have moved to newer Java
+ * versions to create javadocs without having to use JPMS modules.
+ *
+ * @since 3.6.0
+ */
+ @Parameter(property = "legacyMode", defaultValue = "false")
+ private boolean legacyMode;
+
// ----------------------------------------------------------------------
// Standard Doclet Options - all alphabetical
// ----------------------------------------------------------------------
@@ -1026,11 +1032,13 @@
private boolean keywords;
/**
- * Creates links to existing javadoc-generated documentation of external referenced classes.
- * <br>
+ * Creates links to existing javadoc-generated documentation of external referenced classes.<p>
+ *
* <b>Notes</b>:
* <ol>
- * <li>only used if {@code isOffline} is set to <code>false</code>.</li>
+ * <li>This option is ignored if the plugin is run in offline mode (using the {@code <offline>}
+ * setting or specifying {@code -o, --offline} or {@code -Dmaven.javadoc.offline=true} on the
+ * command line.</li>
* <li>all given links should have a fetchable <code>/package-list</code> or <code>/element-list</code>
* (since Java 10). For instance:
* <pre>
@@ -1039,12 +1047,12 @@
* <links>
* </pre>
* will be used because <code>https://docs.oracle.com/en/java/javase/17/docs/api/element-list</code> exists.</li>
- * <li>if {@link #detectLinks} is defined, the links between the project dependencies are
+ * <li>If {@link #detectLinks} is defined, the links between the project dependencies are
* automatically added.</li>
- * <li>if {@link #detectJavaApiLink} is defined, a Java API link, based on the Java version of the
+ * <li>If {@link #detectJavaApiLink} is defined, a Java API link, based on the Java version of the
* project's sources, will be added automatically.</li>
* </ol>
- * @see <a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html#standard-doclet-options">Doclet option link</a>.
+ * @see <a href=https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html#standard-doclet-options>Doclet option link</a>
*/
@Parameter(property = "links")
protected ArrayList<String> links;
@@ -1682,7 +1690,7 @@
/**
* @param p not null maven project
* @return the list of directories where compiled classes are placed for the given project. These dirs are
- * added in the javadoc classpath.
+ * added to the javadoc classpath.
*/
protected List<File> getProjectBuildOutputDirs(MavenProject p) {
if (StringUtils.isEmpty(p.getBuild().getOutputDirectory())) {
@@ -1693,10 +1701,8 @@
}
/**
- * Either returns the attached artifact file or outputDirectory
- *
- * @param project
- * @return
+ * @param project the project in which to find a classes file
+ * @return null, the attached artifact file, or outputDirectory.
*/
protected File getClassesFile(MavenProject project) {
if (!isAggregator() && isTest()) {
@@ -2077,7 +2083,9 @@
} else if (source != null) {
autoExclude = JavaVersion.parse(source).isBefore("9");
} else {
- autoExclude = false;
+ // if legacy mode is active, treat it like pre-Java 9 (exclude module-info),
+ // otherwise don't auto-exclude anything.
+ autoExclude = legacyMode;
}
for (Path sourcePath : sourcePaths) {
@@ -3242,8 +3250,11 @@
DependencyFilter filter = new ScopeDependencyFilter(
Arrays.asList(Artifact.SCOPE_COMPILE, Artifact.SCOPE_PROVIDED), Collections.emptySet());
- DependencyRequest req =
- new DependencyRequest(new DefaultDependencyNode(RepositoryUtils.toArtifact(artifact)), filter);
+ DependencyRequest req = new DependencyRequest(
+ new CollectRequest(
+ new org.eclipse.aether.graph.Dependency(RepositoryUtils.toArtifact(artifact), null),
+ RepositoryUtils.toRepos(project.getRemoteArtifactRepositories())),
+ filter);
Iterable<ArtifactResult> deps =
repoSystem.resolveDependencies(repoSession, req).getArtifactResults();
for (ArtifactResult a : deps) {
@@ -3756,7 +3767,7 @@
* If {@code detectLinks}, try to add javadoc apidocs according Maven conventions for all dependencies given
* in the project.
* <br/>
- * According the Javadoc documentation, all defined link should have <code>${link}/package-list</code> fetchable.
+ * According the Javadoc documentation, all defined links should have <code>${link}/package-list</code> fetchable.
* <br/>
* <b>Note</b>: when a link is not fetchable:
* <ul>
@@ -3778,7 +3789,7 @@
continue;
}
- if (isOffline && !link.startsWith("file:")) {
+ if ((settings.isOffline() || offline) && !link.startsWith("file:")) {
continue;
}
@@ -3791,7 +3802,7 @@
}
/**
- * Coppy all resources to the output directory
+ * Copy all resources to the output directory.
*
* @param javadocOutputDirectory not null
* @throws MavenReportException if any
@@ -4392,11 +4403,16 @@
Map<String, JavaModuleDescriptor> allModuleDescriptors = new HashMap<>();
- boolean supportModulePath = javadocRuntimeVersion.isAtLeast("9");
- if (release != null) {
- supportModulePath &= JavaVersion.parse(release).isAtLeast("9");
- } else if (source != null) {
- supportModulePath &= JavaVersion.parse(source).isAtLeast("9");
+ // do not support the module path in legacy mode
+ boolean supportModulePath = !legacyMode;
+
+ if (supportModulePath) {
+ supportModulePath &= javadocRuntimeVersion.isAtLeast("9");
+ if (release != null) {
+ supportModulePath &= JavaVersion.parse(release).isAtLeast("9");
+ } else if (source != null) {
+ supportModulePath &= JavaVersion.parse(source).isAtLeast("9");
+ }
}
if (supportModulePath) {
@@ -4563,8 +4579,7 @@
ModuleNameSource depModuleNameSource = locationManager
.resolvePath(ResolvePathRequest.ofFile(file))
.getModuleNameSource();
- if (ModuleNameSource.MODULEDESCRIPTOR.equals(depModuleNameSource)
- || ModuleNameSource.MANIFEST.equals(depModuleNameSource)) {
+ if (ModuleNameSource.MODULEDESCRIPTOR.equals(depModuleNameSource)) {
modulePathElements.add(file);
} else {
patchModules.get(mainModuleName).add(file.toPath());
@@ -4603,12 +4618,14 @@
}
for (Entry<String, Collection<Path>> entry : patchModules.entrySet()) {
- addArgIfNotEmpty(
- arguments,
- "--patch-module",
- entry.getKey() + '=' + JavadocUtil.quotedPathArgument(getSourcePath(entry.getValue())),
- false,
- false);
+ if (!entry.getValue().isEmpty()) {
+ addArgIfNotEmpty(
+ arguments,
+ "--patch-module",
+ entry.getKey() + '=' + JavadocUtil.quotedPathArgument(getSourcePath(entry.getValue())),
+ false,
+ false);
+ }
}
if (doclet != null && !doclet.isEmpty()) {
@@ -5478,7 +5495,7 @@
try {
JavadocUtil.invokeMaven(
getLog(),
- new File(localRepository.getBasedir()),
+ session.getRepositorySession().getLocalRepository().getBasedir(),
p.getFile(),
Collections.singletonList(javadocGoal),
null,
@@ -5708,7 +5725,7 @@
try {
redirectLinks.add(JavadocUtil.getRedirectUrl(new URI(link).toURL(), settings)
.toString());
- } catch (Exception e) {
+ } catch (IOException e) {
// only print in debug, it should have been logged already in warn/error because link isn't valid
getLog().debug("Could not follow " + link + ". Reason: " + e.getMessage());
@@ -5716,6 +5733,9 @@
// incomplete redirect configuration on the server side.
// This partially restores the previous behaviour before fix for MJAVADOC-427
redirectLinks.add(link);
+ } catch (URISyntaxException | IllegalArgumentException e) {
+ // only print in debug, it should have been logged already in warn/error because link isn't valid
+ getLog().debug("Could not follow " + link + ". Reason: " + e.getMessage());
}
}
return redirectLinks;
@@ -6026,8 +6046,7 @@
}
/**
- *
- * @return List of projects to be part of aggregated javadoc
+ * @return list of projects to be part of aggregated javadoc
*/
private List<MavenProject> getAggregatedProjects() {
if (this.reactorProjects == null) {
@@ -6046,8 +6065,8 @@
}
/**
- *
- * @return <code>true</code> if the module need to be skipped from aggregate generation
+ * @param mavenProject the project that might be skipped
+ * @return <code>true</code> if the project needs to be skipped from aggregate generation
*/
protected boolean isSkippedModule(MavenProject mavenProject) {
if (this.skippedModules == null || this.skippedModules.isEmpty()) {
@@ -6058,8 +6077,8 @@
}
/**
- *
- * @return <code>true</code> if the pom configuration skip javadoc generation for the project
+ * @param mavenProject the project that might be skipped
+ * @return <code>true</code> if the pom configuration skips javadoc generation for the project
*/
protected boolean isSkippedJavadoc(MavenProject mavenProject) {
String property = mavenProject.getProperties().getProperty("maven.javadoc.skip");
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java b/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java
index 50a8a82..5bab790 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java
@@ -41,7 +41,7 @@
import org.apache.maven.reporting.MavenReportException;
/**
- * Generates documentation for the <code>Java code</code> in an <b>NON aggregator</b> project using the standard
+ * Generates documentation for the <code>Java code</code> in a <b>NON aggregator</b> project using the standard
* <a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html">Javadoc Tool</a>.
*
* @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
@@ -269,7 +269,7 @@
}
/**
- * @param theDestDir The destination directory.
+ * @param theDestDir the destination directory
*/
public void setDestDir(String theDestDir) {
this.destDir = theDestDir;
@@ -316,8 +316,8 @@
/**
* Gets the resource bundle for the specified locale.
*
- * @param locale The locale of the currently generated report.
- * @return The resource bundle for the requested locale.
+ * @param locale the locale of the currently generated report
+ * @return the resource bundle for the requested locale
*/
private ResourceBundle getBundle(Locale locale) {
return ResourceBundle.getBundle("javadoc-report", locale, getClass().getClassLoader());
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java b/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
index 6a140b4..3ff7287 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
@@ -96,11 +96,11 @@
import org.apache.maven.shared.utils.cli.CommandLineException;
import org.apache.maven.shared.utils.cli.CommandLineUtils;
import org.apache.maven.shared.utils.cli.Commandline;
+import org.apache.maven.shared.utils.io.DirectoryScanner;
+import org.apache.maven.shared.utils.io.FileUtils;
import org.apache.maven.wagon.proxy.ProxyInfo;
import org.apache.maven.wagon.proxy.ProxyUtils;
import org.codehaus.plexus.languages.java.version.JavaVersion;
-import org.codehaus.plexus.util.DirectoryScanner;
-import org.codehaus.plexus.util.FileUtils;
/**
* Set of utilities methods for Javadoc.
@@ -393,9 +393,10 @@
* Convenience method that gets the files to be included in the javadoc.
*
* @param sourceDirectory the directory where the source files are located
- * @param excludePackages the packages to be excluded in the javadocs
- * @param sourceFileIncludes files to include.
- * @param sourceFileExcludes files to exclude.
+ * @param sourceFileIncludes files to include
+ * @param sourceFileExcludes files to exclude
+ * @param excludePackages packages to be excluded from the javadocs
+ * @return the files from which javadoc should be generated
*/
protected static List<String> getFilesFromSource(
File sourceDirectory,
@@ -691,10 +692,10 @@
*/
protected static void copyResource(URL url, File file) throws IOException {
if (file == null) {
- throw new IOException("The file can't be null.");
+ throw new NullPointerException("The file can't be null.");
}
if (url == null) {
- throw new IOException("The url could not be null.");
+ throw new NullPointerException("The url could not be null.");
}
FileUtils.copyURLToFile(url, file);
@@ -1217,7 +1218,7 @@
return result;
}
- // TODO: move to plexus-utils or use something appropriate from there
+ // TODO: deprecate in favor of Path.relativize
public static String toRelative(File basedir, String absolutePath) {
String relative;
@@ -1258,13 +1259,13 @@
}
/**
- * Execute an Http request at the given URL, follows redirects, and returns the last redirect locations. For URLs
+ * Execute an HTTP request to the given URL, follow redirects, and return the last redirect location. For URLs
* that aren't http/https, this does nothing and simply returns the given URL unchanged.
*
- * @param url URL.
- * @param settings Maven settings.
- * @return Last redirect location.
- * @throws IOException if there was an error during the Http request.
+ * @param url URL
+ * @param settings Maven settings
+ * @return final URL after all redirects have been followed
+ * @throws IOException if there was an error during the HTTP request
*/
protected static URL getRedirectUrl(URL url, Settings settings) throws IOException {
String protocol = url.getProtocol();
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/ResourcesBundleMojo.java b/src/main/java/org/apache/maven/plugins/javadoc/ResourcesBundleMojo.java
index d93926e..60d7e08 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/ResourcesBundleMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/ResourcesBundleMojo.java
@@ -62,7 +62,7 @@
/**
* Base name of artifacts produced by this project. This will be combined with
- * {@link ResourcesBundleMojo#getAttachmentClassifier()} to produce the name for this bundle
+ * {@link AbstractJavadocMojo#getAttachmentClassifier()} to produce the name for this bundle
* jar.
*/
@Parameter(defaultValue = "${project.build.finalName}", readonly = true)
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/TestFixJavadocMojo.java b/src/main/java/org/apache/maven/plugins/javadoc/TestFixJavadocMojo.java
index 877c5f2..4ff18ec 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/TestFixJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/TestFixJavadocMojo.java
@@ -33,8 +33,8 @@
/**
* Fix Javadoc documentation and tags for the <code>Test Java code</code> for the project.
- * @see <a href="https://docs.oracle.com/en/java/javase/17/docs/specs/javadoc/doc-comment-spec.html#where-tags-can-be-used">Where Tags Can
- * Be Used</a>.
+ *
+ * @see <a href=https://docs.oracle.com/en/java/javase/17/docs/specs/javadoc/doc-comment-spec.html#where-tags-can-be-used>Where Tags Can Be Used</a>
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
* @since 2.6
*/
diff --git a/src/site/xdoc/download.xml.vm b/src/site/xdoc/download.xml.vm
index 3f71035..8f28f05 100644
--- a/src/site/xdoc/download.xml.vm
+++ b/src/site/xdoc/download.xml.vm
@@ -23,102 +23,51 @@
<properties>
<title>Download ${project.name} Source</title>
</properties>
+
<body>
<section name="Download ${project.name} ${project.version} Source">
- <p>${project.name} ${project.version} is distributed in source format. Use a source archive if you intend to build
- ${project.name} yourself. Otherwise, simply use the ready-made binary artifacts from central repository.</p>
+ <p><strong>${project.name} ${project.version}</strong> is distributed in source format.</p>
- <p>You will be prompted for a mirror - if the file is not found on yours, please be patient, as it may take 24
- hours to reach all mirrors.<p/>
+ <p>Use a source archive if you intend to build <strong>${project.name}</strong> yourself.</p>
- <p>In order to guard against corrupted downloads/installations, it is highly recommended to
- <a href="http://www.apache.org/dev/release-signing#verifying-signature">verify the signature</a>
- of the release bundles against the public <a href="https://www.apache.org/dist/maven/KEYS">KEYS</a> used by the Apache Maven
- developers.</p>
+ <p>Otherwise, simply use the ready-made binary artifacts from <strong>central repository</strong>.</p>
- <p>${project.name} is distributed under the <a href="http://www.apache.org/licenses/">Apache License, version 2.0</a>.</p>
+ <p><strong>${project.name}</strong> is distributed under the <a href="https://www.apache.org/licenses/">Apache License, version 2.0</a>.</p>
- <p></p>We <b>strongly</b> encourage our users to configure a Maven repository mirror closer to their location, please read <a href="/guides/mini/guide-mirror-settings.html">How to Use Mirrors for Repositories</a>.</p>
+ <subsection name="Files">
+
+ <p>This is the current stable version of <strong>${project.name}</strong>.</p>
- <a name="mirror"/>
- <subsection name="Mirror">
+ <table>
+ <thead>
+ <tr>
+ <th></th>
+ <th>Link</th>
+ <th>Checksum</th>
+ <th>Signature</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>${project.name} ${project.version} (Source zip)</td>
+ <td><a href="https://dlcdn.apache.org/maven/plugins/${project.artifactId}-${project.version}-source-release.zip">${project.artifactId}-${project.version}-source-release.zip</a></td>
+ <td><a href="https://downloads.apache.org/maven/plugins/${project.artifactId}-${project.version}-source-release.zip.sha512">${project.artifactId}-${project.version}-source-release.zip.sha512</a></td>
+ <td><a href="https://downloads.apache.org/maven/plugins/${project.artifactId}-${project.version}-source-release.zip.asc">${project.artifactId}-${project.version}-source-release.zip.asc</a></td>
+ </tr>
+ </tbody>
+ </table>
- <p>
- [if-any logo]
- <a href="[link]">
- <img align="right" src="[logo]" border="0"
- alt="logo"/>
- </a>
- [end]
- The currently selected mirror is
- <b>[preferred]</b>.
- If you encounter a problem with this mirror,
- please select another mirror.
- If all mirrors are failing, there are
- <i>backup</i>
- mirrors
- (at the end of the mirrors list) that should be available.
+ <p>It is essential that you <a href="https://www.apache.org/info/verification.html">verify the integrity</a> of the downloaded file
+ using the checksum (.sha512 file)
+ or using the signature (.asc file) against the public <a href="https://downloads.apache.org/maven/KEYS">KEYS</a> used by the Apache Maven developers.
</p>
- <form action="[location]" method="get" id="SelectMirror">
- Other mirrors:
- <select name="Preferred">
- [if-any http]
- [for http]
- <option value="[http]">[http]</option>
- [end]
- [end]
- [if-any ftp]
- [for ftp]
- <option value="[ftp]">[ftp]</option>
- [end]
- [end]
- [if-any backup]
- [for backup]
- <option value="[backup]">[backup] (backup)</option>
- [end]
- [end]
- </select>
- <input type="submit" value="Change"/>
- </form>
-
- <p>
- You may also consult the
- <a href="http://www.apache.org/mirrors/">complete list of
- mirrors.</a>
- </p>
-
- </subsection>
-
- <subsection name="${project.name} ${project.version}">
-
- <p>This is the current stable version of ${project.name}.</p>
-
- <table>
- <thead>
- <tr>
- <th></th>
- <th>Link</th>
- <th>Checksum</th>
- <th>Signature</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>${project.name} ${project.version} (Source zip)</td>
- <td><a href="[preferred]maven/plugins/${project.artifactId}-${project.version}-source-release.zip">maven/plugins/${project.artifactId}-${project.version}-source-release.zip</a></td>
- <td><a href="https://www.apache.org/dist/maven/plugins/${project.artifactId}-${project.version}-source-release.zip.sha512">maven/plugins/${project.artifactId}-${project.version}-source-release.zip.sha512</a></td>
- <td><a href="https://www.apache.org/dist/maven/plugins/${project.artifactId}-${project.version}-source-release.zip.asc">maven/plugins/${project.artifactId}-${project.version}-source-release.zip.asc</a></td>
- </tr>
- </tbody>
- </table>
</subsection>
<subsection name="Previous Versions">
-
- <p>Older non-recommended releases can be found on our <a href="http://archive.apache.org/dist/maven/plugins/">archive site</a>.</p>
-
+ <p>It is strongly recommended to use the latest release version of <strong>${project.name}</strong> to take advantage of the newest features and bug fixes.</p>
+ <p>Older non-recommended releases can be found on our <a href="https://archive.apache.org/dist/maven/plugins/">archive site</a>.</p>
</subsection>
</section>
</body>
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/FixJavadocMojoTest.java b/src/test/java/org/apache/maven/plugins/javadoc/FixJavadocMojoTest.java
index 4a00d9f..1488d63 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/FixJavadocMojoTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/FixJavadocMojoTest.java
@@ -37,9 +37,11 @@
import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
import org.apache.maven.plugins.javadoc.AbstractFixJavadocMojo.JavaEntityTags;
import org.apache.maven.shared.invoker.MavenInvocationException;
-import org.codehaus.plexus.languages.java.version.JavaVersion;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.StringUtils;
+import org.eclipse.aether.DefaultRepositorySystemSession;
+import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
+import org.eclipse.aether.repository.LocalRepository;
import static org.apache.commons.lang3.reflect.MethodUtils.invokeMethod;
@@ -497,6 +499,10 @@
assertNotNull(mojo);
MavenSession session = newMavenSession(mojo.getProject());
+ ((DefaultRepositorySystemSession) session.getRepositorySession())
+ .setLocalRepositoryManager(new SimpleLocalRepositoryManagerFactory()
+ .newInstance(
+ session.getRepositorySession(), new LocalRepository(new File("target/local-repo"))));
// Ensure remote repo connection uses SSL
File globalSettingsFile = new File(getBasedir(), "target/test-classes/unit/settings.xml");
session.getRequest().setGlobalSettingsFile(globalSettingsFile);
@@ -536,20 +542,6 @@
Properties properties = new Properties();
- if (JavaVersion.JAVA_SPECIFICATION_VERSION.isAtLeast("12")) {
- properties.put("maven.compiler.source", "1.7");
- properties.put("maven.compiler.target", "1.7");
- } else if (JavaVersion.JAVA_SPECIFICATION_VERSION.isAtLeast("9")) {
- properties.put("maven.compiler.source", "1.6");
- properties.put("maven.compiler.target", "1.6");
- }
-
- // @todo unittests shouldn't need to go remote
- if (JavaVersion.JAVA_SPECIFICATION_VERSION.isBefore("8")) {
- // ensure that Java7 picks up TLSv1.2 when connecting with Central
- properties.put("https.protocols", "TLSv1.2");
- }
-
JavadocUtil.invokeMaven(
log,
new File(getBasedir(), "target/local-repo"),
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/JavadocJarTest.java b/src/test/java/org/apache/maven/plugins/javadoc/JavadocJarTest.java
index c36668f..1e0aa19 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/JavadocJarTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/JavadocJarTest.java
@@ -25,12 +25,16 @@
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
+import org.apache.maven.execution.MavenSession;
import org.apache.maven.model.Plugin;
import org.apache.maven.plugin.MojoExecution;
import org.apache.maven.plugin.testing.AbstractMojoTestCase;
import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.languages.java.version.JavaVersion;
+import org.eclipse.aether.DefaultRepositorySystemSession;
+import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
+import org.eclipse.aether.repository.LocalRepository;
import static org.assertj.core.api.Assertions.assertThat;
@@ -50,7 +54,12 @@
currentProject.setGroupId("GROUPID");
currentProject.setArtifactId("ARTIFACTID");
- setVariableValueToObject(mojo, "session", newMavenSession(currentProject));
+ MavenSession session = newMavenSession(currentProject);
+ ((DefaultRepositorySystemSession) session.getRepositorySession())
+ .setLocalRepositoryManager(new SimpleLocalRepositoryManagerFactory()
+ .newInstance(
+ session.getRepositorySession(), new LocalRepository(new File("target/local-repo"))));
+ setVariableValueToObject(mojo, "session", session);
return mojo;
}
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java b/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java
index d8c836b..6df4569 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java
@@ -37,6 +37,7 @@
import org.apache.maven.plugin.LegacySupport;
import org.apache.maven.plugin.MojoExecution;
import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugin.testing.AbstractMojoTestCase;
import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
import org.apache.maven.plugins.javadoc.ProxyServer.AuthAsyncProxyServlet;
@@ -595,27 +596,6 @@
}
/**
- * @throws Exception if any
- */
- public void testExceptions() throws Exception {
- try {
- Path testPom = unit.resolve("default-configuration/exception-test-plugin-config.xml");
- JavadocReport mojo = lookupMojo(testPom);
- mojo.execute();
-
- fail("Must throw exception.");
- } catch (Exception e) {
- assertTrue(true);
-
- try {
- deleteDirectory(new File(getBasedir(), "exception"));
- } catch (IOException ie) {
- // nop
- }
- }
- }
-
- /**
* Method to test the taglet artifact configuration
*
* @throws Exception if any
@@ -821,8 +801,6 @@
} catch (MojoExecutionException e) {
fail("Doesnt handle correctly newline for header or footer parameter");
}
-
- assertTrue(true);
}
/**
@@ -838,8 +816,6 @@
} catch (MojoExecutionException e) {
fail("Doesn't handle correctly newline for string parameters. See options and packages files.");
}
-
- assertTrue(true);
}
/**
@@ -1104,19 +1080,17 @@
Path testPom = unit.resolve("tagletArtifacts-test/tagletArtifacts-test-plugin-config.xml");
JavadocReport mojo = lookupMojo(testPom);
- MavenSession session = spy(newMavenSession(mojo.project));
- ProjectBuildingRequest buildingRequest = mock(ProjectBuildingRequest.class);
- when(buildingRequest.getRemoteRepositories()).thenReturn(mojo.project.getRemoteArtifactRepositories());
- when(session.getProjectBuildingRequest()).thenReturn(buildingRequest);
- DefaultRepositorySystemSession repositorySession = new DefaultRepositorySystemSession();
- repositorySession.setLocalRepositoryManager(new SimpleLocalRepositoryManagerFactory()
- .newInstance(repositorySession, new LocalRepository(localRepo)));
- when(buildingRequest.getRepositorySession()).thenReturn(repositorySession);
- when(session.getRepositorySession()).thenReturn(repositorySession);
+ MavenSession session = newMavenSession(mojo.project);
+ DefaultRepositorySystemSession repoSysSession = (DefaultRepositorySystemSession) session.getRepositorySession();
+ repoSysSession.setLocalRepositoryManager(new SimpleLocalRepositoryManagerFactory()
+ .newInstance(session.getRepositorySession(), new LocalRepository(new File("target/local-repo"))));
+ // Ensure remote repo connection uses SSL
+ File globalSettingsFile = new File(getBasedir(), "target/test-classes/unit/settings.xml");
+ session.getRequest().setGlobalSettingsFile(globalSettingsFile);
LegacySupport legacySupport = lookup(LegacySupport.class);
legacySupport.setSession(session);
setVariableValueToObject(mojo, "session", session);
- setVariableValueToObject(mojo, "repoSession", repositorySession);
+ setVariableValueToObject(mojo, "repoSession", repoSysSession);
mojo.execute();
Path optionsFile = new File(mojo.getOutputDirectory(), "options").toPath();
@@ -1167,8 +1141,7 @@
try {
mojo.execute();
fail();
- } catch (Exception e) {
- assertTrue(true);
+ } catch (MojoExecutionException | MojoFailureException e) {
}
// stylesheet == java
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java b/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java
index c3168ba..bf29322 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java
@@ -268,7 +268,7 @@
.toURL();
assertTrue(JavadocUtil.isValidPackageList(url, settings, true));
- url = new URL("http://maven.apache.org/plugins/maven-javadoc-plugin/apidocs/package-list");
+ url = new URL("http://maven.apache.org/plugins-archives/maven-javadoc-plugin-3.5.0/apidocs/package-list");
assertTrue(JavadocUtil.isValidPackageList(url, settings, true));
wrongUrl = new URL("http://maven.apache.org/plugins/maven-javadoc-plugin/apidocs/package-list2");
diff --git a/src/test/resources/unit/aggregate-modules-not-in-subfolders-test/all/pom.xml b/src/test/resources/unit/aggregate-modules-not-in-subfolders-test/all/pom.xml
index 6cbef91..2d35f14 100644
--- a/src/test/resources/unit/aggregate-modules-not-in-subfolders-test/all/pom.xml
+++ b/src/test/resources/unit/aggregate-modules-not-in-subfolders-test/all/pom.xml
@@ -37,7 +37,6 @@
<configuration>
<encoding>ISO-8859-1</encoding>
<project implementation="org.apache.maven.plugins.javadoc.stubs.AggregateNotInSubFolderTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/aggregate-modules-not-in-subfolders-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/aggregate-modules-not-in-subfolders-test/target/javadoc-bundle-options</javadocOptionsDir>
<windowtitle>Maven Javadoc Plugin aggregate resources 1.0-SNAPSHOT API</windowtitle>
diff --git a/src/test/resources/unit/aggregate-resources-test/aggregate-resources-test-plugin-config.xml b/src/test/resources/unit/aggregate-resources-test/aggregate-resources-test-plugin-config.xml
index 4b8fd43..b85d117 100644
--- a/src/test/resources/unit/aggregate-resources-test/aggregate-resources-test-plugin-config.xml
+++ b/src/test/resources/unit/aggregate-resources-test/aggregate-resources-test-plugin-config.xml
@@ -35,7 +35,6 @@
<configuration>
<encoding>ISO-8859-1</encoding>
<project implementation="org.apache.maven.plugins.javadoc.stubs.AggregateResourcesTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/aggregate-resources-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/aggregate-resources-test/target/javadoc-bundle-options</javadocOptionsDir>
<windowtitle>Maven Javadoc Plugin aggregate resources 1.0-SNAPSHOT API</windowtitle>
diff --git a/src/test/resources/unit/aggregate-test/aggregate-test-plugin-config.xml b/src/test/resources/unit/aggregate-test/aggregate-test-plugin-config.xml
index 38c4014..a0c318b 100644
--- a/src/test/resources/unit/aggregate-test/aggregate-test-plugin-config.xml
+++ b/src/test/resources/unit/aggregate-test/aggregate-test-plugin-config.xml
@@ -35,7 +35,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.AggregateTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/aggregate-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/aggregate-test/target/javadoc-bundle-options</javadocOptionsDir>
<breakiterator>false</breakiterator>
diff --git a/src/test/resources/unit/custom-configuration/custom-configuration-plugin-config.xml b/src/test/resources/unit/custom-configuration/custom-configuration-plugin-config.xml
index 097a1d2..6ed8ad0 100644
--- a/src/test/resources/unit/custom-configuration/custom-configuration-plugin-config.xml
+++ b/src/test/resources/unit/custom-configuration/custom-configuration-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.CustomConfigurationMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/custom-configuration/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/custom-configuration/target/javadoc-bundle-options</javadocOptionsDir>
<breakiterator>false</breakiterator>
@@ -99,7 +98,7 @@
<header>MAVEN JAVADOC PLUGIN TEST</header>
<footer>MAVEN JAVADOC PLUGIN TEST FOOTER</footer>
<locale>en_US</locale>
- <isOffline>true</isOffline>
+ <offline>true</offline>
<excludePackageNames>*.exclude2:custom.configuration.exclude1.*</excludePackageNames>
<debug>true</debug>
<failOnError>true</failOnError>
diff --git a/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml b/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml
index 3a1a1e5..ea9799f 100644
--- a/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml
+++ b/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.DefaultConfigurationMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/default-configuration/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/default-configuration/target/javadoc-bundle-options</javadocOptionsDir>
<breakiterator>false</breakiterator>
diff --git a/src/test/resources/unit/default-configuration/exception-test-plugin-config.xml b/src/test/resources/unit/default-configuration/exception-test-plugin-config.xml
deleted file mode 100644
index d14f1f5..0000000
--- a/src/test/resources/unit/default-configuration/exception-test-plugin-config.xml
+++ /dev/null
@@ -1,74 +0,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 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.unit</groupId>
- <artifactId>exception-test</artifactId>
- <packaging>jar</packaging>
- <version>1.0-SNAPSHOT</version>
- <inceptionYear>2006</inceptionYear>
- <name>Maven Javadoc Plugin Exception Test</name>
- <url>http://maven.apache.org</url>
- <build>
- <finalName>exception-test</finalName>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <configuration>
- <project implementation="org.apache.maven.plugins.javadoc.stubs.ExceptionTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
- <outputDirectory>exception/.. + /target/test/unit/default-configuration/target/site/apidocs</outputDirectory>
- <breakiterator>false</breakiterator>
- <old>false</old>
- <show>protected</show>
- <quiet>true</quiet>
- <verbose>false</verbose>
- <author>true</author>
- <encoding>ISO-8859-1</encoding>
- <docfilessubdirs>false</docfilessubdirs>
- <linksource>false</linksource>
- <nocomment>false</nocomment>
- <nodeprecated>false</nodeprecated>
- <nodeprecatedlist>false</nodeprecatedlist>
- <nohelp>false</nohelp>
- <noindex>false</noindex>
- <nonavbar>false</nonavbar>
- <nosince>false</nosince>
- <notree>false</notree>
- <serialwarn>false</serialwarn>
- <splitindex>false</splitindex>
- <stylesheet>java</stylesheet>
- <groups/>
- <tags/>
- <use>true</use>
- <version>true</version>
- <windowtitle>Maven Javadoc Plugin Exception Test 1.0-SNAPSHOT API</windowtitle>
- <links>
- <param>http://java.sun.com/j2se/1.4.2/docs/api</param>
- </links>
- <debug>true</debug>
- <failOnError>true</failOnError>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/src/test/resources/unit/docfiles-test/docfiles-test-plugin-config.xml b/src/test/resources/unit/docfiles-test/docfiles-test-plugin-config.xml
index ee16ed3..a77c595 100644
--- a/src/test/resources/unit/docfiles-test/docfiles-test-plugin-config.xml
+++ b/src/test/resources/unit/docfiles-test/docfiles-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.DocfilesTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/docfiles-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/docfiles-test/target/javadoc-bundle-options</javadocOptionsDir>
<breakiterator>false</breakiterator>
diff --git a/src/test/resources/unit/docfiles-with-java-test/docfiles-with-java-test-plugin-config.xml b/src/test/resources/unit/docfiles-with-java-test/docfiles-with-java-test-plugin-config.xml
index c8fdaa5..cb7d631 100644
--- a/src/test/resources/unit/docfiles-with-java-test/docfiles-with-java-test-plugin-config.xml
+++ b/src/test/resources/unit/docfiles-with-java-test/docfiles-with-java-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.DocfilesWithJavaTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/docfiles-with-java-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/docfiles-with-java-test/target/javadoc-bundle-options</javadocOptionsDir>
<javadocDirectory>${basedir}/src/test/resources/unit/docfiles-with-java-test/src/main</javadocDirectory>
diff --git a/src/test/resources/unit/doclet-path-test/doclet-path-test-plugin-config.xml b/src/test/resources/unit/doclet-path-test/doclet-path-test-plugin-config.xml
index 48013b0..e3ced15 100644
--- a/src/test/resources/unit/doclet-path-test/doclet-path-test-plugin-config.xml
+++ b/src/test/resources/unit/doclet-path-test/doclet-path-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.DocletPathTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/doclet-path-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/doclet-path-test/target/javadoc-bundle-options</javadocOptionsDir>
<doclet>UmlGraph</doclet>
diff --git a/src/test/resources/unit/doclet-test/doclet-test-plugin-config.xml b/src/test/resources/unit/doclet-test/doclet-test-plugin-config.xml
index bd72bce..bf3f197 100644
--- a/src/test/resources/unit/doclet-test/doclet-test-plugin-config.xml
+++ b/src/test/resources/unit/doclet-test/doclet-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.DocletTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/doclet-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/doclet-test/target/javadoc-bundle-options</javadocOptionsDir>
<doclet>UmlGraph</doclet>
diff --git a/src/test/resources/unit/file-include-exclude-test/file-include-exclude-plugin-config.xml b/src/test/resources/unit/file-include-exclude-test/file-include-exclude-plugin-config.xml
index 27ace18..6289999 100644
--- a/src/test/resources/unit/file-include-exclude-test/file-include-exclude-plugin-config.xml
+++ b/src/test/resources/unit/file-include-exclude-test/file-include-exclude-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.SubpackagesTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/file-include-exclude-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/file-include-exclude-test/target/javadoc-bundle-options</javadocOptionsDir>
<breakiterator>false</breakiterator>
diff --git a/src/test/resources/unit/fix-test/pom.xml b/src/test/resources/unit/fix-test/pom.xml
index cb29775..4ecea4f 100644
--- a/src/test/resources/unit/fix-test/pom.xml
+++ b/src/test/resources/unit/fix-test/pom.xml
@@ -25,10 +25,10 @@
<version>1.1-SNAPSHOT</version>
<name>Javadoc Test Project</name>
<packaging>jar</packaging>
-
+
<properties>
- <maven.compiler.source>1.5</maven.compiler.source>
- <maven.compiler.target>1.5</maven.compiler.target>
+ <maven.compiler.source>8</maven.compiler.source>
+ <maven.compiler.target>8</maven.compiler.target>
</properties>
<build>
@@ -43,7 +43,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.FixMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/fix-test/target/generated</outputDirectory>
<defaultSince>1.1-SNAPSHOT</defaultSince>
<encoding>UTF-8</encoding>
diff --git a/src/test/resources/unit/header-footer-test/header-footer-test-plugin-config.xml b/src/test/resources/unit/header-footer-test/header-footer-test-plugin-config.xml
index b1a415b..3793d12 100644
--- a/src/test/resources/unit/header-footer-test/header-footer-test-plugin-config.xml
+++ b/src/test/resources/unit/header-footer-test/header-footer-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.HeaderFooterTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/header-footer-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/header-footer-test/target/javadoc-bundle-options</javadocOptionsDir>
<show>protected</show>
diff --git a/src/test/resources/unit/helpfile-test/artifact-helpfile/org/apache/maven/plugins/maven-javadoc-plugin/unit/helpfile-test/1.0-SNAPSHOT/helpfile-test-1.0-SNAPSHOT.pom b/src/test/resources/unit/helpfile-test/artifact-helpfile/org/apache/maven/plugins/maven-javadoc-plugin/unit/helpfile-test/1.0-SNAPSHOT/helpfile-test-1.0-SNAPSHOT.pom
index 0d1d5e8..0a0da4f 100644
--- a/src/test/resources/unit/helpfile-test/artifact-helpfile/org/apache/maven/plugins/maven-javadoc-plugin/unit/helpfile-test/1.0-SNAPSHOT/helpfile-test-1.0-SNAPSHOT.pom
+++ b/src/test/resources/unit/helpfile-test/artifact-helpfile/org/apache/maven/plugins/maven-javadoc-plugin/unit/helpfile-test/1.0-SNAPSHOT/helpfile-test-1.0-SNAPSHOT.pom
@@ -35,7 +35,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.HelpFileMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/helpfile-test/target/site/apidocs</outputDirectory>
<javadocDirectory>${basedir}/src/test/resources/unit/helpfile-test/src/main/javadoc</javadocDirectory>
<breakiterator>false</breakiterator>
diff --git a/src/test/resources/unit/helpfile-test/pom.xml b/src/test/resources/unit/helpfile-test/pom.xml
index d3cd157..014927a 100644
--- a/src/test/resources/unit/helpfile-test/pom.xml
+++ b/src/test/resources/unit/helpfile-test/pom.xml
@@ -35,7 +35,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.HelpFileMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/helpfile-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/helpfile-test/target/javadoc-bundle-options</javadocOptionsDir>
<javadocDirectory>${basedir}/src/test/resources/unit/helpfile-test/src/main/javadoc</javadocDirectory>
diff --git a/src/test/resources/unit/javaHome-test/javaHome-test-plugin-config.xml b/src/test/resources/unit/javaHome-test/javaHome-test-plugin-config.xml
index b677a8a..65ef5ee 100644
--- a/src/test/resources/unit/javaHome-test/javaHome-test-plugin-config.xml
+++ b/src/test/resources/unit/javaHome-test/javaHome-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.DefaultConfigurationMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/javaHome-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/javaHome-test/target/javadoc-bundle-options</javadocOptionsDir>
<breakiterator>false</breakiterator>
diff --git a/src/test/resources/unit/javadocjar-archive-config/javadocjar-archive-config.xml b/src/test/resources/unit/javadocjar-archive-config/javadocjar-archive-config.xml
index 967e79d..f669fd3 100644
--- a/src/test/resources/unit/javadocjar-archive-config/javadocjar-archive-config.xml
+++ b/src/test/resources/unit/javadocjar-archive-config/javadocjar-archive-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.JavadocJarArchiveConfigProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<jarOutputDirectory>${basedir}/target/test/unit/javadocjar-archive-config/target</jarOutputDirectory>
<outputDirectory>${basedir}/target/test/unit/javadocjar-archive-config/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/javadocjar-archive-config/target/javadoc-bundle-options</javadocOptionsDir>
diff --git a/src/test/resources/unit/javadocjar-default/javadocjar-default-plugin-config.xml b/src/test/resources/unit/javadocjar-default/javadocjar-default-plugin-config.xml
index ca52555..2830052 100644
--- a/src/test/resources/unit/javadocjar-default/javadocjar-default-plugin-config.xml
+++ b/src/test/resources/unit/javadocjar-default/javadocjar-default-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.JavadocJarDefaultMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<jarOutputDirectory>${basedir}/target/test/unit/javadocjar-default/target</jarOutputDirectory>
<outputDirectory>${basedir}/target/test/unit/javadocjar-default/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/javadocjar-default/target/javadoc-bundle-options</javadocOptionsDir>
diff --git a/src/test/resources/unit/javadocjar-failonerror/javadocjar-failonerror-plugin-config.xml b/src/test/resources/unit/javadocjar-failonerror/javadocjar-failonerror-plugin-config.xml
index af96cfb..a91920f 100644
--- a/src/test/resources/unit/javadocjar-failonerror/javadocjar-failonerror-plugin-config.xml
+++ b/src/test/resources/unit/javadocjar-failonerror/javadocjar-failonerror-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.JavadocJarFailOnErrorMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<jarOutputDirectory>${basedir}/target/test/unit/javadocjar-failonerror/target</jarOutputDirectory>
<outputDirectory>${basedir}/target/test/unit/javadocjar-failonerror/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/javadocjar-failonerror/target/javadoc-bundle-options</javadocOptionsDir>
diff --git a/src/test/resources/unit/javadocjar-invalid-destdir/javadocjar-invalid-destdir-plugin-config.xml b/src/test/resources/unit/javadocjar-invalid-destdir/javadocjar-invalid-destdir-plugin-config.xml
index f3b8618..638c4d2 100644
--- a/src/test/resources/unit/javadocjar-invalid-destdir/javadocjar-invalid-destdir-plugin-config.xml
+++ b/src/test/resources/unit/javadocjar-invalid-destdir/javadocjar-invalid-destdir-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.JavadocJarInvalidDestdirMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<destDir>${basedir}/target/test/unit/javadocjar-invalid-destdir/target/invalid</destDir>
<jarOutputDirectory>${basedir}/target/test/unit/javadocjar-invalid-destdir/target</jarOutputDirectory>
<outputDirectory>${basedir}/target/test/unit/javadocjar-invalid-destdir/target/site/apidocs</outputDirectory>
diff --git a/src/test/resources/unit/jdk5-test/jdk5-test-plugin-config.xml b/src/test/resources/unit/jdk5-test/jdk5-test-plugin-config.xml
index 3e3ce3b..ff0d75d 100644
--- a/src/test/resources/unit/jdk5-test/jdk5-test-plugin-config.xml
+++ b/src/test/resources/unit/jdk5-test/jdk5-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.Jdk5TestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/jdk5-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/jdk5-test/target/javadoc-bundle-options</javadocOptionsDir>
<show>protected</show>
diff --git a/src/test/resources/unit/jdk6-test/jdk6-test-plugin-config.xml b/src/test/resources/unit/jdk6-test/jdk6-test-plugin-config.xml
index 890041b..5221029 100644
--- a/src/test/resources/unit/jdk6-test/jdk6-test-plugin-config.xml
+++ b/src/test/resources/unit/jdk6-test/jdk6-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.Jdk6TestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/jdk6-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/jdk6-test/target/javadoc-bundle-options</javadocOptionsDir>
<show>protected</show>
diff --git a/src/test/resources/unit/newline-test/newline-test-plugin-config.xml b/src/test/resources/unit/newline-test/newline-test-plugin-config.xml
index e2cf55b..447134e 100644
--- a/src/test/resources/unit/newline-test/newline-test-plugin-config.xml
+++ b/src/test/resources/unit/newline-test/newline-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.NewlineTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/newline-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/newline-test/target/javadoc-bundle-options</javadocOptionsDir>
<show>protected</show>
diff --git a/src/test/resources/unit/optionsumlautencoding-test/optionsumlautencoding-test-plugin-config.xml b/src/test/resources/unit/optionsumlautencoding-test/optionsumlautencoding-test-plugin-config.xml
index 3a242f0..88a4555 100644
--- a/src/test/resources/unit/optionsumlautencoding-test/optionsumlautencoding-test-plugin-config.xml
+++ b/src/test/resources/unit/optionsumlautencoding-test/optionsumlautencoding-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.OptionsUmlautEncodingMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/optionsumlautencoding-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/optionsumlautencoding-test/target/javadoc-bundle-options</javadocOptionsDir>
<breakiterator>false</breakiterator>
diff --git a/src/test/resources/unit/pom-test/pom-test-plugin-config.xml b/src/test/resources/unit/pom-test/pom-test-plugin-config.xml
index 2f25775..5927706 100644
--- a/src/test/resources/unit/pom-test/pom-test-plugin-config.xml
+++ b/src/test/resources/unit/pom-test/pom-test-plugin-config.xml
@@ -40,7 +40,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.PomMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/pom-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/pom-test/target/javadoc-bundle-options</javadocOptionsDir>
<show>protected</show>
diff --git a/src/test/resources/unit/proxy-test/proxy-test-plugin-config.xml b/src/test/resources/unit/proxy-test/proxy-test-plugin-config.xml
index b39866f..4830790 100644
--- a/src/test/resources/unit/proxy-test/proxy-test-plugin-config.xml
+++ b/src/test/resources/unit/proxy-test/proxy-test-plugin-config.xml
@@ -35,7 +35,6 @@
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.ProxyTestMavenProjectStub"/>
<settings implementation="org.apache.maven.plugins.javadoc.stubs.SettingsStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/proxy-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/proxy-test/target/javadoc-bundle-options</javadocOptionsDir>
<show>protected</show>
diff --git "a/src/test/resources/unit/quotedpath\047test/quotedpath-test-plugin-config.xml" "b/src/test/resources/unit/quotedpath\047test/quotedpath-test-plugin-config.xml"
index aa04cff..7e38262 100644
--- "a/src/test/resources/unit/quotedpath\047test/quotedpath-test-plugin-config.xml"
+++ "b/src/test/resources/unit/quotedpath\047test/quotedpath-test-plugin-config.xml"
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.QuotedPathMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/quotedpath'test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/quotedpath'test/target/javadoc-bundle-options</javadocOptionsDir>
<breakiterator>false</breakiterator>
diff --git a/src/test/resources/unit/resources-test/resources-test-plugin-config.xml b/src/test/resources/unit/resources-test/resources-test-plugin-config.xml
index a3008d8..f379b7e 100644
--- a/src/test/resources/unit/resources-test/resources-test-plugin-config.xml
+++ b/src/test/resources/unit/resources-test/resources-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.ResourcesTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/resources-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/resources-test/target/javadoc-bundle-options</javadocOptionsDir>
<windowtitle>Maven Javadoc Plugin resources 1.0-SNAPSHOT API</windowtitle>
diff --git a/src/test/resources/unit/resources-with-excludes-test/resources-with-excludes-test-plugin-config.xml b/src/test/resources/unit/resources-with-excludes-test/resources-with-excludes-test-plugin-config.xml
index 117895c..4ebfbf1 100644
--- a/src/test/resources/unit/resources-with-excludes-test/resources-with-excludes-test-plugin-config.xml
+++ b/src/test/resources/unit/resources-with-excludes-test/resources-with-excludes-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.ResourcesWithExcludesTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/resources-with-excludes-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/resources-with-excludes-test/target/javadoc-bundle-options</javadocOptionsDir>
<windowtitle>Maven Javadoc Plugin resources 1.0-SNAPSHOT API</windowtitle>
diff --git a/src/test/resources/unit/stylesheetfile-test/artifact-stylesheetfile/org/apache/maven/plugins/maven-javadoc-plugin/unit/stylesheetfile-test/1.0-SNAPSHOT/stylesheetfile-test-1.0-SNAPSHOT.pom b/src/test/resources/unit/stylesheetfile-test/artifact-stylesheetfile/org/apache/maven/plugins/maven-javadoc-plugin/unit/stylesheetfile-test/1.0-SNAPSHOT/stylesheetfile-test-1.0-SNAPSHOT.pom
index 226bf39..58c7b98 100644
--- a/src/test/resources/unit/stylesheetfile-test/artifact-stylesheetfile/org/apache/maven/plugins/maven-javadoc-plugin/unit/stylesheetfile-test/1.0-SNAPSHOT/stylesheetfile-test-1.0-SNAPSHOT.pom
+++ b/src/test/resources/unit/stylesheetfile-test/artifact-stylesheetfile/org/apache/maven/plugins/maven-javadoc-plugin/unit/stylesheetfile-test/1.0-SNAPSHOT/stylesheetfile-test-1.0-SNAPSHOT.pom
@@ -35,7 +35,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.StylesheetFileMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/stylesheetfile-test/target/site/apidocs</outputDirectory>
<javadocDirectory>${basedir}/src/test/resources/unit/stylesheetfile-test/src/main/javadoc</javadocDirectory>
<breakiterator>false</breakiterator>
diff --git a/src/test/resources/unit/stylesheetfile-test/pom.xml b/src/test/resources/unit/stylesheetfile-test/pom.xml
index 0caded2..978e62a 100644
--- a/src/test/resources/unit/stylesheetfile-test/pom.xml
+++ b/src/test/resources/unit/stylesheetfile-test/pom.xml
@@ -35,7 +35,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.StylesheetFileMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/stylesheetfile-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/stylesheetfile-test/target/javadoc-bundle-options</javadocOptionsDir>
<javadocDirectory>${basedir}/src/test/resources/unit/stylesheetfile-test/src/main/javadoc</javadocDirectory>
diff --git a/src/test/resources/unit/subpackages-test/subpackages-test-plugin-config.xml b/src/test/resources/unit/subpackages-test/subpackages-test-plugin-config.xml
index 2ec1e04..a6b0467 100644
--- a/src/test/resources/unit/subpackages-test/subpackages-test-plugin-config.xml
+++ b/src/test/resources/unit/subpackages-test/subpackages-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.SubpackagesTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/subpackages-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/subpackages-test/target/javadoc-bundle-options</javadocOptionsDir>
<breakiterator>false</breakiterator>
diff --git a/src/test/resources/unit/tag-test/tag-test-plugin-config.xml b/src/test/resources/unit/tag-test/tag-test-plugin-config.xml
index b49d504..eb8b6e5 100644
--- a/src/test/resources/unit/tag-test/tag-test-plugin-config.xml
+++ b/src/test/resources/unit/tag-test/tag-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.TagTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/tag-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/tag-test/target/javadoc-bundle-options</javadocOptionsDir>
<windowtitle>Maven Javadoc Plugin tag 1.0-SNAPSHOT API</windowtitle>
diff --git a/src/test/resources/unit/taglet-test/taglet-test-plugin-config.xml b/src/test/resources/unit/taglet-test/taglet-test-plugin-config.xml
index c9d3988..ef6dbca 100644
--- a/src/test/resources/unit/taglet-test/taglet-test-plugin-config.xml
+++ b/src/test/resources/unit/taglet-test/taglet-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.TagletTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/taglet-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/taglet-test/target/javadoc-bundle-options</javadocOptionsDir>
<taglet>org.tullmann.taglets.ToDo</taglet>
diff --git a/src/test/resources/unit/tagletArtifacts-test/tagletArtifacts-test-plugin-config.xml b/src/test/resources/unit/tagletArtifacts-test/tagletArtifacts-test-plugin-config.xml
index 8639b55..99845e3 100644
--- a/src/test/resources/unit/tagletArtifacts-test/tagletArtifacts-test-plugin-config.xml
+++ b/src/test/resources/unit/tagletArtifacts-test/tagletArtifacts-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.TagletArtifactsMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/tagletArtifacts-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/tagletArtifacts-test/target/javadoc-bundle-options</javadocOptionsDir>
<breakiterator>false</breakiterator>
diff --git a/src/test/resources/unit/test-javadoc-test/test-javadoc-test-plugin-config.xml b/src/test/resources/unit/test-javadoc-test/test-javadoc-test-plugin-config.xml
index 0cb21da..bf0b5ff 100644
--- a/src/test/resources/unit/test-javadoc-test/test-javadoc-test-plugin-config.xml
+++ b/src/test/resources/unit/test-javadoc-test/test-javadoc-test-plugin-config.xml
@@ -40,7 +40,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.TestJavadocMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/test-javadoc-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/test-javadoc-test/target/javadoc-bundle-options</javadocOptionsDir>
<windowtitle>Maven Test Javadoc Plugin aggregate resources 1.0-SNAPSHOT API</windowtitle>
@@ -56,6 +55,7 @@
<reactorProjects>
<project implementation="org.apache.maven.plugins.javadoc.stubs.TestJavadocMavenProjectStub"/>
</reactorProjects>
+ <settings implementation="org.apache.maven.settings.Settings"/>
</configuration>
</plugin>
</plugins>
diff --git a/src/test/resources/unit/validate-options-test/conflict-options-test-plugin-config.xml b/src/test/resources/unit/validate-options-test/conflict-options-test-plugin-config.xml
index 07c343c..4999e7d 100644
--- a/src/test/resources/unit/validate-options-test/conflict-options-test-plugin-config.xml
+++ b/src/test/resources/unit/validate-options-test/conflict-options-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.StandardDocletConflictOptionsTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/validate-options-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/validate-options-test/target/javadoc-bundle-options</javadocOptionsDir>
<show>protected</show>
diff --git a/src/test/resources/unit/validate-options-test/wrong-charset-test-plugin-config.xml b/src/test/resources/unit/validate-options-test/wrong-charset-test-plugin-config.xml
index 2b4381b..c65279d 100644
--- a/src/test/resources/unit/validate-options-test/wrong-charset-test-plugin-config.xml
+++ b/src/test/resources/unit/validate-options-test/wrong-charset-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.WrongEncodingOptionsTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/validate-options-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/validate-options-test/target/javadoc-bundle-options</javadocOptionsDir>
<show>protected</show>
diff --git a/src/test/resources/unit/validate-options-test/wrong-docencoding-test-plugin-config.xml b/src/test/resources/unit/validate-options-test/wrong-docencoding-test-plugin-config.xml
index 5b744bb..35e1686 100644
--- a/src/test/resources/unit/validate-options-test/wrong-docencoding-test-plugin-config.xml
+++ b/src/test/resources/unit/validate-options-test/wrong-docencoding-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.WrongEncodingOptionsTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/validate-options-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/validate-options-test/target/javadoc-bundle-options</javadocOptionsDir>
<show>protected</show>
diff --git a/src/test/resources/unit/validate-options-test/wrong-encoding-test-plugin-config.xml b/src/test/resources/unit/validate-options-test/wrong-encoding-test-plugin-config.xml
index a60ddfd..a484eb8 100644
--- a/src/test/resources/unit/validate-options-test/wrong-encoding-test-plugin-config.xml
+++ b/src/test/resources/unit/validate-options-test/wrong-encoding-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.WrongEncodingOptionsTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/validate-options-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/validate-options-test/target/javadoc-bundle-options</javadocOptionsDir>
<show>protected</show>
diff --git a/src/test/resources/unit/validate-options-test/wrong-locale-test-plugin-config.xml b/src/test/resources/unit/validate-options-test/wrong-locale-test-plugin-config.xml
index d94e0c8..f8c564a 100644
--- a/src/test/resources/unit/validate-options-test/wrong-locale-test-plugin-config.xml
+++ b/src/test/resources/unit/validate-options-test/wrong-locale-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.WrongEncodingOptionsTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/validate-options-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/validate-options-test/target/javadoc-bundle-options</javadocOptionsDir>
<show>protected</show>
diff --git a/src/test/resources/unit/validate-options-test/wrong-locale-with-variant-test-plugin-config.xml b/src/test/resources/unit/validate-options-test/wrong-locale-with-variant-test-plugin-config.xml
index 55e8965..4ddf68e 100644
--- a/src/test/resources/unit/validate-options-test/wrong-locale-with-variant-test-plugin-config.xml
+++ b/src/test/resources/unit/validate-options-test/wrong-locale-with-variant-test-plugin-config.xml
@@ -34,7 +34,6 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<project implementation="org.apache.maven.plugins.javadoc.stubs.WrongEncodingOptionsTestMavenProjectStub"/>
- <localRepository>${localRepository}</localRepository>
<outputDirectory>${basedir}/target/test/unit/validate-options-test/target/site/apidocs</outputDirectory>
<javadocOptionsDir>${basedir}/target/test/unit/validate-options-test/target/javadoc-bundle-options</javadocOptionsDir>
<show>protected</show>