As it turns out, I should have checked the dev mailing list first.  I'm
also getting this error :
The result is an unresolved dependency: "test#b;1: configuration(s) not
found in test#b;1: default. It was required from test#c;1 compile"

Although, of course, for my project.

> -----Original Message-----
> From: Matt Reynolds [mailto:[EMAIL PROTECTED]
> Sent: Thursday, February 07, 2008 8:04 AM
> To: [EMAIL PROTECTED]
> Subject: Probable "configuration" misconfiguration
> 
> I apologize that this will probably be both vague and slightly wrong,
> but I don't have a way to demonstrate the problem I'm facing (I'm open
> to suggestions on how to do so, ivy-report won't run to completion
> given
> the following error).
> 
> I've been using Ivy for a year or two here at work (and at home) and
> have run into an issue when I changed the available configurations for
> a
> package.
> 
> Let's say that we have 3 packages, A, B, C, with A depending on B and
B
> depending on C (A->B->C).  We also have a package, D, that depends on
C
> and is depended upon by A (A->D->C).
> 
> C has three configurations, library, server, and client, with Server
> and
> Client extending Library.  B and D both depend on C's "client"
> configuration.  Due to a recent change, C no longer exposes the
> "client"
> configuration, now only exposing the "Library" configuration.
> 
> I update B with "*->library" on the C dependency, but when I attempt
to
> resolve dependencies, I get a hard error saying that C's "client"
> configuration cannot be found and so Ivy halts.  This makes sense, as
D
> depends on C's configuration, and I haven't updated D.  While this
> simple case is easy to fix, our real world case is not.
> 
> In the real world case, we have a hierarchy about 7 levels deep, and
> changing our core library's configurations has caused cascade failures
> throughout the dependencies in the system (a total of maybe 50
> libraries
> in total).  Updating each library is not only time consuming, but in
> some cases near impossible, as older branches of code that rely on the
> now-missing configuration can't be mixed with newer code that uses a
> different/existing configuration.
> 
> I think I understand why this happens, but frankly, it's caused me to
> stop using configurations entirely and move to using exclusions where
> possible, because they're easier to maintain given the state of our
> code
> base.
> 
> Is there a better way to manage this?  Is there a fix I'm missing?
Any
> help would be appreciated.  We're very happy with Ivy for the most
part
> (we'd like to help with the docs, but we don't know enough to help
> rewrite them), but this "problem" (Ivy's fault or not) is causing us
> serious trouble.
> 
> Thanks for your time, and keep up the good work,
> Matt

Reply via email to