Return-Path: Delivered-To: apmail-ant-ivy-user-archive@www.apache.org Received: (qmail 84252 invoked from network); 30 Dec 2009 13:53:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 30 Dec 2009 13:53:48 -0000 Received: (qmail 78264 invoked by uid 500); 30 Dec 2009 13:53:47 -0000 Delivered-To: apmail-ant-ivy-user-archive@ant.apache.org Received: (qmail 78200 invoked by uid 500); 30 Dec 2009 13:53:47 -0000 Mailing-List: contact ivy-user-help@ant.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ivy-user@ant.apache.org Delivered-To: mailing list ivy-user@ant.apache.org Received: (qmail 78190 invoked by uid 99); 30 Dec 2009 13:53:47 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Dec 2009 13:53:47 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [68.142.200.150] (HELO web30807.mail.mud.yahoo.com) (68.142.200.150) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 30 Dec 2009 13:53:37 +0000 Received: (qmail 66492 invoked by uid 60001); 30 Dec 2009 13:53:15 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1262181195; bh=eiAnCcNocRVOnG/cJCJfvzfZttMhnr3c7Xfq+VG2YBE=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:References:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=AwgkjCY9kW/YC2cngyjwtxzTzX2pP7aq0Gq3RvOfX6f6exwKRgN65hp2/dYtLny/Yyiydl43+lxGpXnXBcwqKj4pcPL433U7kGkC45FhCIPTlNoqAai8CRG+7/h36dk7RoICip3rwqx2hY+bza4d/Nv40+J8MnRGkvoquOKSoJk= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:References:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=ZLM4sVjFbdcOZBQ6P451Ik6Um7N4Nt8wruwA3F0zYDnZ60BxspyR63spLMOZXi6OQf0jt72ABfW5SKrfx52qmuHwdJgKs5hKgF/p9aARY+rtM5DYt5ESDvhKOukqGuCgGwn96q0O1TW3Ts2+lF069KKkTs7BR8XlrAgETtU0KZw=; Message-ID: <760745.65606.qm@web30807.mail.mud.yahoo.com> X-YMail-OSG: gkSsrXoVM1lTK.PU8wQPjfs6l1gDen_QL7Hwbg1fp5C1Ofr99q1MlrxQdMwemH9y4MNQx870g.JA.cYnO5DBk.qHXvP_MMIE_6s_oLtDRdmCHhudgWtxbj3McMa847a2BLAOfCrGxSPdD8M22RdOZRcId2q8v3.tL_ipdR3RgDKF9oPc3UkC5dOlOW.RzSBMjAUzhUTtZsa1A6kR4IHCBIIA5CJLMRXmwG5Ac3S_tLCb116nS9cgt.lycPALvXkExyIZ8OZOye1YUfeOdb48dAcQbXi863xJqgBJGhCriM7MK3lLSPRfepBOfbmsFOM6B4kICoevdU5TawQSP1VBbzz0Z6H2fvygu2NE.0y5AM.sikZ5LSRLSvug69_degX0Lx.H4fIpctvuNahZ.x.XzM8E7q2khioGhKIk7tXSA.mI9QlkJ9UVngkckkAJ8w-- Received: from [80.200.28.211] by web30807.mail.mud.yahoo.com via HTTP; Wed, 30 Dec 2009 05:53:15 PST X-Mailer: YahooMailRC/240.3 YahooMailWebService/0.8.100.260964 References: <4B3A5BB4.9060501@nereide.biz> <1fb30820912291445u50487fa4ufbf9335ccdb4bafb@mail.gmail.com> <4B3A90F7.3050309@nereide.biz> <1fb30820912292355s5a874554xe121c41ea9710857@mail.gmail.com> <4B3B3E84.8070600@nereide.biz> Date: Wed, 30 Dec 2009 05:53:15 -0800 (PST) From: Maarten Coene Subject: Re: transitive dependencies fails To: ivy-user@ant.apache.org In-Reply-To: <4B3B3E84.8070600@nereide.biz> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org The behaviour you want is not possible with Ivy at the moment.=0A=0AMaybe y= ou could try to accomplish what you want with a custom version-matcher. For= this, you have to implement the org.apache.ivy.plugin.version.VersionMatch= er interface and invent a syntax for this kind of version, like for instanc= e:=0A=0A=0ABut maybe a much simpler solution is to add the missing addonA v= ersions to your repository?=0A=0Aregards,=0AMaarten=0A=0A=0A=0A=0A----- Ori= ginal Message ----=0AFrom: lemine youssef =0A= To: Garima Bathla ; ivy-user@ant.apache.org=0ASent= : Wed, December 30, 2009 12:50:28 PM=0ASubject: Re: transitive dependencies= fails=0A=0AThanks again for your care,=0A=0A<>=0AI expected Ivy to get the latest version of moduleB for wic= h he can resolve=0Athe dependency of moduleA, thats means:=0AI excpect that= ivy take the latest version of B trys to resole its dependencies=0Aand in = case of failure, Ivy should take the previous version of B and so on until= =0Ait found a version of B for which the dependencies can be resolved.=0Aif= all version of B are tried without success the Ivy can stop and return UNR= ESOLVED DEPENDENCY.=0A=0AIn my case I excpect that Ivy proceed this way=0A = a)- take the version 3.0 of addonB (dependency on addonA not satisfied);= =0A b)- take the version 2.0 of addonB (dependency on addonA not satisfie= d);=0A c)- take the version 1.0 of addonB (dependency on addonA is now s= atisfied);=0A return success.=0A=0A=0A<>=0AIvy= is trying to resolve the dependency of the absolute latest version of modu= leB which is not possible, so he fails and stop.=0AIn my case Ivy only trie= s the version 3.0 of B .=0A=0AI hope is now clear=0Athank again for u'r tim= e.=0A=0AYoussef.=0A=0A=0AGarima Bathla a =E9crit :=0A> I am little confused= with your reply. Can you tell me please what you are expecting and what be= havior you are seeing.=0A> =0A> What is the expected behavior from ivy? but= what you are seeing?=0A> =0A> That will be problem statement for me to sol= ve.. I am right now not clear.=0A> =0A> =0A> for ivy I supposed that he wil= l search for latest for module B for which we can resolve dependencies.=0A>= Actually he searches for the laster version of A regardless of the existen= ce of dependences.=0A> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=0A> =0A> Version 3.0=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=0A> =0A> =0A> =0A> rev=3D"[3,)"/>=0A> =0A> =0A= > =0A> =0A> =0A> So it is looking for 3 or higher version of A because that= is how you have declared the dependencies for revision=3D3 for moduleB.=0A= > =0A> =0A> =0A> On Tue, Dec 29, 2009 at 3:29 PM, lemine youssef > wrote:=0A> =0A> = Garima Bathla a =E9crit :=0A> =0A> Thanks for your response :-) ;= =0A> my answers, explanations inside your response.=0A> =0A> I = did not quite understood your problem? Dependencies that do=0A> not= exist will=0A> fail and looks like you do undestand that.=0A> = =0A> I do understand.=0A> =0A> When I try to resolve an ar= tifact B which depends on artifact=0A> A it fails=0A> becau= se the "latest.integration" of B dpends on* a non=0A> existing revi= sion of=0A> A.*=0A> =0A> I also see, the B module depends = on same or higher revisions of A=0A> =0A> so e.g. revision 1 of B d= epends on revision 1 or higher till 2=0A> of A=0A> = revision 2 of B depends on revision 2 or higher till=0A> 3 of A=0A= > revision 3 of B depends on revision 3 of A=0A> =0A> = So if you have no idea on who is developing module A or it is=0A> = always going=0A> to be a fixed revision I suggest you fix the de= pendency=0A> element in moduleB=0A> to depend on revision (= ,3.0]=0A> =0A> rev=3D"(,3.0]"/>=0A> =0A> =0A> modu= le A is always growing with time and every-time he came non=0A> compat= ible with=0A> B, I do the necessary changes (and raise the revision) on= the=0A> module B .=0A> =0A> but for some production environment w= ill always keep a specific=0A> version of A (may be an old one),=0A> = therefore we keep that version locally.=0A> for ivy I supposed that h= e will search for latest for module B for=0A> which we can resolve depe= ndencies.=0A> Actually he searches for the laster version of A regardle= ss of the=0A> existence of dependences.=0A> =0A> I hope Its now cle= ar for you.=0A> thank u again.=0A> Youssef.=0A> =0A> HTH,= =0A> Garima.=0A> =0A> On Tue, Dec 29, 2009 at 11:42 AM, lem= ine youssef <=0A> youssef.m-lemine@nereide.biz=0A> > wrote:=0A> =0A> =0A> Hi = all;=0A> =0A> When I try to resolve an artifact B which depends= on=0A> artifact A it fails=0A> because the "latest= .integration" of B dpends on a non=0A> existing revision of=0A= > A.=0A> =0A> I have two locals repositories and us= e a chain resolver=0A> like this=0A> = =0A> = defaultCacheDir=3D"${ivy.cache.dir}/ivy-cache">=0A> = basedir=3D"${ivy.cache.di= r}/repository"=0A> ivyPattern=3D"ivy.xml"=0A> = artifactPattern=3D"[artifact]-[revision].jar"=0A> = lockStrategy=3D"no-lock"=0A> defaultTTL=3D"5s">= =0A> =0A> =0A> = =0A> =0A> = =0A> = pattern=3D"${ivy-home-repo}/repository2/[module]/[revision]/ivy= .xml"=0A> />=0A> = pattern=3D"${ivy-home-repo}/repository2/[module]/[revision]/[artifac= t]-[revision].jar"=0A> />=0A> =0A> =0A> = pattern=3D"${ivy-home-repo}/repositor= y1/[module]/[revision]/ivy.xml"/>=0A> pattern=3D"${ivy-home-repo}/repository1/[module]/[revisio= n]/[artifact]-[revision].jar"/>=0A> = =0A> =0A> =0A> = =0A> resolver=3D"internal" />=0A> = =0A> =0A> =0A> reposi= tory 1: contains only one revision of the module addonA=0A> =0A> = =0A> revision=3D"1.0"/>=0A> = =0A> =0A> =0A> =0A> repository 2: contains many revisions of the modu= le addonB=0A> =0A> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3DVersion=0A> 1.0=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=0A> =0A> = r= evision=3D"1.0"/>=0A> =0A> = rev=3D"[1,2["/>=0A> =0A> =0A> =0A> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3DVersion=0A> 2.0=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=0A> =0A> = revisio= n=3D"2.0"/>=0A> =0A> rev=3D= "[2,3["/>=0A> =0A> =0A= > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3DVersion=0A> 3.0=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =0A> =0A> revision=3D"3.0"/>= =0A> =0A> transitive=3D"true" rev=3D"[3,)"/>=0A= > =0A> =0A> =0A> = =0A> =0A> =0A> =0A> =0A=0A=0A