[GRADLE-333] improve feedback when downloading/uploading dependencies from/to a remote repository Created: 26/Dec/08 Updated: 04/Jan/13 Resolved: 04/Jan/09 |
|
Status: | Resolved |
Project: | Gradle |
Affects Version/s: | None |
Fix Version/s: | 0.6 |
Type: | Improvement | ||
Reporter: | Adam Murdoch | Assignee: | Hans Dockter |
Resolution: | Fixed | Votes: | 0 |
Description |
Currently, nothing is shown in the default logging level when ivy is downloading a dependency from a remote repository. To me, a remote download feels like a significant event in the build, and so something should probably be logged in this case. For example, in one of my builds, some of the dependencies are extremely large, and can take ~10 minutes to download when on a remote network. I'd like gradle to tell me what is happening. Possibly we can skip the message if the download is below a certain size or time threshold. |
Comments |
Comment by Hans Dockter [ 03/Jan/09 ] |
Skipping the message based on a certain time treshold is an excellent idea. |
Comment by Hans Dockter [ 04/Jan/09 ] |
A particualr Ivy repository implementation has to support transfer progress events to enable Gradle to show progress in its output. This is the case for all repositories shipped with Ivy. It is not the case yet for the custom WebDavRepository used by Gradle for uploading its distributions. |
Comment by Hans Dockter [ 04/Jan/09 ] |
The Ivy transfer event offers a method isLocal. So instead of using a time threshold, I have used this property to decide whether to report progress or not. This is convenient and a time threshold would have been problematic in case of stalls. If you access a remote repository and it does not respond, there would be no initial line downloading junit.jar. We might be able to do something fancy and solve this by running the resolve in a different thread. But it does not seem worth it to me. |