@@ -6,8 +6,13 @@ import org.gradle.api.tasks.javadoc.Javadoc
66import org.gradle.external.javadoc.JavadocMemberLevel
77import org.gradle.external.javadoc.StandardJavadocDocletOptions
88import org.gradle.kotlin.dsl.getting
9+ import kotlin.math.max
910
10- fun Project.configureJavadoc (failOnError : Boolean , overviewFile : String? ) = tasks.getting(Javadoc ::class ) {
11+ fun Project.configureJavadoc (
12+ targetVersion : JavaVersion ,
13+ failOnError : Boolean ,
14+ overviewFile : String? ,
15+ ) = tasks.getting(Javadoc ::class ) {
1116 isFailOnError = failOnError
1217
1318 (options as ? StandardJavadocDocletOptions )?.apply {
@@ -16,12 +21,16 @@ fun Project.configureJavadoc(failOnError: Boolean, overviewFile: String?) = task
1621
1722 author()
1823 tags(" incubating:a:Incubating:" )
19- links(" https://docs.oracle.com/en/java/javase/17/docs/api/" , " https://takahikokawasaki.github.io/nv-websocket-client/" )
24+ // We compile to Java 8 but JDK 8 docs don't seem to supply `element-list` anymore, failing the build
25+ // so we'll be using the closest valid link (JDK 11) instead.
26+ // Failing: https://docs.oracle.com/javase/8/docs/api/element-list
27+ val effectiveJdkDocsVersion = max(11 , targetVersion.majorVersion.toInt())
28+ links(" https://docs.oracle.com/en/java/javase/${effectiveJdkDocsVersion} /docs/api/" , " https://takahikokawasaki.github.io/nv-websocket-client/" )
2029
2130 val javaVersion = JavaVersion .current()
2231 if (JavaVersion .VERSION_1_8 < javaVersion) {
2332 addBooleanOption(" html5" , true ) // Adds search bar
24- addStringOption(" -release" , " 8 " )
33+ addStringOption(" -release" , targetVersion.majorVersion )
2534 }
2635
2736 // Fix for https://stackoverflow.com/questions/52326318/maven-javadoc-search-redirects-to-undefined-url
0 commit comments