Continuous build for RCP apps.

Setting up a continous build for RCP is not as easy as it should be. It took me approx. 1 day to make it work (being interrupted all the time) . This is how I did :

I used at first PDE Automation, but this article which can be found on eclipse.org is really outdated.
This page has all you have to know : Help : pde_product_build

Looks like it’s simple, isn’t it ? Well there are issues when you do it for real :

  • My rcp app is based on several plugins, with dependencies between each other. The build process seems to just ignore these dependencies and start compiling some plugins before the one on wich they depends. And the process fails. I had to move features order in my product definition to fix the compilation. (maybe some dependencies issues in my features, I have to check that)
  • Once, the build worked for one platform, I tried to make it produce an archive for each platform. The build process is supposed to support this by adding several platform to the configs properties. Actually, only the first one is correctly build, and the second one does not include the RCP feature (not useable). I had to make 3 different config and call the build 3 times in a row to produce the files for win32, linux, and macos.
  • Finally, I looked for an Intel Mac target, but this config is not supported, simply because the packaging is exactly the same as PPC Mac. You can safely use macosx, carbon, ppc as target for all macs (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=138047)

I added my own scripts to check out my app from SVN (only CVS is supported by automated builds) and to deploy the builds to my web server. The build is call from cron. Everything works :-)

(As usual, I’ll post these issues to bugzilla asap)




  • Hi, John,

    We're talking about continuous build for RCP app or how to build an application from sources by only launching a batch script. The goal is to be able to automatically export the RCP app each day ( and report compilation errors or unit test failures.)

    We are using the PDE headless build feature of Eclipse.

    See http://en.wikipedia.org/wiki/Continuous_Integra...
  • John
    Regarding pluginbuilder, it is bugged.

    For now, 2 bugs only are inventoried:
    http://sourceforge.net/project/shownotes.php?gr...

    But there are others, could it be with the version 0.6 or the nighty build v 0.7.

    Typically, the ant task (3.3.2) end up with a:
    ..build.xml:183: The following error occurred while executing this line:
    ..build.xml:81: The following error occurred while executing this line:
    ..build.xml:116: Java returned: 13

    No matter if you are using the JDK 1.5 or 1.6

    I'm suspecting among others causes a bad multithreading impl.
  • John
    Heuuu guys,

    I read, I don't understand what I read hear, but I know how to do it in less than 10sec.

    Just use the export functionnality provided with Eclipse (try it with 3.3RC4 - Ganymede) "Export deplaoyable plugins and fragments) and you have your plugin ready to be part of your next start of eclipse (copying the plugin into the plugin folder).

    Or do I miss something in your attempt to deploy even a RCP app ?

    Cheers,
    John
  • I did not know about Pluginbuilder, I'll try it next time I have to automate a RCP build.

    I put myself in CC of bug 140745

    Thanks Benjamin & Elias
  • Hi Nicolas,

    > "I had to move features order in my product definition to fix the compilation."

    actually your first issue sounds very much like bug 140745 - "Headless build does not resolve inter-feature dependencies"

    https://bugs.eclipse.org/bugs/show_bug.cgi?id=1...

    Regards,
    Elias.
  • I came, I saw [1], I conquered

    in approx. 5 minutes ;)

    SCNR

    [1] http://www.pluginbuilder.org/
blog comments powered by Disqus