Return-Path: Delivered-To: apmail-ant-ivy-user-archive@www.apache.org Received: (qmail 47226 invoked from network); 30 Dec 2009 11:51:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 30 Dec 2009 11:51:06 -0000 Received: (qmail 10995 invoked by uid 500); 30 Dec 2009 11:51:05 -0000 Delivered-To: apmail-ant-ivy-user-archive@ant.apache.org Received: (qmail 10957 invoked by uid 500); 30 Dec 2009 11:51:05 -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 10947 invoked by uid 99); 30 Dec 2009 11:51:04 -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 11:51:04 +0000 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [212.27.42.5] (HELO smtp5-g21.free.fr) (212.27.42.5) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Dec 2009 11:50:55 +0000 Received: from smtp5-g21.free.fr (localhost [127.0.0.1]) by smtp5-g21.free.fr (Postfix) with ESMTP id 28A59D4801F; Wed, 30 Dec 2009 12:50:31 +0100 (CET) Received: from [192.168.0.6] (cac94-8-82-245-26-131.fbx.proxad.net [82.245.26.131]) by smtp5-g21.free.fr (Postfix) with ESMTP id 11E86D4806C; Wed, 30 Dec 2009 12:50:29 +0100 (CET) Message-ID: <4B3B3E84.8070600@nereide.biz> Date: Wed, 30 Dec 2009 12:50:28 +0100 From: lemine youssef User-Agent: Thunderbird 2.0.0.23 (X11/20090817) MIME-Version: 1.0 To: Garima Bathla , ivy-user@ant.apache.org Subject: Re: transitive dependencies fails References: <4B3A5BB4.9060501@nereide.biz> <1fb30820912291445u50487fa4ufbf9335ccdb4bafb@mail.gmail.com> <4B3A90F7.3050309@nereide.biz> <1fb30820912292355s5a874554xe121c41ea9710857@mail.gmail.com> In-Reply-To: <1fb30820912292355s5a874554xe121c41ea9710857@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Virus-Checked: Checked by ClamAV on apache.org Thanks again for your care, <> I expected Ivy to get the latest version of moduleB for wich he can resolve the dependency of moduleA, thats means: I excpect that ivy take the latest version of B trys to resole its dependencies and in case of failure, Ivy should take the previous version of B and so on until it found a version of B for which the dependencies can be resolved. if all version of B are tried without success the Ivy can stop and return UNRESOLVED DEPENDENCY. In my case I excpect that Ivy proceed this way a)- take the version 3.0 of addonB (dependency on addonA not satisfied); b)- take the version 2.0 of addonB (dependency on addonA not satisfied); c)- take the version 1.0 of addonB (dependency on addonA is now satisfied); return success. <> Ivy is trying to resolve the dependency of the absolute latest version of moduleB which is not possible, so he fails and stop. In my case Ivy only tries the version 3.0 of B . I hope is now clear thank again for u'r time. Youssef. Garima Bathla a �crit : > I am little confused with your reply. Can you tell me please what you > are expecting and what behavior you are seeing. > > What is the expected behavior from ivy? but what you are seeing? > > That will be problem statement for me to solve.. I am right now not clear. > > > for ivy I supposed that he will search for latest for module B for > which we can resolve dependencies. > Actually he searches for the laster version of A regardless of the > existence of dependences. > ======================== > > Version 3.0===================================== > > > > rev="[3,)"/> > > > > > > So it is looking for 3 or higher version of A because that is how you > have declared the dependencies for revision=3 for moduleB. > > > > On Tue, Dec 29, 2009 at 3:29 PM, lemine youssef > > > wrote: > > Garima Bathla a �crit : > > Thanks for your response :-) ; > my answers, explanations inside your response. > > I did not quite understood your problem? Dependencies that do > not exist will > fail and looks like you do undestand that. > > > I do understand. > > When I try to resolve an artifact B which depends on artifact > A it fails > because the "latest.integration" of B dpends on* a non > existing revision of > A.* > > I also see, the B module depends on same or higher revisions of A > > so e.g. revision 1 of B depends on revision 1 or higher till 2 > of A > revision 2 of B depends on revision 2 or higher till > 3 of A > revision 3 of B depends on revision 3 of A > > So if you have no idea on who is developing module A or it is > always going > to be a fixed revision I suggest you fix the dependency > element in moduleB > to depend on revision (,3.0] > > rev="(,3.0]"/> > > > > module A is always growing with time and every-time he came non > compatible with > B, I do the necessary changes (and raise the revision) on the > module B . > > but for some production environment will always keep a specific > version of A (may be an old one), > therefore we keep that version locally. > for ivy I supposed that he will search for latest for module B for > which we can resolve dependencies. > Actually he searches for the laster version of A regardless of the > existence of dependences. > > I hope Its now clear for you. > thank u again. > Youssef. > > HTH, > Garima. > > On Tue, Dec 29, 2009 at 11:42 AM, lemine youssef < > youssef.m-lemine@nereide.biz > > wrote: > > > > Hi all; > > When I try to resolve an artifact B which depends on > artifact A it fails > because the "latest.integration" of B dpends on a non > existing revision of > A. > > I have two locals repositories and use a chain resolver > like this > > defaultCacheDir="${ivy.cache.dir}/ivy-cache"> > basedir="${ivy.cache.dir}/repository" > ivyPattern="ivy.xml" > artifactPattern="[artifact]-[revision].jar" > lockStrategy="no-lock" > defaultTTL="5s"> > > > > > > pattern="${ivy-home-repo}/repository2/[module]/[revision]/ivy.xml" > /> > pattern="${ivy-home-repo}/repository2/[module]/[revision]/[artifact]-[revision].jar" > /> > > > pattern="${ivy-home-repo}/repository1/[module]/[revision]/ivy.xml"/> > pattern="${ivy-home-repo}/repository1/[module]/[revision]/[artifact]-[revision].jar"/> > > > > > resolver="internal" /> > > > > repository 1: contains only one revision of the module addonA > > > revision="1.0"/> > > > > > repository 2: contains many revisions of the module addonB > > ========================Version > 1.0===================================== > > revision="1.0"/> > > rev="[1,2["/> > > > > ========================Version > 2.0===================================== > > revision="2.0"/> > > rev="[2,3["/> > > > ========================Version > 3.0===================================== > > revision="3.0"/> > > transitive="true" rev="[3,)"/> > > > > > > > > > >