From 4b60c76cb8e6713c741b1648193323e7deaf6460 Mon Sep 17 00:00:00 2001 From: Nick Cross Date: Sun, 28 Sep 2025 10:06:24 +0100 Subject: [PATCH 1/3] Another attempt at silencing javadoc warnings --- build.gradle.kts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 03b69930..98183747 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -533,7 +533,8 @@ subprojects { } tasks.withType().configureEach { - options.quiet() + // https://github.com/gradle/gradle/issues/7038 + (options as StandardJavadocDocletOptions).addBooleanOption("Xdoclint:none", true) } tasks.withType().configureEach { From 821b12748d38751a0bf93b6e6aaea2d3ba31cd1a Mon Sep 17 00:00:00 2001 From: Nick Cross Date: Sun, 28 Sep 2025 20:28:52 +0100 Subject: [PATCH 2/3] Improve analyzer-init.gradle publishing --- analyzer/build.gradle.kts | 15 +++++++++++---- build.gradle.kts | 22 ++++------------------ manipulation/build.gradle.kts | 4 ---- 3 files changed, 15 insertions(+), 26 deletions(-) diff --git a/analyzer/build.gradle.kts b/analyzer/build.gradle.kts index 2677422a..74d1c0a5 100644 --- a/analyzer/build.gradle.kts +++ b/analyzer/build.gradle.kts @@ -174,10 +174,6 @@ tasks.named("check") { dependsOn(functionalTest) } -tasks.named("delombok") { - dependsOn("spotlessJava") -} - tasks.named("test") { dependsOn("shadowJar") } @@ -186,12 +182,23 @@ tasks.named("functionalTest") { dependsOn("shadowJar") } +// We publish the init gradle file to make it easy for tools that use the plugin to set it up +// without having to create their own init gradle file. +configurations { create("analyzerConf") } +val analyzerFile = layout.buildDirectory.file("resources/main/analyzer-init.gradle") +val prepareAnalyzerInit = artifacts.add("analyzerConf", analyzerFile.get().asFile) { + classifier = "init" + extension = "gradle" + builtBy("processResources") +} + afterEvaluate { configure { publications { getByName("pluginMaven") { artifact(testJar.get()) artifact(testSourcesJar.get()) + artifact(prepareAnalyzerInit) } } } diff --git a/build.gradle.kts b/build.gradle.kts index 98183747..d308832f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -435,24 +435,6 @@ subprojects { withType { generatePom() } - getByName(publicationComponent) { - // we publish the init gradle file to make it easy for tools that use - // the plugin to set it up without having to create their own init gradle file - if (project.name == "analyzer") { - artifact("${sourceSets["main"].output.resourcesDir}/analyzer-init.gradle") { - classifier = "init" - extension = "gradle" - } - tasks.configureEach { - if (name == "jar") { - if (isReleaseBuild) { - mustRunAfter("signPluginMavenPublication") - } - } - } - } - generatePom() - } } } } @@ -494,6 +476,10 @@ subprojects { tasks.withType { onlyIf { isReleaseBuild } + // Force ordering to avoid + // Reason: Task ':analyzer:jar' uses this output of task ':analyzer:signPluginMavenPublication' + // without declaring an explicit or implicit dependency. + mustRunAfter(tasks["jar"]) } java { sourceCompatibility = JavaVersion.VERSION_1_8 diff --git a/manipulation/build.gradle.kts b/manipulation/build.gradle.kts index 18bb6f0b..5364b5d5 100644 --- a/manipulation/build.gradle.kts +++ b/manipulation/build.gradle.kts @@ -126,10 +126,6 @@ tasks.named("check") { dependsOn(functionalTest) } -tasks.named("delombok") { - dependsOn("spotlessJava") -} - tasks.named("test") { dependsOn("shadowJar") } From bc8b0963eb5d2279b28bea234f13e80a51ca8f96 Mon Sep 17 00:00:00 2001 From: Nick Cross Date: Mon, 29 Sep 2025 14:28:09 +0100 Subject: [PATCH 3/3] Simplify usage of dependsOn --- analyzer/build.gradle.kts | 19 ++----------------- build.gradle.kts | 8 +++++--- cli/build.gradle.kts | 8 -------- manipulation/build.gradle.kts | 16 +--------------- 4 files changed, 8 insertions(+), 43 deletions(-) diff --git a/analyzer/build.gradle.kts b/analyzer/build.gradle.kts index 74d1c0a5..5b4947c0 100644 --- a/analyzer/build.gradle.kts +++ b/analyzer/build.gradle.kts @@ -131,7 +131,7 @@ idea.module { } } -val functionalTest = tasks.register("functionalTest") { +tasks.register("functionalTest") { description = "Runs functional tests" group = "verification" testClassesDirs = sourceSets["functionalTest"].output.classesDirs @@ -168,25 +168,10 @@ tasks { } } -// Implicit dependencies detected by Gradle 7 -// See -tasks.named("check") { - dependsOn(functionalTest) -} - -tasks.named("test") { - dependsOn("shadowJar") -} - -tasks.named("functionalTest") { - dependsOn("shadowJar") -} - // We publish the init gradle file to make it easy for tools that use the plugin to set it up // without having to create their own init gradle file. -configurations { create("analyzerConf") } val analyzerFile = layout.buildDirectory.file("resources/main/analyzer-init.gradle") -val prepareAnalyzerInit = artifacts.add("analyzerConf", analyzerFile.get().asFile) { +val prepareAnalyzerInit = artifacts.add("default", analyzerFile.get().asFile) { classifier = "init" extension = "gradle" builtBy("processResources") diff --git a/build.gradle.kts b/build.gradle.kts index d308832f..4ef1cd96 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -138,7 +138,7 @@ tasks.withType().configureEach { tasks.getByName("afterReleaseBuild") { dependsOn( - ":publishToCentral", ":analyzer:publishPlugins", ":manipulation:publishPlugins" + ":analyzer:publishPlugins", ":manipulation:publishPlugins", ":publishToCentral" ) } @@ -369,7 +369,7 @@ subprojects { // TODO: ### shadow 9 doesn't need this? // Make assemble/build task depend on shadowJar tasks["assemble"].dependsOn(tasks["shadowJar"]) - tasks["build"].dependsOn(tasks["shadowJar"]) + // tasks["build"].dependsOn(tasks["shadowJar"]) tasks.withType().configureEach { // ensure that a single jar is built which is the shadowed one @@ -479,7 +479,9 @@ subprojects { // Force ordering to avoid // Reason: Task ':analyzer:jar' uses this output of task ':analyzer:signPluginMavenPublication' // without declaring an explicit or implicit dependency. - mustRunAfter(tasks["jar"]) + // dependsOn(tasks["jar"]) + dependsOn(tasks["assemble"]) + mustRunAfter(tasks["test"]) } java { sourceCompatibility = JavaVersion.VERSION_1_8 diff --git a/cli/build.gradle.kts b/cli/build.gradle.kts index e6fb7fa2..d86ae96f 100644 --- a/cli/build.gradle.kts +++ b/cli/build.gradle.kts @@ -61,10 +61,6 @@ tasks { attributes["Main-Class"] = "org.jboss.gm.cli.Main" } } - - "test" { - dependsOn(":analyzer:assemble") - } } // Implicit dependencies detected by Gradle 7 @@ -74,10 +70,6 @@ tasks.named("test") { } if (org.gradle.util.GradleVersion.current() >= org.gradle.util.GradleVersion.version("5.0")) { - tasks.named("publishShadowPublicationToMavenLocal") { - dependsOn("shadowJar") - } - tasks.named("generateMetadataFileForShadowPublication") { dependsOn("jar") } diff --git a/manipulation/build.gradle.kts b/manipulation/build.gradle.kts index 5364b5d5..3c405aa2 100644 --- a/manipulation/build.gradle.kts +++ b/manipulation/build.gradle.kts @@ -112,24 +112,10 @@ idea.module { } } -val functionalTest = tasks.register("functionalTest") { +tasks.register("functionalTest") { description = "Runs functional tests" group = "verification" testClassesDirs = sourceSets["functionalTest"].output.classesDirs classpath = sourceSets["functionalTest"].runtimeClasspath mustRunAfter(tasks["test"]) } - -// Implicit dependencies detected by Gradle 7 -// See -tasks.named("check") { - dependsOn(functionalTest) -} - -tasks.named("test") { - dependsOn("shadowJar") -} - -tasks.named("functionalTest") { - dependsOn("shadowJar") -}