Hi Christiano,

I apologise, my information was out of date. Tracker used to be a non-core 
package, apparently it moved to core in R5.

Still, since it doesn’t form a contractual API between the framework and a 
bundle, it’s safe to embed a private copy… though completely unnecessary since 
R5!

Neil

On 9 September 2014 at 18:06:15, Cristiano Gavião ([email protected]) wrote:

Hi Neil,  

thanks for the clarification, but I didn't understand your latest  
sentence... what do you mean about  
> Note that the tracker package is not and has never been part of OSGi  
> Core. ?  

Below is part of the manifest of osgi.core 6 (5 too) and tracker package  
is being exported there...  

Export-Package:  
org.osgi.dto;version="1.0",  
org.osgi.resource;version="1.0",  
org.osgi.resource.dto;version="1.0";uses:="org.osgi.dto",org.osgi.framework;version="1.8",
  
org.osgi.framework.dto;version="1.8";uses:="org.osgi.dto",  
org.osgi.framework.hooks.bundle;version="1.1";uses:="org.osgi.framework",  
org.osgi.framework.hooks.resolver;version="1.0";uses:="org.osgi.framework.wiring",
  
org.osgi.framework.hooks.service;version="1.1";uses:="org.osgi.framework",  
org.osgi.framework.hooks.weaving;version="1.1";uses:="org.osgi.framework.wiring",
  
org.osgi.framework.launch;version="1.2";uses:="org.osgi.framework",  
org.osgi.framework.namespace;version="1.1"uses:="org.osgi.resource",  
org.osgi.framework.startlevel;version="1.0";uses:="org.osgi.framework",  
org.osgi.framework.startlevel.dto;version="1.0";uses:="org.osgi.dto",  
org.osgi.framework.wiring;version="1.2";uses:="org.osgi.framework,org.osgi.resource",
  
org.osgi.framework.wiring.dto;version="1.2";uses:="org.osgi.dto,org.osgi.resource.dto",
  
org.osgi.service.condpermadmin;version="1.1.1";uses:="org.osgi.framework,org.osgi.service.permissionadmin",
  
org.osgi.service.packageadmin;version="1.2";uses:="org.osgi.framework",  
org.osgi.service.permissionadmin;version="1.2",  
org.osgi.service.startlevel;version="1.1";uses:="org.osgi.framework",  
org.osgi.service.url;version="1.0",  
*org.osgi.util.tracker;version="1.5.1";uses:="org.osgi.framework"*  

On 09-09-2014 13:28, Neil Bartlett wrote:  
> It’s unusual to see this package embedded, because it’s almost  
> guaranteed to be available from the framework exports. However it’s  
> not really a problem either, since trackers are an internal  
> implementation detail.  
>  
> The packages that should never be embedded (at least not privately)  
> are those that form a contract between you and another bundle — e.g.  
> service APIs — or are part of the core contract between a bundle and  
> the OSGi Framework, such as the OSGi core packages including things  
> like ServiceReference, BundleContext, BundleActivator etc.  
>  
> Note that the tracker package is not and has never been part of OSGi Core.  
>  
> Regards  
> Neil  
>  
> On 9 September 2014 at 15:08:35, Cristiano Gavião ([email protected]  
> <mailto:[email protected]>) wrote:  
>  
>> Hi all,  
>>  
>> I'm facing a class duplicity problem and while investigating it I noted  
>> that org.apache.felix.configadmin, org.apache.felix.scr and others  
>> embeds the /org.osgi.util.tracker/ package inline in its own bundle.  
>>  
>> I thought that this package would be imported/used from the framework...  
>>  
>> What is the reason for such approach ? when should I worry to embed  
>> packages from osgi.core in my own bundle ?  
>>  
>> many thanks,  
>>  
>> regards,  
>>  
>> Cristiano  

Reply via email to