I know the difference between using Eclipse as target platform and using Equinox as target platform when creating an Eclipse plug-in (also explained in this thread).
Now I have implemented my first OSGi service for use in my Eclipse RCP application. I have noted that the import
s that are needed in my Activator
class are from the org.osgi
package. This doesn't seem to tell me anything about the actual OSGi specification implementation I am using (or does it?).
So I have started to look things up, starting with the RCP FAQ page, where it says:
╔═════════════════╦═══════════════════════════╦═══════════════════════════╗
║ Component ║ Description ║ Plug-ins ║
╠═════════════════╬═══════════════════════════╬═══════════════════════════╣
║ Eclipse Runtime ║ Provides the foundational ║ org.eclipse.core.runtime ║
║ ║ support for plug-ins, ║ org.eclipse.osgi ║
║ ║ extension points and ║ org.eclipse.osgi.services ║
║ ║ extensions (among ║ ║
║ ║ other facilities). ║ ║
║ ║ The Eclipse runtime ║ ║
║ ║ is built on top of ║ ║
║ ║ the OSGi framework. ║ ║
╚═════════════════╩═══════════════════════════╩═══════════════════════════╝
On the Core home page it then says that
So, two different runtimes are mentioned to be in use, none of which appears in the import
s.
Can you please give me an idea of which actual implementation I am using? Is it Equinox because Equinox is now the standard OSGi specs implementation shipped with the RCP? That'd be my best guess, and also that the mention of the Eclipse runtime as being built on top of the OSGi framework is slightly outdated information.
Or perhaps I got it all wrong? Always a possibility :).
Thanks!
Yes, it's Equinox. The Eclipse OSGi implementation is called Equinox. Over time things have been moved from the org.eclipse.core.runtime plugin into the Equinox stuff. There is no other separate runtime with Eclipse, and it has been built on Equinox for many years now, since Eclipse 3.0.