Hello again,

Changing org.apache.felix.utils probably will affect other projects...

How you guys used to deal with that ?

You should not have to do this. Just make sure it's dependency comes after
than the updated OSGi apis you use.

Ok, I've create a local branch here and started to play with the improvement.

I've set maven POM in order to use core 7, removed compendium and added /org.osgi.service.repository, org.osgi.namespace.service, org.osgi.util.promise/.

I needed also to change POM of /org.apache.felix.utils/ since it has a direct dependency to /org.osgi.service.repository /and /.
/

Next weekend I'll spend more time to figure out how to deal with this new RequirementExpression and ExpressionCombiner ...
where the classes are internal only, then removing them is not so much of
an issue.

Where they are exported it might be a little trickier. We'd have to look at
the exact scenarios.

Well, while digging into the source code, one concerning scenario have called my attention: the use of a Resolver.

In the Repository specification is stated that a Repository service is intended to be used in conjunction with the Resolver Service Specification. Then, my understanding is that it should use a resolver that implements *org.osgi.service.resolver.Resolver plus ResolveContext*, but the BundleRepository provides and exports its own *org.apache.felix.bundlerepository.Resolver *instead. *
*
In the last couple of years multiple improvements and fixes was made on felix.resolver bundle, so wouldn't be more reliable and less error prone to use it instead to use its own implementation?

best regards,

Cristiano

Reply via email to