Alexander Broekhuis created CELIX-111:
-----------------------------------------
Summary: Support multiple libraries
Key: CELIX-111
URL: https://issues.apache.org/jira/browse/CELIX-111
Project: Celix
Issue Type: Improvement
Components: Framework
Affects Versions: 1.0.0-incubating
Reporter: Alexander Broekhuis
Assignee: Alexander Broekhuis
Fix For: next-incubating
Currently Celix only supports one library per bundle. To make this more
flexible it is desirable to support multiple libraries.
Supporting multiple libraries is also a first step towards a code sharing
solution using imports/exports.
To support multiple libraries the following needs to be done:
* Update CMake macros to be able to add multiple libraries to a bundle
* Add additional manifest header listing the libraries
* Update the framework to load/unload the libraries listed in the manifest.
Note: While this all is fairly trivial, it is important to remember that
libraries have to be loaded in order. A simple solution for this is to list the
libraries in order in the manifest file.
To be able to be future compliant with importing/exporting this new header can
be named "Private-Library", this is taken from Bnd which uses "Private-Package"
for packages not being exported.
This is in-line with the discussion concerning Native-OSGi, in which a library
is looked at as a package in Java-OSGi.
Since multi library support is only intended for the bundle itself, it makes
sense to use "Private-Library" for the libraries. This automatically implies
"Export-Library" and "Import-Library" for future code sharing use.
With the use of "Private-Library" the currently used "library" header can be
made obsolete (leaving support in place for backwards compatibility).
--
This message was sent by Atlassian JIRA
(v6.2#6252)