redView + p2 + helios == sleepless nights

lets start with the good news:

this weekend redView 0.7.4 will be available together with detailed instructions how to install 🙂 please wait for another blog entry this weekend before installing from updatesite or cloning the source repository. btw: our sources (Mercurial) will be available from Sourceforge, bitbucket and also EclipseLabs !

if you follow my blogs then you know about the pain from last weeks to make redView run under Helios. it starts friday before EclipseCon and was a blocker to have a successfull redView workshop at EclipseCon. Three weeks ago I thought the story ends as I reported “P2 is my friend again“.

Remember the movie “Groundhog Day” ? (“und täglich grüßt das Murmeltier” in Germany) – that’s how I’m feeling: after each Helios Milestone +3 it happens again: P2 installs unwanted optional dependencies into the IDE (Bugzilla 312547): in this case RAP plug-ins causing trouble to IDE and Target Platform Definitions where the active Eclipse is used as starting point.

BTW: P2 still is my friend 😉 there’s no one to blame about the problems, they happen only if you’re using some projects / tools / update sites together and thanks to Eclipse release plan and thanks to the Eclipse release train (around 40 projects this year) there’s a chance to find it before Helios (Ecipse 3.6) will be released.

Thanks to Pascal, Christian and uncount others spending so much time to find solutions. As a result of their hard work it becomes better from Milestone to Milestone: in M6 it happens each time that RAP was installed into the IDE, now using M7 / RC1 it happens only randomly: I did many time-consuming tests always installing some plug-ins into fresh Helios SDK under OSX, Windows 7 and Ubuntu and 4 of 10 installations failed.

At the moment it isn’t clear why it fails randomly (see Bugzilla 312547) – all needed informations for P2 are provided by Riena (… greedy=false in p2.inf …) so there should be no reason to fetch and install optional RAP bundles too.

The current solution, that all plug-ins with optional dependencies to RAP tell p2 not to be so greedy, seems not to work in all cases and there’s a small back door where RAP bundles come in again.

There’s also some work on bugzilla 306709 to go the opposite way: let RAP and SWT define P2 metadata that they conflict with each other. Then it should be easy for P2 to do the right work while installing Plug-ins into IDE: SWT is always there, so no RWT etc will be installed.

Hopefully this could be done for Helios, because more and more projects will support RAP (and perhaps more runtime technologies in the future).

If you run into those scenarios where your IDE doesn’t work anymore (Views couldn’t be opened etc) then perhaps you got RAP bundles in.

My workarounds at the moment:

  • after installing new software, don’t restart
  • at first look into “Plug-ins” View if there are org.eclipse.rap.* plug-ins.
  • If you found some: quit Eclipse and remove them from /eclipse/plugins folder.
  • then restart Eclipse.

If you define or use a Target Platform definition based on active running Eclipse, then you’ll get some errors:

simply ignore them – the Target Platform will still work.

As already mentioned above: redView 0.7.4 will be available this weekend and you can try it out if you’re not afraid to deal with such problems.

%d bloggers like this: