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.