From dev-return-85360-apmail-ant-dev-archive=ant.apache.org@ant.apache.org Wed Apr 07 16:00:57 2010 Return-Path: Delivered-To: apmail-ant-dev-archive@www.apache.org Received: (qmail 56835 invoked from network); 7 Apr 2010 16:00:57 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 7 Apr 2010 16:00:57 -0000 Received: (qmail 32978 invoked by uid 500); 7 Apr 2010 16:00:56 -0000 Delivered-To: apmail-ant-dev-archive@ant.apache.org Received: (qmail 32911 invoked by uid 500); 7 Apr 2010 16:00:56 -0000 Mailing-List: contact dev-help@ant.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list dev@ant.apache.org Received: (qmail 32903 invoked by uid 99); 7 Apr 2010 16:00:56 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Apr 2010 16:00:56 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of mgitman@gmail.com designates 209.85.223.192 as permitted sender) Received: from [209.85.223.192] (HELO mail-iw0-f192.google.com) (209.85.223.192) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Apr 2010 16:00:49 +0000 Received: by iwn30 with SMTP id 30so654476iwn.28 for ; Wed, 07 Apr 2010 09:00:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:content-type; bh=ww84Rv6fFPLvkoFNv+SyX2FTnmhzIG6VoeegrsYqDgQ=; b=NRXUxNxoxk5lNvJnwz6ZFZDGkEWqCR9fz/k5Un5qMp6jNWQE16qBeNdX6ISHbp9I9z 85RyqQhrEDeIrDpT4F50H7a327UU3h5aOK/7v9FMNMPur0pIwJl6iOfYVXM/BLHa2PQV Tj8kWsQCAwfsANsMduc2rDL5ahmo+/YmoX5hI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=SeBLpaEDieKVblHRMyhzeFi8Y0heKFe9O4obXethRYplAtBf+w6HFPbYN0W6qQqD9l VBPG7orsEPKEBGpdqEp/TjWAK/j7eYFPwmnjazes7WMPD8jkAopFh4wIK14MsF01+tdU jYbBKNRu7Rhk8BvEFpwxQQczWX/Ibb8zFlcRE= MIME-Version: 1.0 Received: by 10.231.18.73 with HTTP; Wed, 7 Apr 2010 09:00:27 -0700 (PDT) In-Reply-To: <1C5D91B2-DB68-41E0-A1A8-86C72763D44F@gmail.com> References: <1C5D91B2-DB68-41E0-A1A8-86C72763D44F@gmail.com> Date: Wed, 7 Apr 2010 09:00:27 -0700 Received: by 10.231.174.142 with SMTP id t14mr4138679ibz.69.1270656027883; Wed, 07 Apr 2010 09:00:27 -0700 (PDT) Message-ID: Subject: Re: Getting Ivy dependency tree from Ant target From: Mitch Gitman To: Ant Developers List Content-Type: multipart/alternative; boundary=0016363b8b402c79900483a7a9af X-Virus-Checked: Checked by ClamAV on apache.org --0016363b8b402c79900483a7a9af Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Serge: I think this is the sort of question you'd best ask on the ivy-user mailing list: ivy-user@ant.apache.org My understanding is that this particular list is for internal Ant development. That said, let me give a quick answer to your question. Suppose you have some projects: acmewebapp depends on --> acmeapplication depends on --> acmedomain You want acmewebapp to use the latest changes in acmeapplication and acmedomain. The standard way to accomplish this is to publish your latest changes in the latter projects to an Ivy repository using the ivy:publish Ant task. Then depending on how you've configured the caching for Ivy, your build for acmewebapp--using the ivy:resolve task--will pick up those latest changes. There's also an ivy:buildlist Ant task which, with certain limitations, wil= l figure out the correct dependency chain in a suite of projects and build an entire stack in order. But typically, instead of using buildlist, you'll be relying on your CI server to pick up changes and do publishes to a shared repository. Or if you're just working locally, you'll be publishing locally yourself or relying on the IDE, for example Eclipse with the IvyDE plugin. 2010/4/7 Serge K > I=E2=80=99m trying to migrate from proprietary build system to Ant/Ivy. > > The application has over 600 modules to build and package. > Most of the modules have dependencies on other modules > i.e. build of one top level module should invoke build and packaging a tr= ee > of dependent modules. > > Question: > Is there a way to retrieve dependencies declared in Ivy config files from > Ant target during the build so that Ant can rebuild dependent modules? > > To my understanding Ivy just fetches prebuilt versions of modules and can > not be used from Ant > like > depends=3D"get_dependency.bbb,dependency.bbb_from_ivy_configs"> > > > > I don=E2=80=99t want to have duplicate declarations of the same dependenc= ies in Ivy > for packaging > and then in =E2=80=9Cdepends=E2=80=9D attribute of Ant targets for build. > > I went over Ivy API and source code. No help. > > It seems I=E2=80=99d need to code external component that parses Ivy modu= les, > loads dependency tree and invokes Ant to build each dependent module. > Then use Ivy to fetch prebuilt modules and package them. > > Any suggestions? > > Thank you. > Serge K. > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org > For additional commands, e-mail: dev-help@ant.apache.org > > --0016363b8b402c79900483a7a9af--