Skip to main content
Jump to: navigation, search

Oomph Targlets

Revision as of 05:13, 29 April 2018 by (Talk | contribs) (Edit Targlet Container with Targlet Editor)

Oomph Project Logo.png Powered by Oomph

Oomph's Targlet technology extends PDE's base functionality for specifying a target platform definition by providing a more expressive, flexible, and reliable mechanism. The Targlets framework is fully integrated with PDE. It uses PDE's target location extension point, providing a Targlet Container implementation to augment PDE's built-in target location implementation.

Install Targlet Support

Use Help → Install New Software... and enter one of the update sites, e.g.,, into the "Work with:" combo. Enter "Oomph Targlets" in the filter, and select the Oomph Targlets feature.

Oomph Install Targlets Feature.png

Create an Empty Target Definition

Use Window → Preferences... → Plug-in Development → Target Platform to "Add..." a new Target Platform.

Oomph PDE Add Target Platform.png

Choose "Nothing: Start with an empty target definition" and press "Next".

Oomph PDE Create Empty Target Definition.png

Use the "Name:" text field to name it "Sample" and press "Add..." to add a target location.

Oomph PDE Add Target Location.png

Add a Targlet Container

In the "Add Content" dialog select "Targlet Container" and press "Next".

Oomph Targlet Add Targlet Container.png

Use the "Targlet Container ID:" field to enter the name "Sample Targlet Container" and press "Finish".

Oomph Targlet Add Targlet Container Specify ID.png

Select the new Targlet Container and press "Edit..." to edit it:

Oomph Targlet Edit Targlet Container.png

This will save the target definition, dismiss the dialog, and open the Targlet Editor.

Edit Targlet Container with Targlet Editor

The Targlet Editor works well in combination with the Properties view and Oomph's Repository Explorer. You can open the Properties view from the Targlet Editor's context menu or by double clicking any item in the editor. You can open the Repository Explorer by entering "Repository Explorer" in the "Quick Access" field to the left of the perspective toolbar in the upper right corner of the perspective.

Double click the root item (only item, currently) in the Targlet Editor and use the context menu to invoke New Child → Targlet.

Oomph Targlet Editor New Child Targlet.png

The new Targlet must have a name. The editor decorates errors in the tree and in the Properties view. Use the Properties view to set the "Name" property to "Eclipse SDK".

Oomph Targlet Editor Set Targlet Name.png

Use the context menu on the new Targlet named "Eclipse SDK" to invoke New Child → Repository List and then use the context menu again to invoke New Child → Repository. A Repository must of course specify a URL for a p2 update site. Use the properties view to enter the URL "". Open the Repository Explorer view and then drag the Repository item and drop it onto the Repository combo in the Repository Explorer.

Oomph Targlet Editor Drag Repository To Repository Explorer.png

The Repository Explorer will load the p2 repository and display its contents, much like what you're familiar from using the Help → Install New Software... dialog.

Oomph Targlet Editor Use Repository Explorer.png

For each item you select, you can see which Versions of that item are available in the p2 repository. You can alter how the Versions are displayed using the controls in the bottom right. Here "Compatible" is checked, and "Minor" is selected. You can drag any item, including the Version items, to the "Eclipse SDK" Targlet to create a Requirement. When dragging a Version item, the version range of the Requirement that's created in the Targlet will reflect the display settings you've chosen. Here is the result of dragging the "4.8.x" version item to the "Eclipse SDK" Target with the new Requirement selected to display its properties in the Properties view:

Oomph Targlet Editor New Requirement From Repository Explorer Version Item.png

It is significant to note some the difference between editing a Targlet Container with Oomph's Targlet Editor versus editing a *.target file PDE's Target editor. At this point, we have not downloaded any artifacts from the p2 repository, we've only explored the content metadata and we could author the the complete definition based on just that information. Also, editing PDE's Software Site container is achieved by specifying so-call installable units, either with an exact version or with the so called omni-version, but Targlets use Requirements that can specify version ranges, and properties such as optional and greedy, exactly like what you're able to express in a plug-in' MANIFEST.MF. Requirements are a more expressive mechanism for expressing dependencies for the target platform.

When you save the Targlet Editor's contents, the Targlet Container will resolve in the background. You can use Window → Preferences → Plug-in Development → Target Platform to make the "Sample" target platform the active target platform.

Using a Source Locator

More documentation TBD.

Copyright © Eclipse Foundation, Inc. All Rights Reserved.