Monday, March 21, 2011

Building Eclipse Plugins and RCP Applications with Tycho, Nexus and Hudson

This one promised to be interesting because of its relevance to our own work. It was a little disappointing though because I think it could have been a little better prepared. The presenters certainly knew their subject (they commit on Tycho, Maven and m2eclipse) but I think at times the message was a little unclear. About half the session was hands-on exercises which were a little buggy so people were having problems (me included). They seemed to be pushing their commercial product, Nexus Pro, a little too much for me too. They said it has P2 support but didn't go into details. I think we can do without it personally. They were using m2eclipse though which gives me hope that we still might be able to adopt it. Having to do command line programming then refresh eclipse products should be unnecessary these days.

Having discussed Tycho with Alex and Allan at work I don't think I actually saw anything new. Just the expected parent and child poms, new maven archetypes, etc. They did have a novel idea though in splitting up the module specification into a separate "aggregator" project with its own pom and situating the parent pom in its own project. They also had these projects as siblings of the code projects, using "../[project id]" when referring to them. I like that they are all sibling projects because it would mean not needing to check out a parent folder in tortoise, again keeping the developer within eclipse. I'm not sold on the aggregator but it was interesting.

A couple tidbits:
  • Tycho reportedly does not support specifying versions with Export-Package (we're not doing so now).
  • Tycho reportedly does not support version ranges with Import-Package (we generally just set a minimum version).
  • No publishing support - local Update Site project builds and deposits files locally; need to somehow get the artifacts to the P2 repository server.
  • They have SWTBot tests running with their local and Hudson builds (mvn -X) but they haven't tried WindowTester - have we picked the wrong GUI tester?
  • They have FindBugs working with their Hudson builds.
  • No code coverage Hudson plugin support yet. They're considering JaCoCo.

No comments:

Post a Comment