ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shawn Castrianni <Shawn.Castria...@halliburton.com>
Subject RE: dynamically modifying dependency versions during resolve
Date Fri, 27 Jun 2008 00:18:07 GMT
No, I want to test A against a dependency way down in the hierarchy.  Why should I have to
make A be directly dependent on H when it is already indirectly dependent on H?

Maybe this comes down to how one should specify ivy dependencies.  It sounds like you are
saying that if A needs to be tested against a change in H, then that must mean that A has
a direct dependency on H in the code so it should be declared that way in A's ivy.xml file.
 I have purposely removed all unnecessary direct dependencies if a dependency will get picked
up indirectly.  This removes a lot of conflicts that can occur during dependency resolution.
 So even though A may call a function in H making it directly dependent on it, I have purposely
not made H a direct dependency of A because it will get it indirectly through B.  My philosophy
produces cleaner dependency graphs and prevents lots of modifications to ivy.xml files to
try to keep ivy dependencies in sync with the actual code dependencies.  A should be able
to make function calls to B, C, D, E, F, G, and H without having to be directly dependent
on them in its ivy.xml file.

---
Shawn Castrianni


-----Original Message-----
From: Niklas Matthies [mailto:ml_ivy-user@nmhq.net]
Sent: Thursday, June 26, 2008 6:06 PM
To: ivy-user@ant.apache.org
Subject: Re: dynamically modifying dependency versions during resolve

On Thu 2008-06-26 at 17:16h, Shawn Castrianni wrote on ivy-user:
> Yes, but imagine a huge corporate environment with stupid
> developers.  Imagine A->B->C->D->E->F->G->H.  If a developer changes
> H and wants to test against A,

So he wants to test A against different(!) dependencies than those
currently declared by A. I don't know, but I think it's a matter of
course that this intent then needs to be expressed explicitly
somewhere.

> I don't want him to have to build and locally publish B through G.
> Plus, I don't want to have to teach my developers xml and ivy and
> how to hack their ivy.xml to make H a direct dependency of A.

But for the use case at hand, it effectively _is_ a direct dependency
of the version of A the developer wants to build. So I don't exactly
see what's wrong about specifying it in the ivy file.

It seems to me that the real issue is separating local build
configurations from the "official" build configurations published to
source revision control and to the public ivy repository.

-- Niklas Matthies

----------------------------------------------------------------------
This e-mail, including any attached files, may contain confidential and privileged information
for the sole use of the intended recipient.  Any review, use, distribution, or disclosure
by others is strictly prohibited.  If you are not the intended recipient (or authorized to
receive information for the intended recipient), please contact the sender by reply e-mail
and delete all copies of this message.

Mime
View raw message