From 1a092b779f4cb9f2f75e1db973849fe9e6001d70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Sat, 30 May 2026 12:59:18 +0200 Subject: [PATCH] Handle Gson explicitly in CodecsAutoConfigurationTests The change in gh-50447 added gson on the runtime classpath, which broke a test that looks for "any" JSON support, but only filtered Jackson and Jackson 2. This commit adds an explicit optional dependency to gson and adapt the test accordingly. See gh-50447 --- module/spring-boot-http-codec/build.gradle | 1 + .../http/codec/autoconfigure/CodecsAutoConfigurationTests.java | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/module/spring-boot-http-codec/build.gradle b/module/spring-boot-http-codec/build.gradle index eb60c2b976f..10e6a15fff8 100644 --- a/module/spring-boot-http-codec/build.gradle +++ b/module/spring-boot-http-codec/build.gradle @@ -30,6 +30,7 @@ dependencies { optional(project(":core:spring-boot-autoconfigure")) optional(project(":core:spring-boot-test")) + optional(project(":module:spring-boot-gson")) optional(project(":module:spring-boot-jackson")) optional(project(":module:spring-boot-jackson2")) optional(project(":module:spring-boot-kotlinx-serialization-json")) diff --git a/module/spring-boot-http-codec/src/test/java/org/springframework/boot/http/codec/autoconfigure/CodecsAutoConfigurationTests.java b/module/spring-boot-http-codec/src/test/java/org/springframework/boot/http/codec/autoconfigure/CodecsAutoConfigurationTests.java index 4e58f4404ad..6c221bcbd68 100644 --- a/module/spring-boot-http-codec/src/test/java/org/springframework/boot/http/codec/autoconfigure/CodecsAutoConfigurationTests.java +++ b/module/spring-boot-http-codec/src/test/java/org/springframework/boot/http/codec/autoconfigure/CodecsAutoConfigurationTests.java @@ -20,6 +20,7 @@ import java.util.List; import java.util.Map; import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.gson.Gson; import kotlinx.serialization.json.Json; import org.junit.jupiter.api.Test; import tools.jackson.databind.json.JsonMapper; @@ -150,7 +151,7 @@ class CodecsAutoConfigurationTests { @Test void kotlinSerializationUsesUnrestrictedPredicateWhenNoOtherJsonConverterIsAvailable() { FilteredClassLoader classLoader = new FilteredClassLoader(JsonMapper.class.getPackage().getName(), - ObjectMapper.class.getPackage().getName()); + ObjectMapper.class.getPackage().getName(), Gson.class.getPackage().getName()); this.contextRunner.withClassLoader(classLoader) .withUserConfiguration(KotlinxJsonConfiguration.class) .run((context) -> {