Plug it in: Hello World meets the workbench
The Eclipse platform is structured as a core runtime engine and a set of additional features that are installed as platform
plug-ins. Plug-ins contribute functionality to the platform by contributing to pre-defined
extension points. The workbench UI is contributed by one such plug-in. When you start up the workbench, you are not starting up a single Java program. You are activating a platform runtime which can dynamically discover registered plug-ins and start them as needed.
When you want to provide code that extends the platform, you do this by defining
system extensions in your plug-in. The platform has a well-defined set of extension
points - places where you can hook into the platform and contribute system behavior. From the platform's perspective, your plug-in is no different
than basic plug-ins like the resource management system or the workbench itself.
So how does your code become a plug-in?
- Decide how your plug-in will be integrated with the platform.
- Identify the extension points that you need to contribute in order to
integrate your plug-in.
- Implement these extensions according to the specification for the
extension points.
- Provide a manifest file (manifest.mf) that describes the packaging and
prerequisites for your code, and a plug-in manifest (plugin.xml) that
describes the extensions you are defining.
The process for creating a plug-in is best demonstrated by implementing an old classic,
"Hello World," as a plug-in. The intention of this example is to give you a flavor
of how plug-in development is different from Java application development. We'll gloss over a
lot of details in order to get the plug-in built and running. Then we'll look at extension
points in more detail, see where they are defined, and learn how plug-ins describe their implementation of an extension.