The OSGi specification has a number of implementations. Each implementation has a different set of base bundles, different ways to start them, and require different layout for the folder containing the binary bundles and their sources.
To cope with this diversity, Osmorc uses the notion of framework integrators and framework instances.
A framework integrator is used to integrate an instance of a specific framework implementation. Osmorc contains framework integrators for Eclipse Equinox, Knopflerfish, and Apache Felix. An extension point for framework integrators is also available. So integrators for framework implementations that are not directly supported by Osmorc can be developed by third parties.
A framework instance is a concrete installation of a framework implementation. As framework instances are normally not installed in the folder structure of a project, a framework instance with a specific name can be installed in different locations under different installations of IntelliJ IDEA. A project only knows the name of the framework instance it uses. Osmorc creates the connection to the framework instance if it exists as soon as the project is opened.
Framework definitions are added, edited, and removed in the Framework Definitions tab of the OSGi page.
To define a new framework instance
- Open the project settings, click the Osmorc node, and switch to the Framework Definitions tab.
- Click the Add button.
- In the Create New Framework Instance dialog box that opens select the type of framework integrator, specify a unique name and the base folder for the framework instance.