The org.eclipse.compare trouble

Recently we have upgraded JCrypTool from Eclipse 3.5 to Eclipse 3.6. And had to bring in a bunch of new plug-in dependencies since org.eclipse.equinox.p2.ui.sdk suddenly required org.eclipse.compare (and of course org.eclipse.compare required some more plug-ins).

Thanks to Kai‘s Blog there is a solution for this problem now (or better a workaround). My question is, why is this necessary? There is a recommendation to not use any IDE related plug-ins inside an Eclipse RCP. A perfectly good recommendation for most of the applications out there. But org.eclipse.compare requires org.eclipse.ui.ide, and there you go. The next thing is, the modified ui.sdk (as described by Kai) is working fine, no problems at all. Why does a RCP developer have to modify an original plug-in this way? Isn‘t RCP supposed to make your development easier? Isn‘t p2 the future (and already the present) of updating your RCP? Isn‘t an optional dependency on org.eclipse.compare the better solution? Or a fragment that brings in the functionality that requires org.eclipse.compare? In my eyes the latest org.eclipse.equinox.p2.ui.sdk plug-in is a step backwards. Not a huge one, but it is going the wrong direction…