ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephane Bailliez <sbaill...@gmail.com>
Subject Re: Ivy projects; day-to-day usage in IDEs
Date Mon, 05 Mar 2007 18:47:28 GMT
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

Mime
View raw message