Return-Path: X-Original-To: apmail-ant-ivy-user-archive@www.apache.org Delivered-To: apmail-ant-ivy-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 99B9A6480 for ; Wed, 25 May 2011 00:04:54 +0000 (UTC) Received: (qmail 76858 invoked by uid 500); 25 May 2011 00:04:54 -0000 Delivered-To: apmail-ant-ivy-user-archive@ant.apache.org Received: (qmail 76830 invoked by uid 500); 25 May 2011 00:04:54 -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 76822 invoked by uid 99); 25 May 2011 00:04:54 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 May 2011 00:04:54 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of g.clitheroe@gmail.com designates 74.125.83.45 as permitted sender) Received: from [74.125.83.45] (HELO mail-gw0-f45.google.com) (74.125.83.45) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 May 2011 00:04:47 +0000 Received: by gwb19 with SMTP id 19so3372036gwb.4 for ; Tue, 24 May 2011 17:04:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type:content-transfer-encoding; bh=K9sOqlbca0RSLZqxFA91ukZaobAZBFrwmhBQ90o3G1Q=; b=D4r/1efT3SWwxco/fS6v1N9Qk1DCoOzLfHnV/BP9eVKjxKXWWYPX7IafVIZiDN0rCU STYFyrw8QFkvouPE0aGzG2Ox/XIGVnQCqNqHyAUrZbvq8Rbmrts6FOr5anEY7UzeH7lS 3FO87tmoejMQtsITGTBG3PII4ec3GCzk9xONc= 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:content-transfer-encoding; b=CxQ8NiHjyNrku+EehZGUoFBROVgMqIskJGWczhn+g/zopglhxWPEJG8uZdOj3vJVmE N/FRqCNDZJOgXfc8r4F5wrMvHjyoJbG3PgzyYJcTFKUqf4eikQcNbGgyfx8VC3kbKgJz 4qwNMUFmw7zblnAaOG3BRfuurpQMhihwfjHmg= MIME-Version: 1.0 Received: by 10.236.125.134 with SMTP id z6mr621080yhh.58.1306281865060; Tue, 24 May 2011 17:04:25 -0700 (PDT) Received: by 10.236.103.176 with HTTP; Tue, 24 May 2011 17:04:24 -0700 (PDT) In-Reply-To: References: Date: Wed, 25 May 2011 12:04:24 +1200 Message-ID: Subject: Re: Building a Repo -- Excludes Question From: Geoff Clitheroe To: ivy-user@ant.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org I don't see a direct dependency on javax.activation for cxf-rt-frontend-jaxws so something else is calling for it. http://search.maven.org/#artifactdetails%7Corg.apache.cxf%7Ccxf-rt-frontend= -jaxws%7C2.4.0%7Cjar You will occasionally hit these problems. You may want to check out http://code.google.com/p/ivyroundup/ And to answer the final question. Yes! Run a repo manager as a proxy. http://maven.apache.org/repository-management.html I'm most familiar with Archiva for this. It has chains of remote repos and they are proxied and cached locally. Your Ivy settings just then refer to the local Archiva repo e.g., http://codegeo.org/repos/codegeo/build/trunk/ivysettings.xml which is referring to all the repos we care about and making the artifacts available in one place including the ones we publish: http://codegeo.org/archiva/browse This also gives you some options to do manual fixes for problems like javax.activation Cheers, Geoff On Wed, May 25, 2011 at 11:11 AM, Cody Casterline wrote: > I'm looking into switching to Ivy for managing our dependencies and I was > happy to find this page: > http://ant.apache.org/ivy/history/latest-milestone/tutorial/build-reposit= ory.html > which describes how to create a local repository using ivy:install so tha= t > builds don't have to hit the network. =A0(Yay!) > > I grabbed > https://svn.apache.org/repos/asf/ant/ivy/core/trunk/src/example/build-a-i= vy-repositoryand > started tweaking it to test my understanding, but I'm running into a > couple issues. > > First, my dependencies: > > =A0 =A0 =A0 =A0 > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 name=3D"cxf-rt-frontend-jaxws" rev=3D"2.4.0"> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 > =A0 =A0 =A0 =A0 > > > I've also switched ivysettings-basic.xml to use the local repository > ('my-repository') by default. =A0(It doesn't seem that ivy:resolve or > ivy:retrieve accept a resolver name as an option? =A0is ivy:install the o= nly > place where you can specify resolvers by name?) > > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0defaultResolver=3D"my-repo= sitory" > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0defaultConflictManager=3D"= all" /> > =A0 =A0 =A0 =A0 > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 pattern=3D"${dest.repo.dir}/no-namespace/[organisation]/[module]/ivys/ivy= -[revision].xml"/> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 pattern=3D"${dest.repo.dir}/no-namespace/[organisation]/[module]/[type]s/= [artifact]-[revision].[ext]"/> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 > =A0 =A0 =A0 =A0 > > > My thinking is that I can define my dependencies, then try a build. =A0if= the > build can't resolve a dependency from my local repo, I can run ivy:instal= l > to install that dep. locally and try again. =A0This way I can iteratively > build up my local repo. > > when I run ivy:install on org.apache.cxf#cxf-rt-frontend-jaxws;2.4.0, it > installs lots of dependencies but fails with: > > [ivy:install] :: problems summary :: > [ivy:install] :::: WARNINGS > [ivy:install] =A0 =A0 =A0 =A0 =A0 [NOT FOUND =A0] > javax.activation#activation;1.0.2!activation.jar (128ms) > [ivy:install] =A0 =3D=3D=3D=3D libraries: tried > [ivy:install] > http://repo1.maven.org/maven2/javax/activation/activation/1.0.2/activatio= n-1.0.2.jar > [ivy:install] =A0 =A0 =A0 =A0 =A0 :::::::::::::::::::::::::::::::::::::::= ::::::: > [ivy:install] =A0 =A0 =A0 =A0 =A0 :: =A0 =A0 =A0 =A0 =A0 =A0 =A0FAILED DO= WNLOADS =A0 =A0 =A0 =A0 =A0 =A0:: > [ivy:install] =A0 =A0 =A0 =A0 =A0 :: ^ see resolution messages for detail= s =A0^ :: > [ivy:install] =A0 =A0 =A0 =A0 =A0 :::::::::::::::::::::::::::::::::::::::= ::::::: > [ivy:install] =A0 =A0 =A0 =A0 =A0 :: javax.activation#activation;1.0.2!ac= tivation.jar > [ivy:install] =A0 =A0 =A0 =A0 =A0 :::::::::::::::::::::::::::::::::::::::= ::::::: > > ... despite the fact that when I look at the ivy files in my repo, and th= e > pom files on maven.org, they claim to exclude javax.activation. > > If I uncomment the extra exclude rule above, ivy:resolve will work. =A0Wh= y > does my exclude work where the ones in pom and ivy files didn't? > > Also, while I've got everyone's attention, is there an easier way to just > tell Ivy to install all dependencies for a project into a repository? =A0= If > I've got them listed in ivy.xml, entering them manually into ivy:install > commands seems redundant. =A0:) > > Thanks! >