On 04.11.2015 07:46, Jammy Chen wrote:
We have used ivy:cachepath for our compiles, test-runtime, but since we had a lot of troubles on IVY 2.3.x and also with the IvyDE we decided to switch to a folder based ivy:retrieve. Also we are using a very simplistic eclipse plugin to reference all libs from folders and have given up to work with IvyDE. We use instead:
https://github.com/dpalic/EclipseFolderClasspath

So now ivy retrieves all dependencies into folders named by ivy-configuration names, and we only reference them in ANT and in Eclipse (with the previous plugin). So the behaviour is always the same and we have no possible missmatch in ivy:cachepath (retrieved on every run of Ivy) vs. one ivy:retrieve for multiple runs (build, test, runtime, packaging, ...)

ivy:cachepath is still used by us, but only for basic dependency-lookups in the ANT-build. E.g. for building up a dependency-tree for PMD, findbugs integration into ANT.

To your disk usage, yes the ivy:retrieve will bloat your disk usage, but it will also provide you a clear overview of the files which you handle. We have used ivy:report to generate a html report to see which lib and version was retrieved, but it is still easier to glance through some folders and to see which files are finally in my target folder.

So there is no clear recommendation. It depends on your complexity of your projects. For higher complexity I would still prefer to use the retrieve into ivy-config folders. For quick wins and for small projects I would stick to ivy:cachepath.

Reply via email to