diff --git a/build.gradle b/build.gradle index 1c055651..031b6733 100644 --- a/build.gradle +++ b/build.gradle @@ -47,8 +47,8 @@ dependencies { implementation 'com.google.api.grpc:proto-google-common-protos:2.14.3' implementation 'com.squareup.okhttp3:okhttp:4.12.0' implementation 'com.squareup.okhttp3:logging-interceptor:4.12.0' - implementation 'com.fasterxml.jackson.core:jackson-databind:2.14.2' - implementation 'com.fasterxml.jackson.core:jackson-core:2.14.2' + implementation 'com.fasterxml.jackson.core:jackson-databind:2.21.4' + implementation 'com.fasterxml.jackson.core:jackson-core:2.21.4' implementation 'com.google.code.gson:gson:2.9.1' implementation 'io.gsonfire:gson-fire:1.8.5' implementation 'org.openapitools:jackson-databind-nullable:0.2.6' @@ -60,7 +60,7 @@ dependencies { testImplementation "org.hamcrest:hamcrest:2.2" testImplementation 'org.mockito:mockito-inline:4.8.0' testImplementation 'org.slf4j:slf4j-simple:2.0.5' - testImplementation 'com.fasterxml.jackson.core:jackson-databind:2.14.2' + testImplementation 'com.fasterxml.jackson.core:jackson-databind:2.21.4' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.0' testImplementation 'org.junit.platform:junit-platform-launcher:1.8.0' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.0' @@ -155,6 +155,12 @@ task integrationTest(type: Test) { import com.github.jengelman.gradle.plugins.shadow.transformers.ServiceFileTransformer shadowJar { + // jackson-core (2.15+) is a multi-release JAR that bundles Java 21 (class-file major 65) + // variants under META-INF/versions/21. The Shadow 8.1.1 plugin relocates com.fasterxml + // and its ASM cannot read major version 65, so it fails with + // "Unsupported class file major version 65". These are JDK-21-only optimizations; dropping + // them is safe because the base (Java 8) classes remain and multi-release fallback applies. + exclude 'META-INF/versions/21/**' relocate 'io.grpc', 'io.pinecone.shadow.io.grpc' relocate 'com.google', 'io.pinecone.shadow.com.google' relocate 'org.slf4j', 'io.pinecone.shadow.org.slf4j'