On 08/12/2011, at 6:34 AM, Russel Winder wrote: > It seems that all artefacts have to be downloaded anew for every new > version of Gradle even if the artefact had previously already been > downloaded. This means Gradle is still maintaining independent per > version repository caches. I had thought the intention was to move to > the more Maven-like single copy of any artefact approach.
It still is. We're heading in that direction. The focus so far has been to minimise how often we hit the network during normal usage, at the expense of forcing a new download when you change Gradle version. We've made pretty good progress in this direction (minimising the network hits, that is) . We have now started working on changes that will allow us to share artifacts between Gradle versions, while still allowing us to change the meta-data that we store and how we store it. Potentially we will also be able to share artifacts with the ~/.m2 repository. These changes means we will be able to continue to get better at not downloading stuff and speeding up resolve performance, without forcing a download when you change version. So, for 1.0-milestone-7, you'll have to download stuff again. For 1.0-milestone-8, you will (probably) have to download stuff again. After that, future versions will reuse what's already been downloaded. > > Maven is very DRY, Gradle seems to be violating this somewhat violently. > And with the assumption of permanent connection to the Internet -- which > is a bad assumption. We've gotten much better at working without a network connection over the last few releases. This will continue to improve in the near future. -- Adam Murdoch Gradle Co-founder http://www.gradle.org VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting http://www.gradleware.com
