Skip to content

Commit fa48a4d

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

File tree

4 files changed

+53
-27
lines changed

4 files changed

+53
-27
lines changed

.github/workflows/build-natives.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -317,16 +317,16 @@ jobs:
317317

318318
- name: Release example
319319
uses: softprops/action-gh-release@v1
320-
if: ${{ github.ref == 'refs/heads/main' && startsWith(github.ref, 'refs/tags/') }}
320+
if: ${{ startsWith(github.ref, 'refs/tags/') }}
321321
with:
322322
draft: true
323323
files: example/build/libs/example-all.jar
324324

325325
- name: Release?
326-
if: ${{ github.ref == 'refs/heads/main' && startsWith(github.ref, 'refs/tags/') }}
326+
if: ${{ startsWith(github.ref, 'refs/tags/') }}
327327
run: echo "IS_RELEASE=true" >> $GITHUB_ENV
328328
- name: Release to Maven Central
329-
if: ${{ github.ref == 'refs/heads/main' }}
329+
if: ${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/') }}
330330
env:
331331
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
332332
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}

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
}

publish.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ afterEvaluate { project ->
2222
fromResolutionResult()
2323
}
2424
}
25+
}
2526

27+
withType(MavenPublication).configureEach {
2628
setPom(pom, '')
2729
}
2830
}

0 commit comments

Comments
 (0)