Add testcontainers2 module: Testcontainers 2.0 artifact renames, JUnit 4 removal, and the Docker API version bump
Verifies five claims against primary sources rather than release-note prose: the org.testcontainers:junit-jupiter -> testcontainers-junit-jupiter rename (and the other 60 like it, per OpenRewrite's own Testcontainers2Migration recipe), that GenericContainer no longer implements org.junit.rules.TestRule anywhere in the 2.0.5 jar (confirmed exhaustively, not just for this one class), the real compiler/dependency-resolution breaks from bumping only a version number on existing JUnit 4 @ClassRule code, the literal 1.32 -> 1.44 default Docker API version bump in DockerClientProviderStrategy's bytecode (tied to the real Docker Engine 29 compatibility issue), and Spring Boot 4.1.1's BOM pinning 2.0.5. Built and tested with no Docker daemon available; one test class demonstrates a clean @EnabledIfDockerAvailable skip, guarded at the class level after the method-level guard was caught failing first.
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
$ curl -sS https://repo1.maven.org/maven2/org/testcontainers/junit-jupiter/maven-metadata.xml
|
||||
<metadata>
|
||||
<groupId>org.testcontainers</groupId>
|
||||
<artifactId>junit-jupiter</artifactId>
|
||||
<versioning>
|
||||
<latest>1.21.4</latest>
|
||||
<release>1.21.4</release>
|
||||
<versions>
|
||||
... (1.10.0 through 1.21.4, 56 releases total) ...
|
||||
<version>1.21.4</version>
|
||||
</versions>
|
||||
<lastUpdated>20251216004330</lastUpdated>
|
||||
</versioning>
|
||||
</metadata>
|
||||
|
||||
$ curl -sS https://repo1.maven.org/maven2/org/testcontainers/testcontainers-junit-jupiter/maven-metadata.xml
|
||||
<metadata>
|
||||
<groupId>org.testcontainers</groupId>
|
||||
<artifactId>testcontainers-junit-jupiter</artifactId>
|
||||
<versioning>
|
||||
<latest>2.0.5</latest>
|
||||
<release>2.0.5</release>
|
||||
<versions>
|
||||
<version>2.0.0</version>
|
||||
<version>2.0.1</version>
|
||||
<version>2.0.2</version>
|
||||
<version>2.0.3</version>
|
||||
<version>2.0.4</version>
|
||||
<version>2.0.5</version>
|
||||
</versions>
|
||||
<lastUpdated>20260420182027</lastUpdated>
|
||||
</versioning>
|
||||
</metadata>
|
||||
|
||||
# The old artifactId's release history simply stops at 1.21.4 - no 2.x version was ever
|
||||
# published under org.testcontainers:junit-jupiter. The new artifactId's history starts fresh
|
||||
# at 2.0.0. This is the real, permanent fork point on Maven Central: "upgrade the version
|
||||
# number" on your existing <artifactId>junit-jupiter</artifactId> dependency has no 2.x version
|
||||
# to resolve to - it will stay on 1.21.4 forever, or fail outright for a module whose own
|
||||
# artifactId was retired rather than just renamed (see 05-legacy-pom-fails-to-resolve-under-2.0.5.txt,
|
||||
# where this happens to org.testcontainers:postgresql).
|
||||
#
|
||||
# This is one rename out of 61: OpenRewrite's own migration recipe documents the full list at
|
||||
# https://docs.openrewrite.org/recipes/java/testing/testcontainers/testcontainers2dependencies -
|
||||
# every org.testcontainers:<module> artifact gets a testcontainers-<module> artifactId, same
|
||||
# groupId, same Maven Central repository. The core artifact, plain org.testcontainers:testcontainers,
|
||||
# is the one name on the list that did NOT change.
|
||||
Reference in New Issue
Block a user