You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by Tarantula <in...@tarantulaconsulting.com> on 2011/09/26 05:29:43 UTC

Ivy transitive dependencies question

Hello,

I am trying to run a Java application using Ant and Ivy as follows:

build.xml

<project ...>

   <target name="run">
      <ivy:configure file="./ivy-settings.xml" />
      <ivy:resolve conf="default" />    
      <ivy:cachepath conf="default" pathId="run.classpath" />
      <java classname="Foo" ... />
   </target>

</project>

In my application I have the following modules:

Module A (ivy.xml)

  <dependencies>
    <dependency org="myorg" name="module-B" transitive="true"  />
  </dependencies>

Module B (ivy.xml)

  <dependencies>
    <dependency org="commons-lang" name="commons-lang" rev="2.4"
transitive="false" />
    <dependency org="org.springframework" name="spring-beans"
rev="3.0.6.RELEASE" transitive="false" conf="*->master" />
    ...
  </dependencies>

When I try to run the application with "ant run", I am expecting Ivy to add
the following jars to the classpath:

module-B.jar
commons-lang-2.4.jar
spring-beans-3.0.6.RELEASE.jar

However, apparently Ivy is trying to include the above 3 dependencies as
well as all the dependencies of the spring-beans module (and other
third-party modules not listed above). 

The list of transitive dependencies is extensive and trying to resolve these
adds a lot of unnecessary overhead to my build process.

I do not want to include those dependencies on my classpath, and I do not
want Ivy to try to resolve them. I simply want Ivy to include the modules
that have transitive="true" to my classpath, but not their transitive
dependencies.

Would someone please let me know if/how this can be accomplished?

Many thanks.
-- 
View this message in context: http://old.nabble.com/Ivy-transitive-dependencies-question-tp32503925p32503925.html
Sent from the ivy-user mailing list archive at Nabble.com.