On 5/3/09 11:58 AM, Marcel Offermans wrote:
So what if there was a bundle that actually exported:
foo;version=1.0.0 and foo;version=2.0.0. One could argue that this
would allow this bundle to be wired to the one above, which needs
version 1 and 2, both of which are exported by the same bundle.
Now I fully agree this is a very theoretical example, I can't find any
real world use for it, just curious. :)
Yes, that sounds pretty funny and in this case it is a loophole, so you
are right. But the only reason it will work in practice is because there
is actually only one set of byte code that is being used for both. The
exporting bundle in question is masquerading as both, but it is really
only one or the other.
So, in the future if we loosen how we detect conflicts, depending on how
far we go, we could end up allowing such situations. Essentially, you
would need to resolve all dependencies for the host and fragments and
then look for shared candidates for conflicting dependencies.
-> richard