Hi, I’m looking at the following plugins block:
plugins {
jacoco
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.spring)
alias(libs.plugins.kotlin.jpa)
alias(libs.plugins.kotlin.allopen)
alias(libs.plugins.kotlin.kapt)
alias(libs.plugins.versions)
alias(libs.plugins.dependency.check)
alias(libs.plugins.openapi.generator)
alias(libs.plugins.openapi)
alias(libs.plugins.spring)
alias(libs.plugins.spring.dependency)
}
with the following versions:
[versions]
kotlin = "2.0.0"
[plugins]
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
kotlin-spring = { id = "org.jetbrains.kotlin.plugin.spring", version.ref = "kotlin" }
kotlin-jpa = { id = "org.jetbrains.kotlin.plugin.jpa", version.ref = "kotlin" }
kotlin-allopen = { id = "org.jetbrains.kotlin.plugin.allopen", version.ref = "kotlin" }
spring = { id = "org.springframework.boot", version = "3.3.1" }
spring-dependency = { id = "io.spring.dependency-management", version = "1.1.6" }
versions = { id = "com.github.ben-manes.versions", version = "0.51.0" }
dependency-check = { id = "org.owasp.dependencycheck", version = "10.0.3" }
openapi-generator = { id = "org.openapi.generator", version = "7.7.0" }
openapi = { id = "org.springdoc.openapi-gradle-plugin", version = "1.9.0" }
and the following dependencies in buildSrc:
dependencies {
implementation("org.postgresql:postgresql:42.7.3")
implementation("com.google.code.gson:gson:2.11.0")
implementation("org.apache.commons:commons-csv:1.11.0")
implementation("com.googlecode.java-diff-utils:diffutils:1.3.0")
testImplementation("org.junit.jupiter:junit-jupiter-params:5.10.3")
testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.3")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.3")
}
./gradlew dependencyCheckAnalyze fails with
Execution failed for task ‘:dependencyCheckAnalyze’.
Class com.fasterxml.jackson.annotation.JsonFormat$Feature does not have member field ‘com.fasterxml.jackson.annotation.JsonFormat$Feature READ_DATE_TIMESTAMPS_AS_NANOSECONDS’
Which basically means a jackson version older than 2.15 is being pulled in somewhere. I can’t for my life figure out how to debug this. I know about the buildEnvironment and dependencies command, but how do I figure out which jackson version is ultimately available on classpath rather than looking at 100+ transitive dependencies
Edit: turns out it was a dependency in buildSrc which didn’t show up in any output. Is there a way to catch that somehow?
Edit 2: ok, so
./gradlew dependencies
./gradlew buildEnvironment
cd buildSrc
../gradlew dependencies
geez