Skip to content

Commit ab52ac0

Browse files
committed
build: fix javadoc build tasks
1 parent f819724 commit ab52ac0

File tree

2 files changed

+48
-24
lines changed

2 files changed

+48
-24
lines changed

build.gradle

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,6 @@ subprojects { it ->
3333
}
3434
}
3535

36-
ext {
37-
jdk = JavaVersion.current().majorVersion
38-
jdkJavadoc = "https://docs.oracle.com/javase/8/docs/api/"
39-
println "JDK Javadoc link for this build is ${rootProject.jdkJavadoc}"
40-
}
41-
4236
apply from: 'jacoco.gradle'
4337

4438
configure([
@@ -55,6 +49,15 @@ configure([
5549
apply from: project(':').file('publish.gradle')
5650
}
5751

52+
53+
apply plugin: 'java'
54+
java {
55+
toolchain {
56+
languageVersion = JavaLanguageVersion.of(17)
57+
}
58+
}
59+
60+
// Javadoc configs. See javadoc.gradle.
5861
tasks.register('allJavadoc', Javadoc) {
5962
Set<String> projects = [
6063
'lua51',
@@ -78,11 +81,17 @@ tasks.register('allJavadoc', Javadoc) {
7881
destinationDir = layout.buildDirectory.file("docs/javadoc").get().asFile
7982

8083
title = "${project.name} $version"
81-
options.header = "$project.name"
82-
options.encoding = 'UTF-8'
83-
options.memberLevel = JavadocMemberLevel.PROTECTED
84-
options.links([
85-
rootProject.jdkJavadoc,
86-
"https://javadoc.io/doc/com.badlogicgames.jnigen/jnigen-loader/latest/",
87-
] as String[])
84+
(options as StandardJavadocDocletOptions).with {
85+
header = "$project.name"
86+
encoding = 'UTF-8'
87+
memberLevel = JavadocMemberLevel.PROTECTED
88+
linksOffline(
89+
"https://docs.oracle.com/javase/8/docs/api/",
90+
"https://docs.oracle.com/en/java/javase/25/docs/api/",
91+
)
92+
linksOffline(
93+
"https://javadoc.io/doc/com.badlogicgames.jnigen/jnigen-loader/3.1.1/",
94+
"https://javadoc.io/doc/com.badlogicgames.jnigen/jnigen-loader/3.1.1/",
95+
)
96+
}
8897
}

javadoc.gradle

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,38 @@
1616

1717
apply plugin: 'java-library'
1818

19+
java {
20+
toolchain {
21+
// We generally don't care about the toolchain version as long as
22+
// it is Java 8 compatible.
23+
// But older Javadoc will fail because online links are moving away
24+
// from package-list to element-list.
25+
languageVersion = JavaLanguageVersion.of(17)
26+
}
27+
}
28+
1929
javadoc {
2030
dependsOn jar
2131
group = 'documentation'
2232
description = 'Generates aggregated Javadoc API documentation.'
2333

24-
title = "${project.name} $version"
25-
options.header = "$project.name"
26-
options.encoding = 'UTF-8'
27-
options.memberLevel = JavadocMemberLevel.PROTECTED
28-
29-
options.links([
30-
rootProject.jdkJavadoc,
31-
"https://javadoc.io/doc/com.badlogicgames.jnigen/jnigen-loader/latest/",
32-
] as String[])
34+
title = "${project.name} $project.version"
35+
(options as StandardJavadocDocletOptions).with {
36+
header = "$project.name"
37+
encoding = 'UTF-8'
38+
memberLevel = JavadocMemberLevel.PROTECTED
39+
linksOffline(
40+
"https://docs.oracle.com/javase/8/docs/api/",
41+
"https://docs.oracle.com/en/java/javase/25/docs/api/",
42+
)
43+
linksOffline(
44+
"https://javadoc.io/doc/com.badlogicgames.jnigen/jnigen-loader/3.1.1/",
45+
"https://javadoc.io/doc/com.badlogicgames.jnigen/jnigen-loader/3.1.1/",
46+
)
3347

34-
options.tags = ['apiNote:a:API Note:', 'implSpec:a:Implementation Requirements:',
35-
'implNote:a:Implementation Note:']
48+
tags = ['apiNote:a:API Note:', 'implSpec:a:Implementation Requirements:',
49+
'implNote:a:Implementation Note:']
50+
}
3651

3752
classpath += sourceSets.main.compileClasspath
3853
}

0 commit comments

Comments
 (0)