Return-Path: Delivered-To: apmail-ant-ivy-user-archive@www.apache.org Received: (qmail 34132 invoked from network); 17 Apr 2009 19:39:34 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 17 Apr 2009 19:39:34 -0000 Received: (qmail 35556 invoked by uid 500); 17 Apr 2009 19:39:34 -0000 Delivered-To: apmail-ant-ivy-user-archive@ant.apache.org Received: (qmail 35530 invoked by uid 500); 17 Apr 2009 19:39:34 -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 35520 invoked by uid 99); 17 Apr 2009 19:39:34 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Apr 2009 19:39:34 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of t.greenwoodgeer@gmail.com designates 209.85.198.241 as permitted sender) Received: from [209.85.198.241] (HELO rv-out-0708.google.com) (209.85.198.241) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Apr 2009 19:39:24 +0000 Received: by rv-out-0708.google.com with SMTP id c5so1589522rvf.40 for ; Fri, 17 Apr 2009 12:39:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=kTPq0WuTMQ0k4tv6/218XkeXbXK9INHOa4fbm0CdnH8=; b=LbYffgbC7tKQu0XAZh32kUEfQ+Iv/iA63NIXfxKCfDHoJSG6O55Tw9/zUbd8zv6Vl1 iKFHEQcYVxb0BAL+FQpoAkwXT33aj+RemP800q3XbNg5xXuZKw5KHSjKcnwFBGwRfZbn Tm6W8Oomgr2kp6jIaL7/vXotvgVGy7bFz3Gk4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; b=nE46KKguUCxku5wA95z+uOhL9+NjOqm95752d0G3QZQsY7PIwmt2i/b90nThrjQy8l 3dBFTGqoesMNRpTr9z8vsnIcEDCfmkpijwypNKBlV+jiK9ppGAEBbExns2AYgYxeF/yc iGMZXwLYreUBZ8jLq9bu21mJbp+kqWVwKb75U= Received: by 10.141.212.5 with SMTP id o5mr1326367rvq.11.1239997144580; Fri, 17 Apr 2009 12:39:04 -0700 (PDT) Received: from ?172.17.1.66? ([65.102.144.193]) by mx.google.com with ESMTPS id g31sm1036031rvb.11.2009.04.17.12.39.02 (version=SSLv3 cipher=RC4-MD5); Fri, 17 Apr 2009 12:39:03 -0700 (PDT) Message-ID: <49E8DAD5.7040302@gmail.com> Date: Fri, 17 Apr 2009 12:39:01 -0700 From: Todd Greenwood-Geer User-Agent: Thunderbird 2.0.0.21 (X11/20090318) MIME-Version: 1.0 To: ivy-user@ant.apache.org Subject: Re: Managing an ivy repository and resolving dependencies References: <49E7C6C1.8060102@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Tetyana and Antoine, thank you for your responses. I'd like to refine my questions to a specific problem: I'm attempting to build a repo for a default Grails application. Grails auto-generates the app/ivy.xml and the app/ivysettings.xml, which resolve dependencies just fine, and the apps compile and run via ant&ivy with no problem. My approach to building a local repo initially involved taking the app/ivy.xml, and migrating the app/ivy.xml: to my repository/build.xml: tasks. However, I have found that this naive migration resulted in a number of unresolved dependencies, and that if I replaced the resolvers in app/ivysettings.xml (which resolve to ibiblio, etc.) with resolvers to my local filesystem, then ivy would download a significantly smaller subset of the dependencies needed by the grails app. Subsequently, the grails app would fail to compile or run. So, my second approach has been to try to generate the local repo directly from the app/build.xml, using the original unmodified app/ivy.xml and app/ivysettings.xml. With this approach, ivy downloads the dependency artifacts to a staging area. Exciting stuff. However, I'm a bit stuck w/ respect to publishing. I'll include my targets below, but to wrap up, when I publish, only the top level object, my grails app, gets published. My goal is to publish not just the top level project (in fact, I don't really need this top level), but what I need to publish are all the dependencies of this project. Looking at the docs (http://ant.apache.org/ivy/history/2.1.0-rc1/use/publish.html), I don't see anything re: publishing the dependencies of a module. What are my options here? Do I need to write some code to walk the directory where I'm staging all my dependencies, and publish each one in turn? Or is there a cleaner approach? Here are my some of my artifacts: #=============================================== #app/ivy.xml // grails generated #=============================================== #=============================================== #app/build.xml // my custom tasks for dependency publishing #=============================================== #=============================================== #repo/staging // subset of what gets downloaded #=============================================== toddg@LAPTOP:~/src/Main/FOO/etc/project/main/foo-ivy-repo/staging/foo$ find xpp3/ xpp3/ xpp3/xpp3_min xpp3/xpp3_min/ivys xpp3/xpp3_min/ivys/ivy-1.1.3.4.O.xml xpp3/xpp3_min/jars xpp3/xpp3_min/jars/xpp3_min-1.1.3.4.O.jar #=============================================== #repo/staging // subset of what gets downloaded #=============================================== MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+. Again, thank you for your time. -Todd