Wiki

Clone wiki

main / RCP_Notes

RCP Notes

Concepts

An RCP application is an entry point.

A RCP product wraps an application: it is used to define a splash screen, a brand, a license, and to export/deploy the application.

A RCP product can be plug-in based or feature-based. Plug-in based products are easier to create, but are not updatable from an update site. Feature-based products can be updated with an update site (more robust in the long term).

A RCP feature MUST include the org.eclipse.rcp feature (otherwise, you won't be able to launch the product".

Actually, it is a good idea to create a rcp_feature that includes the org.eclipse.rcp feature and other plug-ins such as org.eclipse.ui.intro (yes, they are supposed to be included in org.eclipse.rcp...)

Creating a RCP Product

  1. Once a feature and a plug-in has been created, create a Product (New / Other... / Plug-in Development / Product Configuration
  2. Save the product configuration in the feature.
  3. In Splash, specifies the plug-in containing the splash screen.
  4. In the dependencies, add two features: your rcp feature (e.g., qualyzer.feature) and the rcp_feature (the one that contains org.eclipse.rcp and the plug-ins).
  5. In Configuration, add the plug-in containing the application and select autostart=true for this plug-in (not sure why it's necessary).

Exporting a RCP Product to multiple platforms

To build a product for multiple platforms, you need the Delta Pack. The Delta Pack is available in Eclipse Classic / Other Downloads / Release (e.g., 3.5) / Delta Pack.

  1. Download Delta Pack for Eclipse 3.5.
  2. Extract it in the Eclipse installation directory (e.g., ../eclipse/delta)
  3. Go in Eclipse / Preferences / Plug-in Development / Target Platform
  4. Select the current target platform (usually Running Platform (Active) and click on Edit.
  5. Add a Directory and select "../eclipse/delta/eclipse" (replace the .. by the absolute path of your eclipse installation).
  6. Next time you go to Product / Overview / Export, you will be able to export to multiple platforms (e.g., windows, linux, mac). This is wonderful!

These instructions were taken from this excellent blog post.

Adding root files to RCP Product (e.g., userguide.pdf)

  1. Go to build.properties of a feature.
  2. Enter: root.folder.docs/html=../../wiki
    1. root.folder.docs/html will create a docs/html in the install folder.
    2. ../../wiki points to the content of the docs/html (in a Qualyzer workspace, this will add all the wiki files)
  3. Export the product.

Creating a Ant build file

  1. Make sure that you can export AND run the product using product export wizard first.
  2. Create a build project (e.g., ca.mcgill.cs.swevo.qualyzer.build)
  3. Copy the build.xml and build.properties to the project.
  4. Create a ant run configuration (right click on build.xml, run as) and configure the run configuration so that the JRE is the same as the one used by Eclipse.
  5. Should work...

Resources

RCP Product Build is difficult and tricky. Many developers acknowledge this. This tutorial and this thread were very helpful.

RCP Common Navigator Framework

For a list of actions and filters, open the plugin.xml of navigator.resources and search for things like filters.

Common Navigator Framework is explained: here.

Updated