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 easyproglife <ea...@gmail.com> on 2007/03/18 10:27:55 UTC

transitive and non-transitive resolve

Hi.

I have dependency that I want to retrieve but to separate the direct
artifacts and the transitive artifacts into separate directories.

For example, I depend on module A that depends on B that depends on C. In my
project I want to retrieve module A into "direct" directory and modules B
and C into "imported" directories.

The reason I do that is that I want to generate code based on module A, but
the code generator need to see also modules B and C in order not to fail.

The only solution I have found so far is to duplicate the dependency on
module A and define it in 2 configurations in ivy.xml. On of the
dependencies would be defined using 'transitive="false"' attribute.
But this solution is ugly and error prone: I have two almost identical line
differ only on their 'transitive' attribute.


I want to ask you if you can see another solution?

-easyproglife.

Re: transitive and non-transitive resolve

Posted by Xavier Hanin <xa...@gmail.com>.
On 3/18/07, easyproglife <ea...@gmail.com> wrote:
>
> Hi.
>
> I have dependency that I want to retrieve but to separate the direct
> artifacts and the transitive artifacts into separate directories.
>
> For example, I depend on module A that depends on B that depends on C. In
> my
> project I want to retrieve module A into "direct" directory and modules B
> and C into "imported" directories.
>
> The reason I do that is that I want to generate code based on module A,
> but
> the code generator need to see also modules B and C in order not to fail.
>
> The only solution I have found so far is to duplicate the dependency on
> module A and define it in 2 configurations in ivy.xml. On of the
> dependencies would be defined using 'transitive="false"' attribute.
> But this solution is ugly and error prone: I have two almost identical
> line
> differ only on their 'transitive' attribute.
>
>
> I want to ask you if you can see another solution?


You can define two configurations, compile and runtime for example, compile
being non transitive, and runtime extending compile. Then you only have to
define your dependency on A in the compile conf (no need to duplicate
anything).

- Xavier

-easyproglife.
>