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]
