Part 7 of my Galileo Reviews around Target Platforms. An Overview of this blog series can be found here.
If you look at the Views available under “Plug-in Development” you should see this:
If there’s no “Graph Plug-in Dependencies” View, then you should install it from
There’s another Bundle available: Neil’s Bundle Monitor. You can install the Bundle Monitor from
If Neil’s Bundle Monitor is installed, then you have some more Views available:
in this Blog we’ll use the Bundles View and the Services View from Bundle Monitor. (HowTo use the Configuration View is another story and will be covered in a blog of my osgi – applications – blogseries)
Additional to these Views you can get informations of Plug-ins from your running IDE from the “About > Installation Details” Page.
Two different kind of Views
Please remember, that there are Plug-ins installed into the IDE and also Plug-ins installed into your Target Platform, so you need two different kind of Views !
If your IDE is also the active running Target Platform – then in this case all Views are pointing to the same set of Plug-ins.
Lets structure the Views now depending on the source where the Plug-ins are from:
- 1. View @ Plug-ins defining your IDE
- 1.1. Plug-in registry
- 1.2. About > Installation Details > Plug-ins
- 1.3. About > Installation Details > Configuration
- 1.4 Bundle Monitor > Bundles View
- 1.5 Bundle Monitor > Services View
- 2. View @ Plug-ins defining a Target Platform
- 2.1. Plug-ins
- 2.2. Target Platform State
- 2.3. Plug-in Dependencies
- 2.4. Graph Plug-in Dependencies
In this blog entry we’ll look in detail @ Plug-ins defining your IDE (1.1 … 1.5). The next blog entry will cover the Target Platform (2.1 … 2.4)
1. View @ Plug-ins defining your IDE
All these Views are using your Plug-ins (Bundles) installed at the running IDE.
1.1. Plug-in Registry View
The Plug-in Registry View got many enhancements compared with Eclipse 3.4. Lets look at some different kind of bundles and see what kind of informations now are available.
Run-time Libraries: if a Bundle defines Run-time Libraries, they are listet. (example from plug-in com.brosinski.eclipse.regex)
Extension Points: If Plug-ins are defining Extension Points, you can inspect them.
Required Bundles: The required Bundles are listed under “Prerequisites“.
@ Location: You also see that there’s always an information about @ Location where you can easy control where the bundle comes from: per ex. eclipse/plugins installation or dropins directory
Registered Services: Informations about Services in Plug-in Registry View are new in Eclipse 3.5 and are shown with informations about Service ID, Interface, Properties and (very useful) which bundles are using the Service at the moment.
Used Services: gives you informations which OSGI Services are used by this Plug-in. BTW: It doesn’t matter if a Service is a classic OSGI Service or a Declarative Service (DS) – all are displayed in the Plug-in registry View.
Fragment Bundles: Fragments are easy recognized – they have an own icon. The Host is displayed right beside the Version.
Imported and Exported Packages: also new in Eclipse 3.5 you get detailed informations which Packages are imported and which ones exported. Great for me as I’m a fan of using Imported and Exported Packages where possible.
Options: Right-clicking on a Plug-in there are some options:
- Refresh (refreshes informations from running IDE)
- Copy (copies the symbolic name into clipboard)
- Go Home / Back / Into (some navigation)
- Show Active Plug-ins only (Filters the View only displaying Active Plug-ins)
- Show Disabled Plug-ins only (Filters the View only displaying Disabled Plug-ins)
- Show Advanced Operations (a toggle to display advanced operations -see below)
Options with Advanced Operations: if advanced operations are ON, there will be some more commands available bringing functionality of OSGI Console into Plug-in registry View):
- Start (Starts the bundle if not already running. BTW: Did you notice the small arrow indicating if a Plug-in is running or not ?)
- Stop (Stops a running bundle)
- Diagnose (same as “diag” from OSGI console)
- Disable (disables a Plug-in)
Group By: By default the Plug-in Registry View is groupd by Plug-in, but you can also group by Extension Point and Service.
Group By Extension Point: you can easy find the Extension Points avalable and control who’s contributing an extension and what variables are set.
Group By Services: The Interface, who registered the Service, what Properties are set
Group By Services (DS): In this case its a Declarative Service and you also get Informations about the Component. Also you see that this Service is used by a Bundle, the other Service above was registered, but not used yet.
From my POV the Plug-in Registry is very helpful to analyse your running IDE and I dont want miss it. Thx to the PDE Team that DS are very well integrated.
1.2. About > Installation Details > Plug-ins
As seen in previous blog there’s also a list of all Plug-ins from running IDE.
1.3. About > Installation Details -> Configuration
The Installation Details offer informations about your Configuration. You should open this and explore the content. Here are only some parts:
The installed Features:
The installed Plug-ins: with exact informations from bundle-lifecycle – you see if a bundle is [ACTIVE] [STARTING] [RESOLVED] etc.
… and much more.
1.4. Bundle Monitor > Bundles View
If you have installed Neil Bartletts Bundle Monitor, the View OSGI Runtime > Bundles looks like the OSGI Console and gives you an information about the state of your bundles from running IDE. (You can include this view also into your RCP application to display the infos from your Runtime then)
From this View you can also
- Filter the Bundles
- Install new Bundle from File
- Install new Bundle from URL
- Try to resolve all Bundles
Attention if Installing Bundles ! (see below)
Right-clicking on a Bundle gives you:
- Resolve the bundle
- Start the bundle
- Stop the bundle
- Uninstall the bundle
- Diagnose the bundle
The Properties are displaying informations from the MANIFEST. From your IDE you can easy open the MANIFEST directly, but if inside an RCP app its a good option to explore things.
ATTENTION: If you Install a bundle from Bundle Monitor then
- the Bundle is correctly installed
- has State [INSTALLED]
- will be displayed in Plug-in registry View
- is NOT visible under About > Installation Details Plug-ins
- you can NOT Uninstall it from About > Installation Details > Installed Software
- after Restart the Bundle is “gone” – nothing in Plug-in Registry
Why are some nice features from Eclipse 3.5 not available ? If you look into Installation Details > Configuration you see the Bundle is recognized as “Bundle in System”, from “Plug-in registry”, but not as “P2 IU – Installable Unit”. The missing P2 is the key: “Bundle Monitor” doesn’t support P2 at the moment.
The nice thing: you can easy test some bundles in your running IDE without persisting the installation – only do a restart and they are gone ! if all works as expected then you can install them after restart the usual P2-aware way.
I like Neil’s Bundles View: its great to see the State of all Bundles – and sometimes its good to have a way to install a bundle without letting P2 knowing about 😉
1.5. Bundle Monitor > Services View
The Services View from Bundle Monitor gives you a List of all Services:
In this case I would prefer to use the Plug-ins registry View grouped by Services. But installed into a RCP app this View can be used to display all Services. (or use it in Eclipse 3.4 Installations without Services listed under Plug-ins Registry View)
The next blog entry of my Galileo reviews will look in detail @ Plug-ins defining a Target Platform.