The uses directive (in this example) says that q is used in signature of 
p. This anyone who uses p will likely need to also use q since some type 
from q is in the signature of p. So you example seems to be in error, 
since there is no q exported that an importer of p could use.

p;uses:=q does not mean that the implementation of p uses q but more 
specifically that the signature of p uses q and thus all users of p will 
also need to use q and the framework should arrange for an importer of p 
to import q from the same wire that provider of p uses.

So in your example B should also export q and also import q since it 
imports p.
-- 

BJ Hargrave
Senior Technical Staff Member, IBM
OSGi Fellow and CTO of the OSGi Alliance
[EMAIL PROTECTED]

office: +1 386 848 1781
mobile: +1 386 848 3788




"Felix Meschberger" <[EMAIL PROTECTED]> 
Sent by: [EMAIL PROTECTED]
2007-06-12 07:39
Please respond to
OSGi Developer Mail List <[email protected]>


To
[email protected]
cc

Subject
[osgi-dev] Package Export and uses directive






Hi all,

I have a question regarding the uses directive of the Export-Package 
header.

Assume I hava a bundle B containing packages p and q. The Export/Import 
headers state:

    Export-Package: p;uses:=q 
    Import-Package: p

So package q is neither exported nor imported and is intended to be used 
from the bundle class path.

>From my reading of the spec, this should actually not be valid, because 
the uses directive implies a wire, which may never be resolved as there is 
neither and import nor an export for it. 

Am I right ?

Many thanks and Regards
Felix_______________________________________________
OSGi Developer Mail List
[email protected]
http://www2.osgi.org/mailman/listinfo/osgi-dev

_______________________________________________
OSGi Developer Mail List
[email protected]
http://www2.osgi.org/mailman/listinfo/osgi-dev

Reply via email to