From 2d877c5939279ba6630e88238173c387b83f0bc0 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 14 Nov 2026 11:08:16 +0000 Subject: [PATCH] Unblock grouped Dependabot update - Declare jsr305 as compileOnly in r2dbc and the R2DBC providers (MySQL, MariaDB, PostgreSQL, MSSQL, ClickHouse). They use javax.annotation.Nullable, which Guava >= 33.4 no longer brings in. - Ignore Pulsar major updates: Pulsar 5 requires Java 17. - Drop the localstack 0.12.8 test image, which was removed from Docker Hub; retag 0.11.3 for the custom-tag legacy test instead. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_015e4ZbWmbHNUD21D5bnXdVd --- .github/dependabot.yml | 3 +++ modules/clickhouse/build.gradle | 2 ++ .../testcontainers/containers/localstack/LegacyModeTest.java | 5 ++--- .../containers/localstack/LocalstackTestImages.java | 2 -- modules/mariadb/build.gradle | 2 ++ modules/mssqlserver/build.gradle | 2 ++ modules/mysql/build.gradle | 2 ++ modules/postgresql/build.gradle | 2 ++ modules/r2dbc/build.gradle | 2 ++ 9 files changed, 17 insertions(+), 5 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index d2908c1e2b5..d18615e9350 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -231,6 +231,9 @@ updates: ignore: - dependency-name: "org.apache.pulsar:pulsar-bom" update-types: ["version-update:semver-patch"] + # Pulsar 5 requires Java 17; the module is still built and tested against Java 8. + - dependency-name: "org.apache.pulsar:*" + update-types: ["version-update:semver-major"] - package-ecosystem: "gradle" directory: "/modules/r2dbc" diff --git a/modules/clickhouse/build.gradle b/modules/clickhouse/build.gradle index 59ea169583c..6c061de0c0a 100644 --- a/modules/clickhouse/build.gradle +++ b/modules/clickhouse/build.gradle @@ -5,6 +5,8 @@ dependencies { api project(':testcontainers-jdbc') compileOnly project(':testcontainers-r2dbc') + // javax.annotation.Nullable; no longer leaked transitively by Guava >= 33.4 + compileOnly 'com.google.code.findbugs:jsr305:3.0.2' compileOnly(group: 'com.clickhouse', name: 'clickhouse-r2dbc', version: '0.9.8', classifier: 'http') testImplementation project(':testcontainers-jdbc-test') diff --git a/modules/localstack/src/test/java/org/testcontainers/containers/localstack/LegacyModeTest.java b/modules/localstack/src/test/java/org/testcontainers/containers/localstack/LegacyModeTest.java index b2537d70b77..9312e178e8f 100644 --- a/modules/localstack/src/test/java/org/testcontainers/containers/localstack/LegacyModeTest.java +++ b/modules/localstack/src/test/java/org/testcontainers/containers/localstack/LegacyModeTest.java @@ -17,7 +17,7 @@ class LegacyModeTest { private static final DockerImageName LOCALSTACK_CUSTOM_TAG = DockerImageName - .parse("localstack/localstack:0.12.8") + .parse("localstack/localstack:0.11.3") .withTag("custom"); @BeforeAll @@ -25,7 +25,7 @@ static void setup() { DockerClient dockerClient = DockerClientFactory.instance().client(); dockerClient .tagImageCmd( - new RemoteDockerImage(LocalstackTestImages.LOCALSTACK_0_12_IMAGE).get(), + new RemoteDockerImage(LocalstackTestImages.LOCALSTACK_0_11_IMAGE).get(), LOCALSTACK_CUSTOM_TAG.getRepository(), LOCALSTACK_CUSTOM_TAG.getVersionPart() ) @@ -34,7 +34,6 @@ static void setup() { static Stream localstackVersionWithLegacyOff() { return Stream.of( - Arguments.arguments("0.12", new LocalStackContainer(LocalstackTestImages.LOCALSTACK_0_12_IMAGE)), Arguments.arguments("0.11", new LocalStackContainer(LocalstackTestImages.LOCALSTACK_0_11_IMAGE)), Arguments.arguments( "0.11 with legacy = off", diff --git a/modules/localstack/src/test/java/org/testcontainers/containers/localstack/LocalstackTestImages.java b/modules/localstack/src/test/java/org/testcontainers/containers/localstack/LocalstackTestImages.java index 9ca7dd6614f..364c47078ca 100644 --- a/modules/localstack/src/test/java/org/testcontainers/containers/localstack/LocalstackTestImages.java +++ b/modules/localstack/src/test/java/org/testcontainers/containers/localstack/LocalstackTestImages.java @@ -9,7 +9,5 @@ public interface LocalstackTestImages { DockerImageName LOCALSTACK_0_11_IMAGE = LOCALSTACK_IMAGE.withTag("0.11.3"); - DockerImageName LOCALSTACK_0_12_IMAGE = LOCALSTACK_IMAGE.withTag("0.12.8"); - DockerImageName AWS_CLI_IMAGE = DockerImageName.parse("amazon/aws-cli:2.7.27"); } diff --git a/modules/mariadb/build.gradle b/modules/mariadb/build.gradle index 10086b4e058..122560bdfb2 100644 --- a/modules/mariadb/build.gradle +++ b/modules/mariadb/build.gradle @@ -4,6 +4,8 @@ dependencies { api project(':testcontainers-jdbc') compileOnly project(':testcontainers-r2dbc') + // javax.annotation.Nullable; no longer leaked transitively by Guava >= 33.4 + compileOnly 'com.google.code.findbugs:jsr305:3.0.2' compileOnly 'org.mariadb:r2dbc-mariadb:1.0.3' testImplementation project(':testcontainers-jdbc-test') diff --git a/modules/mssqlserver/build.gradle b/modules/mssqlserver/build.gradle index cb3e7a5b55e..bf24329bf15 100644 --- a/modules/mssqlserver/build.gradle +++ b/modules/mssqlserver/build.gradle @@ -4,6 +4,8 @@ dependencies { api project(':testcontainers-jdbc') compileOnly project(':testcontainers-r2dbc') + // javax.annotation.Nullable; no longer leaked transitively by Guava >= 33.4 + compileOnly 'com.google.code.findbugs:jsr305:3.0.2' compileOnly 'io.r2dbc:r2dbc-mssql:1.0.5.RELEASE' testImplementation project(':testcontainers-jdbc-test') diff --git a/modules/mysql/build.gradle b/modules/mysql/build.gradle index 2cf8b17d64f..d2f6197bdbd 100644 --- a/modules/mysql/build.gradle +++ b/modules/mysql/build.gradle @@ -4,6 +4,8 @@ dependencies { api project(':testcontainers-jdbc') compileOnly project(':testcontainers-r2dbc') + // javax.annotation.Nullable; no longer leaked transitively by Guava >= 33.4 + compileOnly 'com.google.code.findbugs:jsr305:3.0.2' compileOnly 'io.asyncer:r2dbc-mysql:1.4.1' testImplementation project(':testcontainers-jdbc-test') diff --git a/modules/postgresql/build.gradle b/modules/postgresql/build.gradle index db7382f34d3..d0c5b8d7107 100644 --- a/modules/postgresql/build.gradle +++ b/modules/postgresql/build.gradle @@ -4,6 +4,8 @@ dependencies { api project(':testcontainers-jdbc') compileOnly project(':testcontainers-r2dbc') + // javax.annotation.Nullable; no longer leaked transitively by Guava >= 33.4 + compileOnly 'com.google.code.findbugs:jsr305:3.0.2' compileOnly 'io.r2dbc:r2dbc-postgresql:0.8.13.RELEASE' testImplementation project(':testcontainers-jdbc-test') diff --git a/modules/r2dbc/build.gradle b/modules/r2dbc/build.gradle index 9c93885fd6f..832670a6d8c 100644 --- a/modules/r2dbc/build.gradle +++ b/modules/r2dbc/build.gradle @@ -7,6 +7,8 @@ description = "Testcontainers :: R2DBC" dependencies { api project(':testcontainers') api 'io.r2dbc:r2dbc-spi:0.9.0.RELEASE' + // javax.annotation.Nullable; no longer leaked transitively by Guava >= 33.4 + compileOnly 'com.google.code.findbugs:jsr305:3.0.2' testImplementation 'io.r2dbc:r2dbc-postgresql:0.8.13.RELEASE' testImplementation project(':testcontainers-postgresql')