Hey Matt,

Matt Benson wrote:
I am just getting my feet wet in Ivy and haven't yet
managed to work this out for myself:  In e.g. Eclipse
(but I'd like to know about IDEA and other IDEs as
well), what is the generally accepted "right way" of
working with Ivy?  Using Ant builds exclusively, for
starters?  What about latest-integration builds +
classpaths + code completion, etc.?  Hopefully this
gives you an idea of the kinds of issues and pitfalls
I am thinking of, and will allow some of you to
explain how they tend to work (or not) with Ivy in an
IDE.
I use a retrieve to actually retrieve all components (jars/sources/javadocs) in lib directory and do a: I'm actually only doing a retrieve only if the dependencies have changed after a resolve The pattern I use is: ivy.retrieve.pattern = ${ivy.lib.dir}/[type]s/[organisation].[artifact]-[revision].[ext]

The retrieve serves 2 purposes, mapping any kind of IDEs to it and visual checking of the resolution.

I'm mapping my ide (IDEA) to that. I'm doing it most of the time manually even though I could generate the project file. I don't want my dependencies to change every time, so even though I'm for some (bad) reasons on a latest.integration, I'm fairly conservative in my workspace. Having dependencies changing while you're working on things is never a good idea.

When I will have time I will actually try to go over the build and make it use the origin, because in a large build system there is just a silly amount of copying happening to the cache and projects and we're talking about 200MB of jars flying around.

As a matter of fact it also depends how you want to define your libraries.
For example in IDEA, you could very well define all your third party libs into the 'library' and use it from their in your projects and modules (which would mean working by reference rather than duplication) etc...and where a module defines a latest, it would be mapped within the IDEA module itself. Probably a good Ivy plugin within IDEA would make the difference, I have tried one, but found it to be rather cryptic. Maybe the jetbrains guys will do it one day considering they are apparently integrating it with Team City. :)


-- stephane

Reply via email to