views:

1942

answers:

4

My company starts a new project next week. We have planned to develop the application with eclipse rcp. The build process should be fully automated, so we're prepared to set up a continuous integration environment (e.g. Continuum). For the build-automation-part I intended to use maven2, because I want use its dependency management.

I have used maven2 for a small old-style java project, but have never set up maven for using it with eclipse rcp.

What's the best way to do this? Basic concepts? Common traps? Are any tutorials or book's around there? The tutorials and informations I found, seemed outdated or incomplete.

PS: The main project will be divided into sub-project's (plug-in's). But I think this is typical for eclipse rcp projects.

+2  A: 

Like most Maven questions, this is solved by a link to a plug-in:

"pde-maven-plugin"

Other advice:

  1. use the assembly plug-in to build the update site
  2. consider using hudson rather than Continuum
sal
A: 

I've got recently the same problem : build eclipse RCP application through continuous integration.

I haven't applied them yet but I've found some interesting articles :

  1. Here's the documentation for Tycho
  2. Building Eclipse Plugins with Maven 2 on eclipse.org
  3. Build Eclipse RCP products using Maven 2 - how hard can it be? from Immo Hüneke's blog
  4. Here's an article about PDE build automation
  5. Here's a shell script to automate JUnit test launch
paulgreg
paulgreg
+1  A: 

I've been battling maven2/Eclipse RCP integration for some time. The key is not so much getting your setup right: You can get it to work - eventually - by reverse-engineering Eclipse's build process in maven.

In my experience, the hard part is keeping everything up to date. Every time Eclipse revs their libs, you'll find yourself re-writing a bunch of pom files for that newest RCP widget or SWT lib. Naturally, CI helps with this somewhat. The problem is that Eclipse and maven are very particular about the way they do the business of building, and their approaches are quite different. To make matters worse, PDE dev (and Eclipse dev, more generally) is powered by a lot of wizard code, which is sometimes quite opaque as to what's happening behind the scenes.

The question you really need to ask yourself is if it's worth the effort. In my particular case, I believe it has been. (CI is too good to live without.) But the trade-off is that you may find yourself being the "build guy", which can take valuable time away from actual development, which is probably what you enjoy most.

jasonnerothin
Another quick comment: Give hudson a spin instead of continuum. It's really neat and a breeze to work with.
jasonnerothin
+3  A: 

You should take a look at Tycho:

the-future-of-maven-osgi-join-the-tycho-users-mailing-list

the-next-generation-of-build-tools-for-eclipse-plugins-and-rcp-applications

Brian Fox
Here's another interesting link related to Tycho http://docs.codehaus.org/display/M2ECLIPSE/Tycho+project+overview and here's a French review about Tycho http://keulkeul.blogspot.com/2009/05/premier-essai-avec-tycho.html
paulgreg