Hi Sigmund, Yes that's the only reason.
Internally in the OSGi framework everything is translated into the generic requirements and capabilities. So if you use the Wiring API to obtain the capabilities of a bundle [1] you get all of them using namespaces, including the osgi.wiring.package etc, but also osgi.identity and potentially org.osgi.namespace.contract and others via the same API. The only place where they are not described in a uniform way is in the MANIFEST.MF, for those historical reasons. I agree that it would be good to clear this up in the specs :) Best regards, David [1] https://osgi.org/javadoc/r6/core/org/osgi/framework/wiring/BundleWiring.html#getCapabilities(java.lang.String) On 30 September 2016 at 05:24, Sigmund Lee <[email protected]> wrote: > Hi David, > > Thank you so much for clearing things up. > > So there is no exception for any namespace, headers like Export-Package, > Import-Package, Require-Bundle, etc... exists only because they are far > more earlier imported than the more generic Provide-Capability & > Require-Capability headers, even though they are parts of > requirements/capabilities model? > It's definitely worth clarifying this on the OSGi specifications. > > > Regards, > Sig > >
