Le 18 avr. 2011 à 11:50, aditsu a écrit :

> Hi, is it possible in Ivy to define a dependency that can be satisfied by any
> one of several modules?
> Specifically, the dependency would refer to certain functionality required
> by the current module, and other modules would declare that they
> satisfy/implement that functionality.
> The concept is similar to "virtual packages" in various Linux distros.
> This "virtual dependency" would not refer to any specific piece of code,
> except it could default to one implementation if no other module that
> satisfies the dependency is pulled through the other dependencies.

Ivy doesn't support that kind of dependency per se.

But I had a similar case when implementing the OSGi support for Ivy. In OSGI, 
each bundle have a symbolic name and a version, which map well on Ivy's 
organisation+name+revision. But each bundle can expose its packages (sort of 
declaring its API), and can requires a package. Hence it can requires an 
implementation of an API. This is the same kind of indirection you describe.

To implement the OSGi support, I implemented a special resolver to which has 
the knowledge of a entire repository and can thus find a concrete module for a 
requirement. This is kind of experimental what I implemented because this is 
sort of fooling Ivy core and its model. Maybe a proper implementation is to 
make Ivy aware of such indirection, but this might be some tough job.

Nicolas


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to