-
-
Notifications
You must be signed in to change notification settings - Fork 28
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
Update to groovy4 #578
Comments
We are using it directly a few times but mostly as the gradle-plugin. |
The docker-client will be released soonish. |
Gradle doesn't allow me to enforce Groovy 4 over the version bundled with Gradle. As mentioned at gradle/build-tool-roadmap#16 (comment) they plan to upgrade to Groovy 4 with Gradle 9.x. I think I need to revert the Groovy 4 upgrade or I could try to publish the docker-client for both Groovy versions or I would have to get rid of Groovy. So before going into implementation details I'd like to learn more about your use case. As long as the docker-client isn't used in a Gradle context, the Groovy version doesn't matter. Would a Groovy 3.x based docker-client used in a Gradle context block you from upgrading to Groovy 4? |
As a side note/workaround: this snippet modifies Gradle's dependency resolution so that it uses Groovy 4 instead of Groovy 3 (well, not for Gradle plugins 🙄):
|
We understand the problem with the plugin that of course has to use the provided groovy version. We still don't really understand, why there is a version conflict with the newest pact version and the docker-client. However we reconfigured our build.gradle to resolve this dependency problem and now it works with the current version of the docker-client that is still on groovy3. So we are totally fine with a revert of the PR and you don't have to put in more work. Thank you. |
If you like you can show me the conflict details, maybe I can configure the published dependency information in the docker-client so that the chance for dependency conflicts will be minimized in the future? |
We still have to support Gradle < 9.x, which requires Groovy 3.x See #578
We still have to support Gradle < 9.x, which requires Groovy 3.x See #578
We have a mutli-module setup and configured all the plugins that we use in the root-build.gradle, but we don't apply them yet, among others the docker-publish plugin and the pact-plugin:
That results in the following conflicts:
Our fix was then actually very simple, we removed the pact-plugin from this configuration and directly included it in the module where we use it, in this module we don't publish anything with docker, so there is no conflict on that level. However we still don't really understand what is causing the problem because as far as we can see pact also uses the internal gradle groovy version. |
I also can't see anything obvious, but there might be something in the .module metadata of the transitive dependencies about Groovy 4. |
In other news: the docker-client is available in both variants (Groovy 3 and Groovy 4) now. You can use the usual dependency declaration and add the suffix
|
Thanks for supporting both groovy versions 😄 We removed any depencency enforcement on |
I guess this issue is done, right? |
Yes, I think so. Let's see what happens when Gradle 9 is released :) |
We are currently migrating all our libs and services to groovy 4 and therefore would appreciate if you could update this library as well.
The text was updated successfully, but these errors were encountered: