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.
>>
>
>

Reply via email to