Return-Path: Delivered-To: apmail-ant-ivy-user-archive@www.apache.org Received: (qmail 99361 invoked from network); 21 Oct 2009 14:49:35 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 21 Oct 2009 14:49:35 -0000 Received: (qmail 27599 invoked by uid 500); 21 Oct 2009 14:49:28 -0000 Delivered-To: apmail-ant-ivy-user-archive@ant.apache.org Received: (qmail 27576 invoked by uid 500); 21 Oct 2009 14:49:28 -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 27565 invoked by uid 99); 21 Oct 2009 14:49:25 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Oct 2009 14:49:25 +0000 X-ASF-Spam-Status: No, hits=-6.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of Douglass.A.Glidden@boeing.com designates 130.76.32.69 as permitted sender) Received: from [130.76.32.69] (HELO blv-smtpout-01.boeing.com) (130.76.32.69) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Oct 2009 14:49:22 +0000 Received: from blv-av-01.boeing.com (blv-av-01.boeing.com [130.247.48.231]) by blv-smtpout-01.ns.cs.boeing.com (8.14.0/8.14.0/8.14.0/SMTPOUT) with ESMTP id n9LEn2qc029438 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Wed, 21 Oct 2009 07:49:02 -0700 (PDT) Received: from blv-av-01.boeing.com (localhost [127.0.0.1]) by blv-av-01.boeing.com (8.14.0/8.14.0/DOWNSTREAM_RELAY) with ESMTP id n9LEn2i0025147 for ; Wed, 21 Oct 2009 07:49:02 -0700 (PDT) Received: from XCH-MWHT-05.mw.nos.boeing.com (xch-mwht-05.mw.nos.boeing.com [134.57.119.160]) by blv-av-01.boeing.com (8.14.0/8.14.0/UPSTREAM_RELAY) with ESMTP id n9LEn1L2025126 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=OK) for ; Wed, 21 Oct 2009 07:49:01 -0700 (PDT) Received: from XCH-MW-11V.mw.nos.boeing.com ([134.57.119.194]) by XCH-MWHT-05.mw.nos.boeing.com ([134.57.119.160]) with mapi; Wed, 21 Oct 2009 09:49:01 -0500 From: "Glidden, Douglass A" To: "ivy-user@ant.apache.org" Date: Wed, 21 Oct 2009 09:49:00 -0500 Subject: RE: dynamic revision and determine the most recent Thread-Topic: dynamic revision and determine the most recent Thread-Index: AcpSWRtE9brbtjHrSL+147NiPBKFOwAAMGbQ Message-ID: References: <25992333.post@talk.nabble.com> <25993396.post@talk.nabble.com> In-Reply-To: <25993396.post@talk.nabble.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 I'm confused-doesn't a SNAPSHOT revision get converted to a timestamp on pu= blish? I have never used SNAPSHOT versioning, so perhaps my understanding = is incorrect. In this scenario, I think it's pretty likely that D1's version of Module B = will fail to compile regardless of which version of Module A gets downloade= d-it will not compile using the version from the local repository because D= 2's changes are missing, and most likely it will not compile using the vers= ion from the shared repository because D1's changes are missing. If it doe= s happen to compile anyway (because D1 hasn't made any changes in Module B = that rely on his own changes in Module A), that could be a significantly wo= rse problem, because D1 may not realize that his changes from Module A have= not been incorporated. The bottom line is, anytime two developers make si= multaneous changes, one of them is going to have to merge the changes and r= epublish at some point in time; it's just a matter of how soon it has to be= done. However, as Niklas has correctly pointed out, you should be able (with a fe= w caveats) to get what you're looking for by using the "latest-time" latest= strategy instead of the default latest strategy ("latest-revision"). (As an aside, my personal opinion is that if you have a developer sitting w= ith uncommitted changes on his local machine for 20 days, your team has big= ger things to worry about than not getting the right version of a snapshot;= that's just my opinion, though, and may or may not be relevant.) Doug Glidden Software Engineer The Boeing Company Douglass.A.Glidden@boeing.com -----Original Message----- From: corwin.yo [mailto:corwin.yo@infonie.fr] Sent: Wednesday, October 21, 2009 10:16 To: ivy-user@ant.apache.org Subject: RE: dynamic revision and determine the most recent Thanks Douglass, I understand how its working. But in this case, what is the best practice ? If we imagine this case : Module B depends of Module A (A->B) 2009-10-01 : the developper D1 commits and publishes to its local a modific= ation on 1.2.0-SNAPSHOT version of module A. 2009-10-20 : a developper D2 commits another modification on 1.2.0-SNAPSHOT= of module A and a continue integration system publishes to a shared reposi= tory. This modification occurs a new dependancy with module B. 2009-10-21 : developpeur D1 updates the Module B and Ivy downloads the las= test.integration Module A from the local. Thereforce Module B does not comp= ile, because it is older. Has to update Module A and publish the last changes in its local, Developpe= r D1 ? or is there a better pratice ? Glidden, Douglass A wrote: > > Ivy uses ONLY the revision numbers to compare versions across > repositories-it does not use the "publication date" or any other > metadata-it would be essentially meaningless, since there is no > guarantee that any given server or your local computer has a correctly > synchronized system clock. If an artifact is found with the same > revision in two different repositories, they are assumed to be the > same and whatever repository is first in the chain will be used. So > in your case, Ivy finds that the most recent version in each > repository is 1.1.7.1; since they are the same, it then proceeds to > download from the first repository in the chain. If two revisions are > different they need to have different revision numbers. > > Incidentally, the returnFirst property (which is false by default) has > no relation to this-setting returnFirst to true causes Ivy to get the > artifact from the first repository in which it finds a satisfactory > version without checking to see if there are more recent versions in > other repositories. > > Doug Glidden > Software Engineer > The Boeing Company > Douglass.A.Glidden@boeing.com > > -- View this message in context: http://www.nabble.com/dynamic-revision-and-de= termine-the-most-recent-tp25992333p25993396.html Sent from the ivy-user mailing list archive at Nabble.com.