Skip to content
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

Improve dependency resolution for localGroovy() #29049

Open
donat opened this issue May 7, 2024 · 3 comments
Open

Improve dependency resolution for localGroovy() #29049

donat opened this issue May 7, 2024 · 3 comments
Labels
Milestone

Comments

@donat
Copy link
Member

donat commented May 7, 2024

#26743 (comment)

... we actually want to get rid of the property altogether. The Gradle libs URLs was a workaround because the localGroovy dependency is handled in Gradle in a special way. We aim to simplify Gradle and making localGroovy resolvable/configurable via dependency management.

@akiraly
Copy link
Contributor

akiraly commented May 9, 2024

@donat thanks for scoping this into 8.9. One more idea/question: would it be possible to not do the automatic/implicit localGroovy resolution at all when a project is only using the Kotlin DSL?

@donat
Copy link
Member Author

donat commented May 17, 2024

This is not my area of expertise, but my understanding is that some Groovy bits are part of the Gradle API. For example, we still have a few methods taking Closure parameter (example: Project.java). Also, the Kotlin DSL offers interoperability with Groovy scripts (example: withGroovyBuiler). Because of this, I assume we need the localGroovy dependency, even when only the the Kotlin DSL is being used in the project, at least for the time being.

@big-guy big-guy added the 👋 team-triage Issues that need to be triaged by a specific team label May 20, 2024
@big-guy big-guy removed this from the 8.9 RC1 milestone May 20, 2024
@big-guy
Copy link
Member

big-guy commented Jun 3, 2024

We want the localGroovy() dependency to behave like a regular dependency with capabilities and participation in dependency conflict handling.

As it exists today, it acts like a file collection dependency and is invisible to dependency resolution.

A couple of ideas for a solution:

  • Make file collection dependencies a part of the graph
  • Make localGroovy add a regular dependency and use special handling to use the Gradle distribution like a repository

@big-guy big-guy added this to the 8.x milestone Jun 3, 2024
@big-guy big-guy removed the 👋 team-triage Issues that need to be triaged by a specific team label Jun 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants
@donat @akiraly @big-guy and others