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 Carlton Brown <cb...@gmail.com> on 2010/11/03 14:11:47 UTC

Setting transitive=true on one dependency results in transitive resolution for all children

I have some modules that have dependency relationships specified like this:

B depends on A, transitive=false
A depends on log4j, transitive=false

When I change the B=>A dependency to 'transitive=true',  now the B=>log4j
dependency also resolves transitively, even though transitive=false for that
module.

This is not expected and definitely not desired... does anyone have an idea
why this may be happening?


Module B's ivy.xml:
<dependency org="mycompany" name="module-A" rev="latest.integration"
branch="trunk" conf="run->*" transitive="true"/>

Module A's ivy.xml:
<dependency org="log4j" name="log4j" rev="1.2.8" transitive="false"/>

Re: Setting transitive=true on one dependency results in transitive resolution for all children

Posted by Maarten Coene <ma...@yahoo.com>.
Are you sure module B doesn't has any other indirect reference to log4j through 
another dependency?
If that is not the case, it seems like a bug to me. Could you open a JIRA issue 
and attach if possible a simple test scenario?

regards,
Maarten


----- Original Message ----
From: Carlton Brown <cb...@gmail.com>
To: ivy-user@ant.apache.org
Sent: Wed, November 3, 2010 2:11:47 PM
Subject: Setting transitive=true on one dependency results in transitive 
resolution for all children

I have some modules that have dependency relationships specified like this:

B depends on A, transitive=false
A depends on log4j, transitive=false

When I change the B=>A dependency to 'transitive=true',  now the B=>log4j
dependency also resolves transitively, even though transitive=false for that
module.

This is not expected and definitely not desired... does anyone have an idea
why this may be happening?


Module B's ivy.xml:
<dependency org="mycompany" name="module-A" rev="latest.integration"
branch="trunk" conf="run->*" transitive="true"/>

Module A's ivy.xml:
<dependency org="log4j" name="log4j" rev="1.2.8" transitive="false"/>