Return-Path: Delivered-To: apmail-incubator-ivy-user-archive@locus.apache.org Received: (qmail 35715 invoked from network); 5 Mar 2007 18:48:01 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 5 Mar 2007 18:48:01 -0000 Received: (qmail 45103 invoked by uid 500); 5 Mar 2007 18:48:10 -0000 Delivered-To: apmail-incubator-ivy-user-archive@incubator.apache.org Received: (qmail 45004 invoked by uid 500); 5 Mar 2007 18:48:10 -0000 Mailing-List: contact ivy-user-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ivy-user@incubator.apache.org Delivered-To: mailing list ivy-user@incubator.apache.org Received: (qmail 44995 invoked by uid 99); 5 Mar 2007 18:48:09 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 05 Mar 2007 10:48:09 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of sbailliez@gmail.com designates 66.249.92.170 as permitted sender) Received: from [66.249.92.170] (HELO ug-out-1314.google.com) (66.249.92.170) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 05 Mar 2007 10:47:57 -0800 Received: by ug-out-1314.google.com with SMTP id y2so1479752uge for ; Mon, 05 Mar 2007 10:47:33 -0800 (PST) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding; b=jWg24RUZRrR7sFLUWU4Qc7PrYoG7YWdWoDOSbMYD6mVOlJlqlNKGJ7+foTlf6t0Gb+OwcRHQ8ToVAQTB2HnNXLPb9P8o/7OG3Nh/w5hQI2HVWrLJxuNhcHeNmQazv74SFNJkiKFGl2Pz2MYhzrfEmUGv1kp2Y97DkfI4Sz+HvPI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding; b=QLf+iylxoQfE1pDno1mNuEk+WZgbJWiUzoAyt/a+uGx9SI6MoOa2FziEOc8uybdQ5H5b7WDkXQRusrJICahkx3IOw6AypvNejUpyL0ZsXNg+9xVgtxAwOBaL9oshhdbKSnaVK7y7TQPPEfc34k/bM5feADDkZ1sGMb+2ZsX8kng= Received: by 10.67.22.14 with SMTP id z14mr11283058ugi.1173120453705; Mon, 05 Mar 2007 10:47:33 -0800 (PST) Received: from ?192.168.1.26? ( [89.251.0.64]) by mx.google.com with ESMTP id e23sm7141143ugd.2007.03.05.10.47.33; Mon, 05 Mar 2007 10:47:33 -0800 (PST) Message-ID: <45EC65C0.6090206@gmail.com> Date: Mon, 05 Mar 2007 19:47:28 +0100 From: Stephane Bailliez User-Agent: Thunderbird 1.5.0.10 (Windows/20070221) MIME-Version: 1.0 To: ivy-user@incubator.apache.org Subject: Re: Ivy projects; day-to-day usage in IDEs References: <20070305161051.68111.qmail@web55102.mail.re4.yahoo.com> In-Reply-To: <20070305161051.68111.qmail@web55102.mail.re4.yahoo.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org 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