Return-Path: Delivered-To: apmail-ant-ivy-user-archive@www.apache.org Received: (qmail 29471 invoked from network); 29 Feb 2008 20:40:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 29 Feb 2008 20:40:42 -0000 Received: (qmail 22795 invoked by uid 500); 29 Feb 2008 20:40:37 -0000 Delivered-To: apmail-ant-ivy-user-archive@ant.apache.org Received: (qmail 22777 invoked by uid 500); 29 Feb 2008 20:40:36 -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 22768 invoked by uid 99); 29 Feb 2008 20:40:36 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 29 Feb 2008 12:40:36 -0800 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 [84.96.92.120] (HELO neuf-infra-smtp-out-sp604007av.neufgp.fr) (84.96.92.120) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 29 Feb 2008 20:39:49 +0000 Received: from neuf-infra-smtp-out-sp604001av.neufgp.fr ([84.96.92.125]) by neuf-infra-smtp-out-sp604007av.neufgp.fr with neuf telecom id vYZ51Y0012iH3ss0701000; Fri, 29 Feb 2008 21:40:08 +0100 Received: from [192.168.1.15] ([77.192.12.251]) by neuf-infra-smtp-out-sp604001av.neufgp.fr with neuf telecom id vYg71Y00D5Qzcud0100000; Fri, 29 Feb 2008 21:40:08 +0100 Message-Id: From: =?ISO-8859-1?Q?Nicolas_Lalev=E9e?= To: ivy-user@ant.apache.org In-Reply-To: <8CCED536-BCE8-42BA-A7C4-F743E74BB3D2@iki.fi> Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Apple Message framework v919.2) Subject: Re: Continuous integration and deciding whether to build Date: Fri, 29 Feb 2008 21:40:07 +0100 References: <8CCED536-BCE8-42BA-A7C4-F743E74BB3D2@iki.fi> X-Mailer: Apple Mail (2.919.2) X-Virus-Checked: Checked by ClamAV on apache.org Le 29 f=E9vr. 08 =E0 20:24, Juha Ranta a =E9crit : > Hello, > > As an introduction, I have an existing build system that I'm trying =20= > to improve by using Ivy. I think Ivy is very cool, so big thanks for =20= > it! > > I have a build server with projects checked out from CVS in one =20 > directory like this: > > projectA/ > projectB/ > projectC/ > projectD/ > .... > > Each project has in its root directory a build.xml and ivy.xml which =20= > also come from CVS. > > Each of these projects can build, tag, etc, itself and finally =20 > publish its artifact to an Ivy repository independently without =20 > directly referencing other projects. Now I'd like to implement a =20 > simple script which polls CVS and builds automatically builds new =20 > artifacts from projects which, well, need to be built. I can quite =20 > easily get a list of these projects with the Ant task buildlist =20 > sorted so that, for example, if A depends on B, B gets built and =20 > published before A. During the buildlist processing, the script goes =20= > through each of the projects to see if there are any changes in CVS =20= > and if there are, the project gets built. This works fine except =20 > that there are also the dynamic "latest.integration" revisions in =20 > the ivy.xmls and the script doesn't know if some if the dynamic =20 > revisions have changed by just polling CVS. > > I think that my script would work like I wanted it to if it would =20 > trigger a new build if the project has changed in CVS since the last =20= > build *or* if the dynamic revisions have changed. Therefore I'm now =20= > wondering what's the best way to check whether the dynamic revisions =20= > have changed. My script can get to the "static" ivy.xml of the =20 > previous build. It perhaps would work if the script executed =20 > "resolve", "delivered" a new static ivy.xml and then somehow diffed =20= > the static dependencies of the previous static ivy.xml to the new =20 > static ivy.xml to decide whether a new build should be triggered. > > Are the some easy ways to check if the dependencies of the latest =20 > resolved ivy.xml differ from those of a previously resolved ivy.xml? =20= > Or you think my approach is way off and that I should do it some =20 > other way? I have no answer but a question :) It seems strange to me of having a dynamic revision that does not =20 change between two builds. What is the rationale behind it ? Nicolas