On May 3, 2009, at 18:13 , Richard S. Hall wrote:

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.

Effectively, version 1.0.0 is exactly equal to 2.0.0 in this case, so there really should not be two versions in the first place.

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.

Yes, in theory we could go this far. However, I would say we need examples that make more sense to move this up the priority list.

Greetings, Marcel

Reply via email to