For performance reasons, Ivy will cache some results of the resolve process.That's why you had to clean the cache first.
Cfr. http://ant.apache.org/ivy/history/latest-milestone/concept.html#change Maarten ________________________________ From: Mansour Al Akeel <mansour.alak...@gmail.com> To: ivy-user@ant.apache.org; Maarten Coene <maarten_co...@yahoo.com> Sent: Sunday, February 12, 2012 8:15 AM Subject: Re: Transitive dependencies Marteen, It worked, but only after I cleaned the cache !! I don't know why but I am looking for an explanation. On Sun, Feb 12, 2012 at 2:08 AM, Mansour Al Akeel <mansour.alak...@gmail.com > wrote: > Maarten, > I tried it and it didn't work. Not sure how to trouble shoot it. > > > > On Sun, Feb 12, 2012 at 1:32 AM, Maarten Coene <maarten_co...@yahoo.com>wrote: > >> My guess is Ivy doesn't find the POM in your local maven repository. >> >> Try adding an ivy-pattern to your 'local-maven2' resolver, something like: >> >> >> <filesystem name="local-maven2" m2compatible="true"> >> <ivy >> pattern="${user.home}/.m2/repository/[organisation]/[module]/[revision]/[module]-[revision].pom"/> >> <artifact >> pattern="${user.home}/.m2/repository/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/> >> </filesystem> >> >> hope this helps, >> >> Maarten >> >> >> >> ________________________________ >> From: Mansour Al Akeel <mansour.alak...@gmail.com> >> To: ivy-user@ant.apache.org >> Sent: Saturday, February 11, 2012 4:38 PM >> Subject: Transitive dependencies >> >> Hello all, >> >> I have been trying to resolve this issue, for sometime, but no luck. I >> consider myself IVY newbie. >> >> I have two projects. The first one is an ant task that helps building >> and deploying the second project. I need to deploy and use this from >> maven repo. This part is working fine, but the problem with the >> transitive dependencies. >> >> For the first project (the relevant parts): >> ivysettings.xml: >> ============== >> <?xml version="1.0"?> >> <ivysettings> >> <settings defaultResolver="default"/> >> <resolvers> >> <ibiblio name="public" m2compatible="true" /> >> <filesystem name="local-maven2" m2compatible="true"> >> <artifact >> >> pattern="${user.home}/.m2/repository/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/> >> </filesystem> >> <chain name="default" > >> <resolver ref="public"/> >> <resolver ref="local-maven2"/> >> </chain> >> </resolvers> >> </ivysettings> >> >> ivy.xml: >> ======== >> <ivy-module version="2.0"> >> <info organisation="com.example" module="ant-openejb" revision="1.0"/> >> <configurations defaultconfmapping="default->runtime"> >> <conf name="default" /> >> <conf name="compile" /> >> </configurations> >> <publications> >> <artifact type="jar" ext="jar"/> >> <artifact type="descriptor" ext="pom"/> >> </publications> >> <dependencies> >> <dependency org="org.apache.ant" name="ant" rev="1.8.2" >> conf="default->compile"/> >> <dependency org="org.apache.openejb" name="openejb-server" >> rev="4.0.0-beta-2" conf="default->compile" /> >> </dependencies> >> </ivy-module> >> >> Ant tasks to install: >> ===================== >> <target name="ivy" description="--> retrieve dependencies with ivy"> >> <ivy:retrieve pattern="lib/[conf]/[artifact]-[revision].[ext]" >> type="jar" /> >> </target> >> >> <target name="install" depends="ivy" description="publish jar/source >> to maven repo mounted at ~/.m2/repository"> >> <ivy:makepom ivyfile="ivy.xml" >> pomfile="target/ant-openejb.pom"> >> <mapping conf="default" scope="compile"/> >> </ivy:makepom> >> <ivy:publish resolver="local-maven2" >> conf="default" >> forcedeliver="true" overwrite="true" publishivy="true"> >> <ivy:artifacts pattern="target/[artifact].[ext]"/> >> </ivy:publish> >> </target> >> >> The generated pom file: >> ====================== >> <?xml version="1.0" encoding="UTF-8"?> >> <!-- >> Apache Maven 2 POM generated by Apache Ivy >> http://ant.apache.org/ivy/ >> Apache Ivy version: 2.2.0 20100923230623 >> --> >> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=" >> http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" >> http://maven.apache.org/POM/4.0.0 >> http://maven.apache.org/maven-v4_0_0.xsd"> >> <modelVersion>4.0.0</modelVersion> >> <groupId>com.example</groupId> >> <artifactId>ant-openejb</artifactId> >> <packaging>jar</packaging> >> <version>1.0</version> >> <dependencies> >> <dependency> >> <groupId>org.apache.ant</groupId> >> <artifactId>ant</artifactId> >> <version>1.8.2</version> >> <scope>compile</scope> >> </dependency> >> <dependency> >> <groupId>org.apache.openejb</groupId> >> <artifactId>openejb-server</artifactId> >> <version>4.0.0-beta-2</version> >> <scope>compile</scope> >> </dependency> >> </dependencies> >> </project> >> >> >> Now for the second project, I am trying to retrieve the artifact >> published by the first project with it's dependencies. The only >> dependecy I get is one declared in ivy.xml. >> >> ivysettings.xml >> ================= >> >> <?xml version="1.0"?> >> <ivysettings> >> <settings defaultResolver="default"/> >> <resolvers> >> <ibiblio name="public" m2compatible="true" /> >> <ibiblio name="local-maven2" m2compatible="true" >> root="file://${user.home}/.m2/repository" /> >> <chain name="default" > >> <resolver ref="local-maven2"/> >> <resolver ref="public"/> >> </chain> >> </resolvers> >> </ivysettings> >> >> >> ivy.xml: >> ======== >> <ivy-module version="2.0"> >> <info organisation="com.example" module="book" revision="1.0"/> >> <dependencies> >> <dependency org="com.example" name="ant-openejb" rev="1.0" /> >> </dependencies> >> </ivy-module> >> >> >> Ant task: >> ======== >> <target name="depend" description="--> retrieve dependencies with >> ivy"> >> <ivy:retrieve pattern="lib/[conf]/[artifact]-[revision].[ext]" >> type="jar" /> >> </target> >> >> >> What I am doing wrong ? Any advice ? >> >> Thank you in advance. >> > >