Hi Felix devs,

I had some free time today and did some investigations about what would be necessary to change BundleRepository to support Repository spec version 1.1.

I noted that BundleRepository has a dependency to org.apache.felix.utils and both depends on old compendium and core 5.0. also they uses different parent versions.

So I found that changing BundleRepository to support v1.1 certainly will require both compendium and core be upgraded to 7.0 due the new Repository class to require the newest Resource from Core.

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

How you guys used to deal with that ?


Specifically about BundleRepositoy, I found that its current version works with different packages providing basically same kind of classes. Many of them are interfaces already provided by osgi alliance. for example, Resource, Requirement, Capability, Repository and others. And both felix.util and BundleRepository projects implements some of them. examples :

 * org.osgi.service.obr.Resource;
 * org.apache.felix.bundlerepository.Resource;
 * org.apache.felix.bundlerepository.Repository;
 * org.osgi.service.repository.Repository;
 * org.osgi.resource.Resource;
 * org.apache.felix.bundlerepository.impl.ResourceImpl
 * org.apache.felix.bundlerepository.impl.CapabilityImpl;
 * org.apache.felix.bundlerepository.impl.RequirementImpl;
 * org.apache.felix.utils.resource.ResourceImpl;
 * org.apache.felix.utils.resource.CapabilityImpl;
 * org.apache.felix.utils.resource.RequirementImpl;


I believe that many of those interfaces/classes was created before the spec in order to support the old OBR.

But would be really necessary to keep them forever or would be possible to do a major release dropping support for older stuffs and removing duplicated ones?


thanks and best regards,

Cristiano

Reply via email to