You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2021/08/23 17:25:15 UTC
[maven-javadoc-plugin] branch master updated: [MJAVADOC-680] JDK
16+: Error fetching link: ...\target\javadoc-bundle-options. Ignored it.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git
The following commit(s) were added to refs/heads/master by this push:
new d770460 [MJAVADOC-680] JDK 16+: Error fetching link: ...\target\javadoc-bundle-options. Ignored it.
d770460 is described below
commit d770460b765d2a3ccb9594a1a016c6700501861f
Author: rfscholte <rf...@apache.org>
AuthorDate: Mon Aug 23 19:24:28 2021 +0200
[MJAVADOC-680] JDK 16+: Error fetching link: ...\target\javadoc-bundle-options. Ignored it.
---
.../MJAVADOC-580_detectLinks/verify.groovy | 14 +++++-
.../maven/plugins/javadoc/AbstractJavadocMojo.java | 4 ++
.../maven/plugins/javadoc/JavadocReportTest.java | 51 ++++++++++++----------
3 files changed, 45 insertions(+), 24 deletions(-)
diff --git a/src/it/projects/MJAVADOC-580_detectLinks/verify.groovy b/src/it/projects/MJAVADOC-580_detectLinks/verify.groovy
index c296a4e..6fa229a 100644
--- a/src/it/projects/MJAVADOC-580_detectLinks/verify.groovy
+++ b/src/it/projects/MJAVADOC-580_detectLinks/verify.groovy
@@ -17,5 +17,15 @@
* under the License.
*/
-def buildLog = new File(basedir,'build.log')
-assert buildLog.readLines().any{ it ==~ /\[DEBUG\] Found Java API link: .*\/javase\/\d+\/docs\/api\// }
+def javaVersion = System.getProperty( 'java.specification.version' )
+
+if ( javaVersion.startsWith('1.') || Integer.parseInt(javaVersion) < 16 )
+{
+ def buildLog = new File(basedir,'build.log')
+ assert buildLog.readLines().any{ it ==~ /\[DEBUG\] Found Java API link: .*\/javase\/\d+\/docs\/api\// }
+}
+else
+{
+ def barHtml = new File(basedir,'target/site/apidocs/foo/Bar.html')
+ assert barHtml.text =~ /<a href="https:[^"]+Object.html"/
+}
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 bc81ff6..41d3b2c 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
@@ -6596,6 +6596,10 @@ public abstract class AbstractJavadocMojo
{
javaApiLink = javaApiLinks.getProperty( javaApiKey );
}
+ else if ( javaApiversion.isAtLeast( "16" ) )
+ {
+ javaApiLink = null; // JDK-8216497
+ }
else if ( javaApiversion.isAtLeast( "11" ) )
{
javaApiLink =
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 7ade1a6..3dc5ffd 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java
@@ -257,35 +257,42 @@ public class JavadocReportTest
Path generatedFile = apidocs.resolve( appHtml );
assertThat( generatedFile ).exists();
- // only test when URL can be reached
-
- String url = Objects.requireNonNull( mojo.getDefaultJavadocApiLink() ).getUrl();
- HttpURLConnection connection = (HttpURLConnection) new URL( url ).openConnection();
- connection.setRequestMethod( "HEAD" );
- try
+ if ( JavaVersion.JAVA_SPECIFICATION_VERSION.isBefore( "16" ) )
{
- if ( connection.getResponseCode() == HttpURLConnection.HTTP_OK )
+ String url = Objects.requireNonNull( mojo.getDefaultJavadocApiLink() ).getUrl();
+ HttpURLConnection connection = (HttpURLConnection) new URL( url ).openConnection();
+ connection.setRequestMethod( "HEAD" );
+ try
{
- try
+ // only test when URL can be reached
+ if ( connection.getResponseCode() == HttpURLConnection.HTTP_OK )
{
- assumeThat( connection.getURL().toString(), is( url ) );
-
- // https://bugs.openjdk.java.net/browse/JDK-8216497
- MatcherAssert.assertThat( url + " available, but " + appHtml + " is missing link to java.lang.Object",
- new String( Files.readAllBytes(generatedFile), StandardCharsets.UTF_8 ),
- anyOf( containsString( "/docs/api/java/lang/Object.html" ),
- containsString( "/docs/api/java.base/java/lang/Object.html" ) ) );
- }
- catch ( AssumptionViolatedException e )
- {
- LOGGER.warn( "ignoring defaultAPI check: {}", e.getMessage() );
+ try
+ {
+ assumeThat( connection.getURL().toString(), is( url ) );
+
+ // https://bugs.openjdk.java.net/browse/JDK-8216497
+ MatcherAssert.assertThat( url + " available, but " + appHtml + " is missing link to java.lang.Object",
+ new String( Files.readAllBytes(generatedFile), StandardCharsets.UTF_8 ),
+ anyOf( containsString( "/docs/api/java/lang/Object.html" ),
+ containsString( "/docs/api/java.base/java/lang/Object.html" ) ) );
+ }
+ catch ( AssumptionViolatedException e )
+ {
+ LOGGER.warn( "ignoring defaultAPI check: {}", e.getMessage() );
+ }
}
}
+ catch (Exception e)
+ {
+ LOGGER.error("error connecting to javadoc URL: {}", url);
+ throw e;
+ }
}
- catch (Exception e)
+ else
{
- LOGGER.error("error connecting to javadoc URL: {}", url);
- throw e;
+ MatcherAssert.assertThat( new String( Files.readAllBytes(generatedFile), StandardCharsets.UTF_8 ),
+ containsString( "/docs/api/java.base/java/lang/Object.html" ) );
}
assertThat( apidocs.resolve( "def/configuration/AppSample.html" )).exists();