-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Un-shade docker-java-api #2882
Un-shade docker-java-api #2882
Conversation
core/src/main/java/org/testcontainers/images/TimeLimitedLoggedPullImageResultCallback.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I only had one comment, on a Javadoc change of all things 😂
…esultCallback`'s javadoc
Any plans to unshade it all? I'm still getting nasty classpath clashes:
I need to be able to use the real |
Unblock the main API integration test. Here's the [original rationale] for ignoring it. In the meantime there was some progress from `testcontainers` to [reduce the class copy-paste]. This allows us to work with `docker-java-api`, which no longer clashes. However, they're still shading `docker-java-core`, so we gotta depend on their copy for now. Currently their copy is compatible with the rest of our code. It's still messy, but we can stop depending on them later. [original rationale]: 29c29fc [reduce the class copy-paste] : testcontainers/testcontainers-java#2882
Unblock the main API integration test. Here's the [original rationale] for ignoring it. In the meantime there was some progress from `testcontainers` to [reduce the class copy-paste]. This allows us to work with `docker-java-api`, which no longer clashes. However, they're still shading `docker-java-core`, so we gotta depend on their copy for now. Currently their copy is compatible with the rest of our code. It's still messy, but we can stop depending on them later. [original rationale]: 29c29fc [reduce the class copy-paste] : testcontainers/testcontainers-java#2882
This PR makes Testcontainers depend on
docker-java-api
instead of including it into our JAR unshaded. Note thatdocker-java-core
anddocker-java-transport-okhttp
remain shaded due to their transitive dependencies like Guava or now-in-Kotlin OkHttp.The transition requires a breaking change in the
DockerClientProviderStrategy
API and includes a rework.The rework also includes an improvement that removes one Docker API call (
/_ping
) and instead reuses the/_info
one (reduces the startup by ~200ms).The dependency graph now looks like this:
While previously it was:
Fixes #1113