Creating an Eclipse RCP 3.5 target platform
Some things have changed in Eclipse 3.5 regarding target platforms. At first, you don’t need to add any JDT plug-ins any more to be able to export applications using the Export wizard in the IDE. Also the validation when exporting plug-ins is much stricter now.
I published the resulting target platform as github project: eclipse_rcp_de. This is a general-purpose RCP target platform. I added the help features and plug-ins and German translations from the Babel project.
Roughly, these are the steps to create such a target platform:
- Download the RCP SDK for your main platform from the Eclipse Project Downloads page. This is the starting point for the new target platform.
- If you want to support other platforms download the DeltaPack. Add the DeltaPack plug-ins to your target platform and exchange the
org.eclipse.rcpfeature with the one from theDeltaPack. - If you want to save some disk space and don’t need enhanced language features like right-to-left text, download the
com.ibm.icu.base binary and source Plug-insand replace thecom.ibm.icuplug-ins with the plug-ins from this download. - Add other plug-ins you want to include in your target platform. I usually add
org.apache.commons.langandorg.eclipse.ui.formsfrom the Eclipse SDK. - You need to change the
org.eclipse.featureto represent the changes from the last two steps. For this, edit the feature.xml file. I changed the version to3.5.0.customized, changed thecom.ibu.icudependency and added dependencies for the additional plug-ins. You also need to remove the signatures from theMANIFEST.MFfile, because otherwise the builder will complain about the unauthorized changes. - If you want to save some more disk space, you can remove all plug-ins and fragments for platforms you don’t support. I removed all plug-ins that are for non-x86 architectures. You also need to remove these from the
feature.xml. - If you want to support help, add the
org.eclipse.helpfeature and all contained plug-ins from the Eclipse SDK. - Add internationalization fragments: Download the language pack
BabelLanguagePack-eclipsefrom the Eclipse Babel Project Downloads download page. You need to go through all plug-ins in theorg.eclipse.rcpandorg.eclipse.helpfeatures and check if there is a translation fragment in the language pack. These need to be copied to the target platform. I created two new featuresorg.eclipse.rcp.deandorg.eclipse.help.dethat contain these fragments.
This is a quite a cumbersome process. This time I did it manually as I’m in a hurry, but I’m looking into finding a convenient way to create such a target platform or automating this process.