Return-Path: Delivered-To: apmail-incubator-ivy-user-archive@locus.apache.org Received: (qmail 37863 invoked from network); 28 Sep 2007 14:51:32 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 28 Sep 2007 14:51:32 -0000 Received: (qmail 64072 invoked by uid 500); 28 Sep 2007 14:51:22 -0000 Delivered-To: apmail-incubator-ivy-user-archive@incubator.apache.org Received: (qmail 64058 invoked by uid 500); 28 Sep 2007 14:51:22 -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 64049 invoked by uid 99); 28 Sep 2007 14:51:22 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 28 Sep 2007 07:51:22 -0700 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [149.243.232.20] (HELO mail-gw.space.eads.net) (149.243.232.20) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 28 Sep 2007 14:51:21 +0000 Received: from gebre-mx001.ge.infrasha.st.space.corp ([149.243.173.58]) by mail-gw.space.eads.net with InterScan Messaging Security Suite; Fri, 28 Sep 2007 16:53:14 +0200 Received: from linws2 ([149.243.227.110]) by gebre-mx001.ge.infrasha.st.space.corp with Microsoft SMTPSVC(6.0.3790.3959); Fri, 28 Sep 2007 16:50:57 +0200 From: Johannes Stamminger Organization: EADS Astrium, Bremen To: ivy-user@incubator.apache.org Subject: Re: Missing configuration in eviction result Date: Fri, 28 Sep 2007 16:50:54 +0200 User-Agent: KMail/1.9.6 References: <200709261930.29449.Johannes.Stamminger@astrium.eads.net> <200709281330.27205.Johannes.Stamminger@astrium.eads.net> <635a05060709280702l6b8aaab3n47234bf018f121fb@mail.gmail.com> In-Reply-To: <635a05060709280702l6b8aaab3n47234bf018f121fb@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200709281650.54634.Johannes.Stamminger@astrium.eads.net> X-OriginalArrivalTime: 28 Sep 2007 14:50:57.0245 (UTC) FILETIME=[FA38C0D0:01C801DE] X-Virus-Checked: Checked by ClamAV on apache.org Hi! On Friday 28 September 2007, Xavier Hanin wrote: > On 9/28/07, Johannes Stamminger > > wrote: > > Hi! > > ... > > I tried to say, that I am not sure if both configurations should be > > included, > > if the requested versions defined by the dependencies resolve to > > different ones (before conflict management), e.g. with modified example > > > > moduleB depends libX-1.5 in conf U,V > > > > Now, before conflict management, two *different* versions are resolved, > > 1.5 > > and 1.7. Now 1.5 indeed get's evicted and I was thinking about, if it > > would > > be correct to "merge" the requested configurations. Maybe this should be > > done > > only for those, being included in both versions? > > Until now Ivy has always considered configurations as isolated. So in this > case you would end up with libX 1.5 in V and 1.7 in U. Changing this No. Before conflict management we have libX-1.5 in U *and* V, libX-1.7 in U only. The latest conflict manager now "simply" throws away the libX-1.5 version and doing so "forgets" about the need of libX in conf V. > behavior would be quite complex, and may lead to some troubles: what I fear that you are correct here ;-(. > happens when you resolve only one configuration out of two? I think > dependency resolution must no depend on how the configurations are > resolved, so we would have to take care of all configurations resolution > even when you resolve only one configuration... not a very good idea IMO. Maybe I misunderstood you (would be easier for me to have an example of that), but so far: No, you "just" ;-) have to take care on that one configuration you are looking for. And it must not be thrown away on eviction as it currently would (in my example on resolving for conf V libX would not get included at all). I did not have a look to the conflict manager's sourcecode, yet, so I do not have an idea of how it could be implemented. But in general speaking I would expect that a dependent lib is kept in all requested configurations after conflicts' management - or if the chosen version (in my example 1.7) does *not* provide all requested configurations (note that this is currently *not* covered by the above example!!!), conflict management IMHO has to fail (currently it does not). An example for a case where ivy should fail to resolve would look like: libX-1.5 provides confs U,V libX-1.7 provides conf U only Now with the dependencies moduleA depends libX-1.+ in conf U moduleA depends moduleB in conf U,V moduleB depends libX-1.5 in conf U,V it should fail as the latest version chosen libX-1.7 cannot fullfill the need for conf V. Kind regards, Johannes Stamminger This email (including any attachments) may contain confidential and/or privileged information or information otherwise protected from disclosure. If you are not the intended recipient, please notify the sender immediately, do not copy this message or any attachments and do not use it for any purpose or disclose its content to any person, but delete this message and any attachments from your system. Astrium disclaims any and all liability if this email transmission was virus corrupted, altered or falsified. --------------------------------------------------------- Astrium GmbH Vorsitzender des Aufsichtsrates: Thomas Mueller - Geschaeftsfuehrung: Evert Dudok (Vorsitzender), Dr. Reinhold Lutz, Pablo Salame Fischer Sitz der Gesellschaft: Muenchen - Registergericht: Amtsgericht Muenchen, HRB Nr. 107 647