we have a large gradle build that runs for almost 3 hours, and most of the time is taken for dependency resolution from multiple repositories. Is there a way in Gradle to make parallel dependency resolution using multiple worker threads ?
I have tried org.gradle.parallel= true in gradle.properties, but this doesn’t seem to help.
Is there a way that I can write a custom multi threaded program and inject it into the gradle’s dependency resolution?
anyone have any suggestions?
This isn’t currently possible. Currently
org.gradle.parallel only affects task execution, not configuration. Parallel dependency resolution is definitely something we want to do and parallel configuration is something that we should be able to achieve as part of the ongoing work on the rules-based configuration model.
ok thankyou. Any other suggestion how to reduce dependency resolution time ?
Three hours seems like an awfully long time to perform dependency resolution. Are you using a lot of snapshot or dynamic dependencies?
We are using both most of them are snapshot.
Yes, unfortunately then Gradle’s local cache is only so useful since we have to check periodically (default is 24 hours) for new versions of these dependencies. That said, 3 hours still seems like an awful long time. If your artifact repository isn’t locally hosted you might consider setting up a local proxy.
Thanks for your reply.Yeah we are using local artifactory inside company network ,Still dependency resolution taking time.