From bab03cc1f9607809b1b1ab5ef04b016375fc548a Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 12 Dec 2025 10:38:36 -0800 Subject: [PATCH 1/4] Better definition `requireJavadoc` task --- build.gradle | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index c87067e71..5b686ed98 100644 --- a/build.gradle +++ b/build.gradle @@ -267,9 +267,10 @@ tasks.register("requireJavadoc", JavaExec) { dependsOn(jar) group = "Documentation" description = "Ensures that Javadoc documentation exists." + inputs.files(sourceSets.main.allJava) mainClass = "org.plumelib.javadoc.RequireJavadoc" classpath = configurations.requireJavadoc - args("src/main/java") + args(sourceSets.main.allJava.srcDirs.collect{it.getAbsolutePath()}) jvmArgs += [ "--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED", "--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED", From f79f3bd2949d3aca81b6fc2802920bdb1097497b Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 12 Dec 2025 10:42:22 -0800 Subject: [PATCH 2/4] Fix indentation --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 5b686ed98..d30908718 100644 --- a/build.gradle +++ b/build.gradle @@ -267,7 +267,7 @@ tasks.register("requireJavadoc", JavaExec) { dependsOn(jar) group = "Documentation" description = "Ensures that Javadoc documentation exists." - inputs.files(sourceSets.main.allJava) + inputs.files(sourceSets.main.allJava) mainClass = "org.plumelib.javadoc.RequireJavadoc" classpath = configurations.requireJavadoc args(sourceSets.main.allJava.srcDirs.collect{it.getAbsolutePath()}) From 3c17de91cc2bcf4d2d81f85f1a9881e5ce290dd5 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 12 Dec 2025 10:47:35 -0800 Subject: [PATCH 3/4] Add `def` to task registration --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index d30908718..ea5cc8bf7 100644 --- a/build.gradle +++ b/build.gradle @@ -261,7 +261,7 @@ configurations { dependencies { requireJavadoc("org.plumelib:require-javadoc:2.0.0") } -tasks.register("requireJavadoc", JavaExec) { +def requireJavadoc = tasks.register("requireJavadoc", JavaExec) { // Gradle resolves requireJavadoc's Option dependency to the jar built by this project, // so declare an explicit dependency on jar. dependsOn(jar) From 5df0b2f74a3a76fa758cea0c74be878b9838ca90 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Sat, 20 Dec 2025 08:44:32 -0800 Subject: [PATCH 4/4] No longer Java source version 8 --- build.gradle | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/build.gradle b/build.gradle index ea5cc8bf7..85d09b1c9 100644 --- a/build.gradle +++ b/build.gradle @@ -115,15 +115,12 @@ tasks.withType(JavaCompile).configureEach { options.forkOptions.jvmArgs += "-Xmx6g" options.compilerArgs << "-Werror" // "-processing" avoids javac warning "No processor claimed any of these annotations". - // "-options" is because of JDK 21 warning "source value 8 is obsolete..." // "-classfile" is because of classgraph and https://bugs.openjdk.java.net/browse/JDK-8190452 if (isJava21orHigher) { - options.compilerArgs << "-Xlint:all,-processing,-options,-classfile,-this-escape" + options.compilerArgs << "-Xlint:all,-processing,-classfile,-this-escape" } else { - options.compilerArgs << "-Xlint:all,-processing,-options,-classfile" + options.compilerArgs << "-Xlint:all,-processing,-classfile" } - // // Only needed when debugging. - // options.compilerArgs << "-g" } if (isJava21orHigher) { apply plugin: "net.ltgt.errorprone" @@ -262,9 +259,6 @@ dependencies { requireJavadoc("org.plumelib:require-javadoc:2.0.0") } def requireJavadoc = tasks.register("requireJavadoc", JavaExec) { - // Gradle resolves requireJavadoc's Option dependency to the jar built by this project, - // so declare an explicit dependency on jar. - dependsOn(jar) group = "Documentation" description = "Ensures that Javadoc documentation exists." inputs.files(sourceSets.main.allJava)