2012-03-28

Eclipse Target Platform

When developing Eclipse plug-ins, it is not that useful to rely on the version attribute of "required plug-in" entries in the MANIFEST.MF file to perform compliance checking for a target platform.

An Example:
You are developing with Eclipse 3.7 and want to develop for the 3.5.2 Target platform. So you define your plug-in X to require (minimum version 3.5.2) eclipse plug-in Y. And develop happily ever after. However, the eclipse team have a versioning scheme, where not all their plug-in versions are updated to the current release version. So there might not be a version 3.5.2 of plug-in Y. What happens? As you only defined the minimum version, there could exist a 3.6 version (and you use Eclipse 3.7, so it is present) and develop against the wrong API!

Ok, so you have to define at least a maximum version also. Should be 3.5.2 in this case. But can you specify also a minimum version? How low should it be? Turns out there are plug-ins in Eclipse 3.5.2 with e.g., version 1.2.1 (org.eclipse.core.net) and also 3.4, etc. So there is not an easy answer.

So one should try the "Target platform" feature of Eclipse (Preferences\Plug-in Development). But that however is again difficult to maintain synchronous across a development team, because the Eclipse preferences are usually not versioned in a CVS.

Read more!