From 957666e1a968cc4683f7cbb4daebb3391e753826 Mon Sep 17 00:00:00 2001 From: Idel Pivnitskiy Date: Thu, 2 Jan 2025 19:25:44 -0800 Subject: [PATCH 01/10] Add dependency-analysis-gradle-plugin Motivation: The Dependency Analysis Gradle Plugin (DAGP) detects the following problems with dependencies: unused dependencies, used transitive dependencies that should be declared directly, dependencies declared on the wrong configuration. Modifications: - Add new plugin dependency as part of our `servicetalk-gradle-plugin-internal`; - Apply it for libraries to enable `projectHealth` task; - Apply it for root projects to enable `buildHealth` task that generates full report in a file; - Add `dependencyAnalysis` task and bundle it as part of `quality` task to allow validation via CI pipelines; - Make sure `copySourcesForJersey3` task always executes before `dependencyAnalysis` as it depends on copied source code; Result: We can automatically detect issues with dependencies. --- gradle.properties | 1 + .../build.gradle | 3 +++ .../build.gradle | 3 +++ .../build.gradle | 3 +++ .../build.gradle | 3 +++ .../plugin-config.gradle | 1 + .../plugin/internal/ProjectUtils.groovy | 3 +++ .../internal/ServiceTalkLibraryPlugin.groovy | 26 +++++++++++++++++++ .../internal/ServiceTalkRootPlugin.groovy | 7 +++++ .../build.gradle | 3 +++ .../build.gradle | 3 +++ .../build.gradle | 3 +++ .../build.gradle | 3 +++ .../build.gradle | 3 +++ .../build.gradle | 3 +++ 15 files changed, 68 insertions(+) diff --git a/gradle.properties b/gradle.properties index 66831d41e4..b23ba51e61 100644 --- a/gradle.properties +++ b/gradle.properties @@ -95,6 +95,7 @@ mockitoCoreVersion=5.14.2 # mockito version is overridden for Date: Fri, 3 Jan 2025 09:54:53 -0800 Subject: [PATCH 02/10] In first iteration quality task fails due to JDK11vs8 conflict. Second iteration did not help. --- servicetalk-data-jackson-jersey3-jakarta10/build.gradle | 6 ++++-- servicetalk-data-jackson-jersey3-jakarta9/build.gradle | 6 ++++-- servicetalk-data-protobuf-jersey3-jakarta10/build.gradle | 6 ++++-- servicetalk-data-protobuf-jersey3-jakarta9/build.gradle | 6 ++++-- servicetalk-gradle-plugin-internal/plugin-config.gradle | 2 ++ .../build.gradle | 6 ++++-- servicetalk-http-router-jersey3-jakarta10/build.gradle | 6 ++++-- .../build.gradle | 6 ++++-- servicetalk-http-router-jersey3-jakarta9/build.gradle | 6 ++++-- servicetalk-http-security-jersey3-jakarta10/build.gradle | 6 ++++-- servicetalk-http-security-jersey3-jakarta9/build.gradle | 6 ++++-- 11 files changed, 42 insertions(+), 20 deletions(-) diff --git a/servicetalk-data-jackson-jersey3-jakarta10/build.gradle b/servicetalk-data-jackson-jersey3-jakarta10/build.gradle index 0c362f099d..e17cf33e3e 100644 --- a/servicetalk-data-jackson-jersey3-jakarta10/build.gradle +++ b/servicetalk-data-jackson-jersey3-jakarta10/build.gradle @@ -68,8 +68,10 @@ tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +if (tasks.findByName("dependencyAnalysis")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } } def actualJerseyVersion = "${jersey3VersionEE10}" diff --git a/servicetalk-data-jackson-jersey3-jakarta9/build.gradle b/servicetalk-data-jackson-jersey3-jakarta9/build.gradle index 968c80be1a..a91cf9e29d 100644 --- a/servicetalk-data-jackson-jersey3-jakarta9/build.gradle +++ b/servicetalk-data-jackson-jersey3-jakarta9/build.gradle @@ -68,8 +68,10 @@ tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +if (tasks.findByName("dependencyAnalysis")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } } def actualJerseyVersion = "${jersey3VersionEE9}" diff --git a/servicetalk-data-protobuf-jersey3-jakarta10/build.gradle b/servicetalk-data-protobuf-jersey3-jakarta10/build.gradle index ff2a43f6ed..4b7e6dd609 100644 --- a/servicetalk-data-protobuf-jersey3-jakarta10/build.gradle +++ b/servicetalk-data-protobuf-jersey3-jakarta10/build.gradle @@ -76,8 +76,10 @@ tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.generateTestProto.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +if (tasks.findByName("dependencyAnalysis")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } } def actualJerseyVersion = "${jersey3VersionEE10}" diff --git a/servicetalk-data-protobuf-jersey3-jakarta9/build.gradle b/servicetalk-data-protobuf-jersey3-jakarta9/build.gradle index d5c4cdde4b..3dc55ba9af 100644 --- a/servicetalk-data-protobuf-jersey3-jakarta9/build.gradle +++ b/servicetalk-data-protobuf-jersey3-jakarta9/build.gradle @@ -76,8 +76,10 @@ tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.generateTestProto.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +if (tasks.findByName("dependencyAnalysis")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } } def actualJerseyVersion = "${jersey3VersionEE9}" diff --git a/servicetalk-gradle-plugin-internal/plugin-config.gradle b/servicetalk-gradle-plugin-internal/plugin-config.gradle index 060e3d7a89..ef09f71b00 100644 --- a/servicetalk-gradle-plugin-internal/plugin-config.gradle +++ b/servicetalk-gradle-plugin-internal/plugin-config.gradle @@ -23,6 +23,8 @@ dependencies { implementation localGroovy() implementation "com.github.spotbugs.snom:spotbugs-gradle-plugin:$props.spotbugsPluginVersion" implementation "com.autonomousapps:dependency-analysis-gradle-plugin:$props.dependencyAnalysisPluginVersion" + if (JavaVersion.current().isJava11Compatible()) { + } } gradlePlugin { diff --git a/servicetalk-http-router-jersey3-jakarta10-internal/build.gradle b/servicetalk-http-router-jersey3-jakarta10-internal/build.gradle index 2bd21febc3..6f27567a1a 100644 --- a/servicetalk-http-router-jersey3-jakarta10-internal/build.gradle +++ b/servicetalk-http-router-jersey3-jakarta10-internal/build.gradle @@ -63,8 +63,10 @@ task copySourcesForJersey3(type: Copy) { tasks.processResources.dependsOn(copySourcesForJersey3) tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +if (tasks.findByName("dependencyAnalysis")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } } def actualJerseyVersion = "${jersey3VersionEE10}" diff --git a/servicetalk-http-router-jersey3-jakarta10/build.gradle b/servicetalk-http-router-jersey3-jakarta10/build.gradle index 9d9776be06..1aaf186d9f 100644 --- a/servicetalk-http-router-jersey3-jakarta10/build.gradle +++ b/servicetalk-http-router-jersey3-jakarta10/build.gradle @@ -70,8 +70,10 @@ tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +if (tasks.findByName("dependencyAnalysis")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } } def actualJerseyVersion = "${jersey3VersionEE10}" diff --git a/servicetalk-http-router-jersey3-jakarta9-internal/build.gradle b/servicetalk-http-router-jersey3-jakarta9-internal/build.gradle index c796094a9e..b5915cf46c 100644 --- a/servicetalk-http-router-jersey3-jakarta9-internal/build.gradle +++ b/servicetalk-http-router-jersey3-jakarta9-internal/build.gradle @@ -63,8 +63,10 @@ task copySourcesForJersey3(type: Copy) { tasks.processResources.dependsOn(copySourcesForJersey3) tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +if (tasks.findByName("dependencyAnalysis")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } } def actualJerseyVersion = "${jersey3VersionEE9}" diff --git a/servicetalk-http-router-jersey3-jakarta9/build.gradle b/servicetalk-http-router-jersey3-jakarta9/build.gradle index bf83c01f93..c4dc05b652 100644 --- a/servicetalk-http-router-jersey3-jakarta9/build.gradle +++ b/servicetalk-http-router-jersey3-jakarta9/build.gradle @@ -70,8 +70,10 @@ tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +if (tasks.findByName("dependencyAnalysis")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } } def actualJerseyVersion = "${jersey3VersionEE9}" diff --git a/servicetalk-http-security-jersey3-jakarta10/build.gradle b/servicetalk-http-security-jersey3-jakarta10/build.gradle index 02c3186074..dab63a548f 100644 --- a/servicetalk-http-security-jersey3-jakarta10/build.gradle +++ b/servicetalk-http-security-jersey3-jakarta10/build.gradle @@ -69,8 +69,10 @@ tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +if (tasks.findByName("dependencyAnalysis")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } } def actualJerseyVersion = "${jersey3VersionEE10}" diff --git a/servicetalk-http-security-jersey3-jakarta9/build.gradle b/servicetalk-http-security-jersey3-jakarta9/build.gradle index 807f40198e..e66240e57b 100644 --- a/servicetalk-http-security-jersey3-jakarta9/build.gradle +++ b/servicetalk-http-security-jersey3-jakarta9/build.gradle @@ -69,8 +69,10 @@ tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +if (tasks.findByName("dependencyAnalysis")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } } def actualJerseyVersion = "${jersey3VersionEE9}" From 99d6d1e21805127d7aa51a5a6232caabd9c06644 Mon Sep 17 00:00:00 2001 From: Idel Pivnitskiy Date: Fri, 3 Jan 2025 10:58:25 -0800 Subject: [PATCH 03/10] Revert "In first iteration quality task fails due to JDK11vs8 conflict." This reverts commit dd2ffbb4ecafe39c2933d5ff18c8e9e1b87a884a. --- servicetalk-data-jackson-jersey3-jakarta10/build.gradle | 6 ++---- servicetalk-data-jackson-jersey3-jakarta9/build.gradle | 6 ++---- servicetalk-data-protobuf-jersey3-jakarta10/build.gradle | 6 ++---- servicetalk-data-protobuf-jersey3-jakarta9/build.gradle | 6 ++---- servicetalk-gradle-plugin-internal/plugin-config.gradle | 2 -- .../build.gradle | 6 ++---- servicetalk-http-router-jersey3-jakarta10/build.gradle | 6 ++---- .../build.gradle | 6 ++---- servicetalk-http-router-jersey3-jakarta9/build.gradle | 6 ++---- servicetalk-http-security-jersey3-jakarta10/build.gradle | 6 ++---- servicetalk-http-security-jersey3-jakarta9/build.gradle | 6 ++---- 11 files changed, 20 insertions(+), 42 deletions(-) diff --git a/servicetalk-data-jackson-jersey3-jakarta10/build.gradle b/servicetalk-data-jackson-jersey3-jakarta10/build.gradle index e17cf33e3e..0c362f099d 100644 --- a/servicetalk-data-jackson-jersey3-jakarta10/build.gradle +++ b/servicetalk-data-jackson-jersey3-jakarta10/build.gradle @@ -68,10 +68,8 @@ tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -if (tasks.findByName("dependencyAnalysis")) { - tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) - } +tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) } def actualJerseyVersion = "${jersey3VersionEE10}" diff --git a/servicetalk-data-jackson-jersey3-jakarta9/build.gradle b/servicetalk-data-jackson-jersey3-jakarta9/build.gradle index a91cf9e29d..968c80be1a 100644 --- a/servicetalk-data-jackson-jersey3-jakarta9/build.gradle +++ b/servicetalk-data-jackson-jersey3-jakarta9/build.gradle @@ -68,10 +68,8 @@ tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -if (tasks.findByName("dependencyAnalysis")) { - tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) - } +tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) } def actualJerseyVersion = "${jersey3VersionEE9}" diff --git a/servicetalk-data-protobuf-jersey3-jakarta10/build.gradle b/servicetalk-data-protobuf-jersey3-jakarta10/build.gradle index 4b7e6dd609..ff2a43f6ed 100644 --- a/servicetalk-data-protobuf-jersey3-jakarta10/build.gradle +++ b/servicetalk-data-protobuf-jersey3-jakarta10/build.gradle @@ -76,10 +76,8 @@ tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.generateTestProto.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -if (tasks.findByName("dependencyAnalysis")) { - tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) - } +tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) } def actualJerseyVersion = "${jersey3VersionEE10}" diff --git a/servicetalk-data-protobuf-jersey3-jakarta9/build.gradle b/servicetalk-data-protobuf-jersey3-jakarta9/build.gradle index 3dc55ba9af..d5c4cdde4b 100644 --- a/servicetalk-data-protobuf-jersey3-jakarta9/build.gradle +++ b/servicetalk-data-protobuf-jersey3-jakarta9/build.gradle @@ -76,10 +76,8 @@ tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.generateTestProto.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -if (tasks.findByName("dependencyAnalysis")) { - tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) - } +tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) } def actualJerseyVersion = "${jersey3VersionEE9}" diff --git a/servicetalk-gradle-plugin-internal/plugin-config.gradle b/servicetalk-gradle-plugin-internal/plugin-config.gradle index ef09f71b00..060e3d7a89 100644 --- a/servicetalk-gradle-plugin-internal/plugin-config.gradle +++ b/servicetalk-gradle-plugin-internal/plugin-config.gradle @@ -23,8 +23,6 @@ dependencies { implementation localGroovy() implementation "com.github.spotbugs.snom:spotbugs-gradle-plugin:$props.spotbugsPluginVersion" implementation "com.autonomousapps:dependency-analysis-gradle-plugin:$props.dependencyAnalysisPluginVersion" - if (JavaVersion.current().isJava11Compatible()) { - } } gradlePlugin { diff --git a/servicetalk-http-router-jersey3-jakarta10-internal/build.gradle b/servicetalk-http-router-jersey3-jakarta10-internal/build.gradle index 6f27567a1a..2bd21febc3 100644 --- a/servicetalk-http-router-jersey3-jakarta10-internal/build.gradle +++ b/servicetalk-http-router-jersey3-jakarta10-internal/build.gradle @@ -63,10 +63,8 @@ task copySourcesForJersey3(type: Copy) { tasks.processResources.dependsOn(copySourcesForJersey3) tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) -if (tasks.findByName("dependencyAnalysis")) { - tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) - } +tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) } def actualJerseyVersion = "${jersey3VersionEE10}" diff --git a/servicetalk-http-router-jersey3-jakarta10/build.gradle b/servicetalk-http-router-jersey3-jakarta10/build.gradle index 1aaf186d9f..9d9776be06 100644 --- a/servicetalk-http-router-jersey3-jakarta10/build.gradle +++ b/servicetalk-http-router-jersey3-jakarta10/build.gradle @@ -70,10 +70,8 @@ tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -if (tasks.findByName("dependencyAnalysis")) { - tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) - } +tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) } def actualJerseyVersion = "${jersey3VersionEE10}" diff --git a/servicetalk-http-router-jersey3-jakarta9-internal/build.gradle b/servicetalk-http-router-jersey3-jakarta9-internal/build.gradle index b5915cf46c..c796094a9e 100644 --- a/servicetalk-http-router-jersey3-jakarta9-internal/build.gradle +++ b/servicetalk-http-router-jersey3-jakarta9-internal/build.gradle @@ -63,10 +63,8 @@ task copySourcesForJersey3(type: Copy) { tasks.processResources.dependsOn(copySourcesForJersey3) tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) -if (tasks.findByName("dependencyAnalysis")) { - tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) - } +tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) } def actualJerseyVersion = "${jersey3VersionEE9}" diff --git a/servicetalk-http-router-jersey3-jakarta9/build.gradle b/servicetalk-http-router-jersey3-jakarta9/build.gradle index c4dc05b652..bf83c01f93 100644 --- a/servicetalk-http-router-jersey3-jakarta9/build.gradle +++ b/servicetalk-http-router-jersey3-jakarta9/build.gradle @@ -70,10 +70,8 @@ tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -if (tasks.findByName("dependencyAnalysis")) { - tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) - } +tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) } def actualJerseyVersion = "${jersey3VersionEE9}" diff --git a/servicetalk-http-security-jersey3-jakarta10/build.gradle b/servicetalk-http-security-jersey3-jakarta10/build.gradle index dab63a548f..02c3186074 100644 --- a/servicetalk-http-security-jersey3-jakarta10/build.gradle +++ b/servicetalk-http-security-jersey3-jakarta10/build.gradle @@ -69,10 +69,8 @@ tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -if (tasks.findByName("dependencyAnalysis")) { - tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) - } +tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) } def actualJerseyVersion = "${jersey3VersionEE10}" diff --git a/servicetalk-http-security-jersey3-jakarta9/build.gradle b/servicetalk-http-security-jersey3-jakarta9/build.gradle index e66240e57b..807f40198e 100644 --- a/servicetalk-http-security-jersey3-jakarta9/build.gradle +++ b/servicetalk-http-security-jersey3-jakarta9/build.gradle @@ -69,10 +69,8 @@ tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -if (tasks.findByName("dependencyAnalysis")) { - tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) - } +tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) } def actualJerseyVersion = "${jersey3VersionEE9}" From c0f9949a7727094cbb0f5f7424f839e48b9a0096 Mon Sep 17 00:00:00 2001 From: Idel Pivnitskiy Date: Fri, 3 Jan 2025 11:43:16 -0800 Subject: [PATCH 04/10] Add to core build.gradle file --- build.gradle | 27 +++++++++++++++++++ .../build.gradle | 8 ++++-- .../build.gradle | 8 ++++-- .../build.gradle | 8 ++++-- .../build.gradle | 8 ++++-- .../plugin-config.gradle | 4 ++- .../internal/ServiceTalkLibraryPlugin.groovy | 4 +-- .../internal/ServiceTalkRootPlugin.groovy | 5 +++- .../build.gradle | 8 ++++-- .../build.gradle | 8 ++++-- .../build.gradle | 8 ++++-- .../build.gradle | 8 ++++-- .../build.gradle | 8 ++++-- .../build.gradle | 8 ++++-- 14 files changed, 96 insertions(+), 24 deletions(-) diff --git a/build.gradle b/build.gradle index 1d3d84dc54..bd75d01b84 100644 --- a/build.gradle +++ b/build.gradle @@ -42,8 +42,33 @@ if (!repositories) { print("This machine already has some pre-configured repositories, will use: ${repositories*.name.join(", ")}") } +buildscript { + dependencies { + if (JavaVersion.current().isJava11Compatible()) { + classpath("com.autonomousapps:dependency-analysis-gradle-plugin:$dependencyAnalysisPluginVersion") + } + } +} + apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-root" +if (JavaVersion.current().isJava11Compatible()) { + apply plugin: "com.autonomousapps.dependency-analysis" + + dependencyAnalysis { + issues { + all { + onAny { + severity("warn") + exclude("com.google.code.findbugs:jsr305") + } + } + } + } + + quality.dependsOn buildHealth +} + task validateLocalDocSite(type: Exec) { group 'Documentation' description 'Generate and validate servicetalk.io site documentation' @@ -56,6 +81,8 @@ subprojects { // mockito 5 only supports jdk11+ if (JavaVersion.current() < JavaVersion.VERSION_11) { project.setProperty("mockitoCoreVersion", mockitoCorePreJdk11Version) + } else { + apply plugin: "com.autonomousapps.dependency-analysis" } // Used by ci-release.yaml to determine which modules need to be built/released with JDK11. task printJavaTargetCompatibility { diff --git a/servicetalk-data-jackson-jersey3-jakarta10/build.gradle b/servicetalk-data-jackson-jersey3-jakarta10/build.gradle index 0c362f099d..85d43ba019 100644 --- a/servicetalk-data-jackson-jersey3-jakarta10/build.gradle +++ b/servicetalk-data-jackson-jersey3-jakarta10/build.gradle @@ -68,8 +68,12 @@ tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +afterEvaluate { + if (tasks.findByName("projectHealth")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } + } } def actualJerseyVersion = "${jersey3VersionEE10}" diff --git a/servicetalk-data-jackson-jersey3-jakarta9/build.gradle b/servicetalk-data-jackson-jersey3-jakarta9/build.gradle index 968c80be1a..529cacb77a 100644 --- a/servicetalk-data-jackson-jersey3-jakarta9/build.gradle +++ b/servicetalk-data-jackson-jersey3-jakarta9/build.gradle @@ -68,8 +68,12 @@ tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +afterEvaluate { + if (tasks.findByName("projectHealth")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } + } } def actualJerseyVersion = "${jersey3VersionEE9}" diff --git a/servicetalk-data-protobuf-jersey3-jakarta10/build.gradle b/servicetalk-data-protobuf-jersey3-jakarta10/build.gradle index ff2a43f6ed..f6da8e7353 100644 --- a/servicetalk-data-protobuf-jersey3-jakarta10/build.gradle +++ b/servicetalk-data-protobuf-jersey3-jakarta10/build.gradle @@ -76,8 +76,12 @@ tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.generateTestProto.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +afterEvaluate { + if (tasks.findByName("projectHealth")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } + } } def actualJerseyVersion = "${jersey3VersionEE10}" diff --git a/servicetalk-data-protobuf-jersey3-jakarta9/build.gradle b/servicetalk-data-protobuf-jersey3-jakarta9/build.gradle index d5c4cdde4b..457f713d4c 100644 --- a/servicetalk-data-protobuf-jersey3-jakarta9/build.gradle +++ b/servicetalk-data-protobuf-jersey3-jakarta9/build.gradle @@ -76,8 +76,12 @@ tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.generateTestProto.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +afterEvaluate { + if (tasks.findByName("projectHealth")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } + } } def actualJerseyVersion = "${jersey3VersionEE9}" diff --git a/servicetalk-gradle-plugin-internal/plugin-config.gradle b/servicetalk-gradle-plugin-internal/plugin-config.gradle index 060e3d7a89..90f5934124 100644 --- a/servicetalk-gradle-plugin-internal/plugin-config.gradle +++ b/servicetalk-gradle-plugin-internal/plugin-config.gradle @@ -22,7 +22,9 @@ dependencies { implementation gradleApi() implementation localGroovy() implementation "com.github.spotbugs.snom:spotbugs-gradle-plugin:$props.spotbugsPluginVersion" - implementation "com.autonomousapps:dependency-analysis-gradle-plugin:$props.dependencyAnalysisPluginVersion" +// if (JavaVersion.current().isJava11Compatible()) { +// implementation "com.autonomousapps:dependency-analysis-gradle-plugin:$props.dependencyAnalysisPluginVersion" +// } } gradlePlugin { diff --git a/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ServiceTalkLibraryPlugin.groovy b/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ServiceTalkLibraryPlugin.groovy index 049785427f..44d74464e4 100644 --- a/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ServiceTalkLibraryPlugin.groovy +++ b/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ServiceTalkLibraryPlugin.groovy @@ -48,7 +48,7 @@ final class ServiceTalkLibraryPlugin extends ServiceTalkCorePlugin { enforceCheckstyleRoot project applyPmdPlugin project applySpotBugsPlugin project - applyDependencyAnalysisPlugin project +// applyDependencyAnalysisPlugin project addQualityTask project } @@ -311,7 +311,7 @@ final class ServiceTalkLibraryPlugin extends ServiceTalkCorePlugin { } private static void applyDependencyAnalysisPlugin(Project project) { - if (project.name == "servicetalk-gradle-plugin-internal") { + if (!JavaVersion.current().isJava11Compatible() || project.name == "servicetalk-gradle-plugin-internal") { return } diff --git a/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ServiceTalkRootPlugin.groovy b/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ServiceTalkRootPlugin.groovy index 4d50cd1d22..35e3db091d 100644 --- a/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ServiceTalkRootPlugin.groovy +++ b/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ServiceTalkRootPlugin.groovy @@ -26,7 +26,7 @@ final class ServiceTalkRootPlugin extends ServiceTalkCorePlugin { super.apply(project, false) enforceCheckstyleRoot project - applyDependencyAnalysisPlugin project +// applyDependencyAnalysisPlugin project addJavadocAllTask project addQualityTask project } @@ -39,6 +39,9 @@ final class ServiceTalkRootPlugin extends ServiceTalkCorePlugin { } private static void applyDependencyAnalysisPlugin(Project project) { + if (!JavaVersion.current().isJava11Compatible()) { + return + } project.configure(project) { pluginManager.apply("com.autonomousapps.dependency-analysis") } diff --git a/servicetalk-http-router-jersey3-jakarta10-internal/build.gradle b/servicetalk-http-router-jersey3-jakarta10-internal/build.gradle index 2bd21febc3..c42ff65f93 100644 --- a/servicetalk-http-router-jersey3-jakarta10-internal/build.gradle +++ b/servicetalk-http-router-jersey3-jakarta10-internal/build.gradle @@ -63,8 +63,12 @@ task copySourcesForJersey3(type: Copy) { tasks.processResources.dependsOn(copySourcesForJersey3) tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +afterEvaluate { + if (tasks.findByName("projectHealth")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } + } } def actualJerseyVersion = "${jersey3VersionEE10}" diff --git a/servicetalk-http-router-jersey3-jakarta10/build.gradle b/servicetalk-http-router-jersey3-jakarta10/build.gradle index 9d9776be06..193d8d55a0 100644 --- a/servicetalk-http-router-jersey3-jakarta10/build.gradle +++ b/servicetalk-http-router-jersey3-jakarta10/build.gradle @@ -70,8 +70,12 @@ tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +afterEvaluate { + if (tasks.findByName("projectHealth")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } + } } def actualJerseyVersion = "${jersey3VersionEE10}" diff --git a/servicetalk-http-router-jersey3-jakarta9-internal/build.gradle b/servicetalk-http-router-jersey3-jakarta9-internal/build.gradle index c796094a9e..1f08222ace 100644 --- a/servicetalk-http-router-jersey3-jakarta9-internal/build.gradle +++ b/servicetalk-http-router-jersey3-jakarta9-internal/build.gradle @@ -63,8 +63,12 @@ task copySourcesForJersey3(type: Copy) { tasks.processResources.dependsOn(copySourcesForJersey3) tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +afterEvaluate { + if (tasks.findByName("projectHealth")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } + } } def actualJerseyVersion = "${jersey3VersionEE9}" diff --git a/servicetalk-http-router-jersey3-jakarta9/build.gradle b/servicetalk-http-router-jersey3-jakarta9/build.gradle index bf83c01f93..30c1ff3b00 100644 --- a/servicetalk-http-router-jersey3-jakarta9/build.gradle +++ b/servicetalk-http-router-jersey3-jakarta9/build.gradle @@ -70,8 +70,12 @@ tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +afterEvaluate { + if (tasks.findByName("projectHealth")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } + } } def actualJerseyVersion = "${jersey3VersionEE9}" diff --git a/servicetalk-http-security-jersey3-jakarta10/build.gradle b/servicetalk-http-security-jersey3-jakarta10/build.gradle index 02c3186074..c2f05a029f 100644 --- a/servicetalk-http-security-jersey3-jakarta10/build.gradle +++ b/servicetalk-http-security-jersey3-jakarta10/build.gradle @@ -69,8 +69,12 @@ tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +afterEvaluate { + if (tasks.findByName("projectHealth")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } + } } def actualJerseyVersion = "${jersey3VersionEE10}" diff --git a/servicetalk-http-security-jersey3-jakarta9/build.gradle b/servicetalk-http-security-jersey3-jakarta9/build.gradle index 807f40198e..ed37ca2ba0 100644 --- a/servicetalk-http-security-jersey3-jakarta9/build.gradle +++ b/servicetalk-http-security-jersey3-jakarta9/build.gradle @@ -69,8 +69,12 @@ tasks.sourcesJar.dependsOn(copySourcesForJersey3) tasks.compileJava.dependsOn(copySourcesForJersey3) tasks.processTestResources.dependsOn(copySourcesForJersey3) tasks.compileTestJava.dependsOn(copySourcesForJersey3) -tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { - dependsOn(copySourcesForJersey3) +afterEvaluate { + if (tasks.findByName("projectHealth")) { + tasks.withType(com.autonomousapps.tasks.CodeSourceExploderTask) { + dependsOn(copySourcesForJersey3) + } + } } def actualJerseyVersion = "${jersey3VersionEE9}" From ec16bffeab315b9499ebb77eede52585fbbe69df Mon Sep 17 00:00:00 2001 From: Idel Pivnitskiy Date: Fri, 3 Jan 2025 11:44:09 -0800 Subject: [PATCH 05/10] Cleanup servicetalk-gradle-plugin-internal --- .../plugin-config.gradle | 3 --- .../plugin/internal/ProjectUtils.groovy | 3 --- .../internal/ServiceTalkLibraryPlugin.groovy | 26 ------------------- .../internal/ServiceTalkRootPlugin.groovy | 10 ------- 4 files changed, 42 deletions(-) diff --git a/servicetalk-gradle-plugin-internal/plugin-config.gradle b/servicetalk-gradle-plugin-internal/plugin-config.gradle index 90f5934124..be95f9525b 100644 --- a/servicetalk-gradle-plugin-internal/plugin-config.gradle +++ b/servicetalk-gradle-plugin-internal/plugin-config.gradle @@ -22,9 +22,6 @@ dependencies { implementation gradleApi() implementation localGroovy() implementation "com.github.spotbugs.snom:spotbugs-gradle-plugin:$props.spotbugsPluginVersion" -// if (JavaVersion.current().isJava11Compatible()) { -// implementation "com.autonomousapps:dependency-analysis-gradle-plugin:$props.dependencyAnalysisPluginVersion" -// } } gradlePlugin { diff --git a/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ProjectUtils.groovy b/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ProjectUtils.groovy index 8b21c800f1..03fd9427d7 100644 --- a/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ProjectUtils.groovy +++ b/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ProjectUtils.groovy @@ -247,9 +247,6 @@ final class ProjectUtils { if (tasks.findByName("spotbugs")) { dependsOn tasks.spotbugs } - if (tasks.findByName("dependencyAnalysis")) { - dependsOn tasks.dependencyAnalysis - } if (tasks.findByName("javadoc")) { // verifies that javadoc generates without errors dependsOn tasks.javadoc } diff --git a/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ServiceTalkLibraryPlugin.groovy b/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ServiceTalkLibraryPlugin.groovy index 44d74464e4..523d445918 100644 --- a/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ServiceTalkLibraryPlugin.groovy +++ b/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ServiceTalkLibraryPlugin.groovy @@ -48,7 +48,6 @@ final class ServiceTalkLibraryPlugin extends ServiceTalkCorePlugin { enforceCheckstyleRoot project applyPmdPlugin project applySpotBugsPlugin project -// applyDependencyAnalysisPlugin project addQualityTask project } @@ -309,29 +308,4 @@ final class ServiceTalkLibraryPlugin extends ServiceTalkCorePlugin { } } } - - private static void applyDependencyAnalysisPlugin(Project project) { - if (!JavaVersion.current().isJava11Compatible() || project.name == "servicetalk-gradle-plugin-internal") { - return - } - - project.configure(project) { - pluginManager.apply("com.autonomousapps.dependency-analysis") - - dependencyAnalysis { - issues { - onAny { - severity("warn") - exclude("com.google.code.findbugs:jsr305") - } - } - } - - project.task("dependencyAnalysis") { - description = "Run DependencyAnalysis for all source sets" - group = "verification" - dependsOn tasks.withType(com.autonomousapps.tasks.ProjectHealthTask) - } - } - } } diff --git a/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ServiceTalkRootPlugin.groovy b/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ServiceTalkRootPlugin.groovy index 35e3db091d..0204663fbd 100644 --- a/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ServiceTalkRootPlugin.groovy +++ b/servicetalk-gradle-plugin-internal/src/main/groovy/io/servicetalk/gradle/plugin/internal/ServiceTalkRootPlugin.groovy @@ -26,7 +26,6 @@ final class ServiceTalkRootPlugin extends ServiceTalkCorePlugin { super.apply(project, false) enforceCheckstyleRoot project -// applyDependencyAnalysisPlugin project addJavadocAllTask project addQualityTask project } @@ -38,15 +37,6 @@ final class ServiceTalkRootPlugin extends ServiceTalkCorePlugin { } } - private static void applyDependencyAnalysisPlugin(Project project) { - if (!JavaVersion.current().isJava11Compatible()) { - return - } - project.configure(project) { - pluginManager.apply("com.autonomousapps.dependency-analysis") - } - } - private static void addJavadocAllTask(Project project) { project.configure(project) { project.task("javadocAll", type: Javadoc) { From da9279b4ffcd3856b613f233697dfb6be88e4be3 Mon Sep 17 00:00:00 2001 From: Idel Pivnitskiy Date: Fri, 3 Jan 2025 12:44:35 -0800 Subject: [PATCH 06/10] Print output to console --- .github/workflows/ci-prq.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-prq.yml b/.github/workflows/ci-prq.yml index f5ca234a4e..093ea71236 100644 --- a/.github/workflows/ci-prq.yml +++ b/.github/workflows/ci-prq.yml @@ -37,7 +37,7 @@ jobs: - name: Clean Gradle project run: ./gradlew --parallel clean - name: Build with Gradle - run: ./gradlew --parallel quality + run: ./gradlew --parallel -Pdependency.analysis.print.build.health=true quality - name: Upload CheckStyle Results if: always() uses: actions/upload-artifact@v4 From e2f3f2745003a5beb5192bb6788e194228c7a274 Mon Sep 17 00:00:00 2001 From: Idel Pivnitskiy Date: Fri, 3 Jan 2025 13:02:59 -0800 Subject: [PATCH 07/10] Clarify why not part of servicetalk-gradle-plugin-internal --- build.gradle | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build.gradle b/build.gradle index bd75d01b84..191b733b62 100644 --- a/build.gradle +++ b/build.gradle @@ -52,6 +52,8 @@ buildscript { apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-root" +// Unfortunately, we can not make this validation part of our servicetalk-gradle-plugin-internal because it requires +// JDK11 while we build and package out plugin with JDK8. if (JavaVersion.current().isJava11Compatible()) { apply plugin: "com.autonomousapps.dependency-analysis" From 600772ab211342429552e201b24545a57aea8a07 Mon Sep 17 00:00:00 2001 From: Idel Pivnitskiy Date: Fri, 3 Jan 2025 13:03:59 -0800 Subject: [PATCH 08/10] Add FIXME --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 191b733b62..4c377087f1 100644 --- a/build.gradle +++ b/build.gradle @@ -61,7 +61,7 @@ if (JavaVersion.current().isJava11Compatible()) { issues { all { onAny { - severity("warn") + severity("warn") // FIXME: switch to "fail" when all issues are addressed exclude("com.google.code.findbugs:jsr305") } } From 0ea6bedab4ab018d286eb6191e03afa7eea4beef Mon Sep 17 00:00:00 2001 From: Idel Pivnitskiy Date: Fri, 3 Jan 2025 13:09:06 -0800 Subject: [PATCH 09/10] Change coordinates to use gradlePluginPortal() repository instead of MC --- build.gradle | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 4c377087f1..3ce983c1f8 100644 --- a/build.gradle +++ b/build.gradle @@ -45,7 +45,8 @@ if (!repositories) { buildscript { dependencies { if (JavaVersion.current().isJava11Compatible()) { - classpath("com.autonomousapps:dependency-analysis-gradle-plugin:$dependencyAnalysisPluginVersion") + classpath("com.autonomousapps.dependency-analysis:com.autonomousapps.dependency-analysis.gradle.plugin:" + + "$dependencyAnalysisPluginVersion") } } } From fed2da9888c96014eb96d1c9721ba0cd6c2a354b Mon Sep 17 00:00:00 2001 From: Idel Pivnitskiy Date: Fri, 3 Jan 2025 13:21:19 -0800 Subject: [PATCH 10/10] Fix "no repositories are defined" --- build.gradle | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 3ce983c1f8..cdb80c9a4d 100644 --- a/build.gradle +++ b/build.gradle @@ -43,10 +43,14 @@ if (!repositories) { } buildscript { + if (!repositories) { + repositories { + gradlePluginPortal() + } + } dependencies { if (JavaVersion.current().isJava11Compatible()) { - classpath("com.autonomousapps.dependency-analysis:com.autonomousapps.dependency-analysis.gradle.plugin:" + - "$dependencyAnalysisPluginVersion") + classpath("com.autonomousapps:dependency-analysis-gradle-plugin:$dependencyAnalysisPluginVersion") } } }