Ok, I just committed and deployed a new version of the framework that resolves this issue...

There indeed was a bug introduced during the refactoring of the resolver for require-bundle...in short, attribute matching on imports/exports in 0.8.0 was handled version numbers as a special case, but the new code does not; however, there was still some old code treating version as a special case which was causing it to match when it should not.

I eliminated this old code and it appears to be working correctly after running it against your example and the TCK...although the TCK didn't apparently help me catch this error in the first place! :-)

Let me know if it is working like you expect now, thanks...and good catch since this will now make it into the 1.0.0 release!

-> richard

Rajini Sivaram wrote:
Hello,

I have a test which uses two versions of two bundles:

CustomerV1:
Import-Package: org.osgi.framework, supplychain.retailer;version="[1.0.0
,2.0.0)"

CustomerV2:
Import-Package: org.osgi.framework, supplychain.retailer;version="2.0.0"

RetailerV1:
   Export-Package: supplychain.retailer;version="1.0.0"

RetailerV2:
   Export-Package: supplychain.retailer;version="2.0.0"

I was expecting CustomerV1 to use RetailerV1 and CustomerV2 to user
RetailerV2. With Equinox and the older version of Felix (0.80), the packages
are resolved as I expected. But with the latest snapshot of Felix, both
CustomerV1 and CustomerV2 use RetailerV2. Is there anything else I should
specify to get versions resolved correctly?

Thank you...

Regards,

Rajini

Reply via email to