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)







17 de September, 2007 at 11:18 pm
I came, I saw [1], I conquered
in approx. 5 minutes
SCNR
[1] http://www.pluginbuilder.org/
18 de September, 2007 at 1:06 am
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=140745
Regards,
Elias.
18 de September, 2007 at 7:52 am
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
6 de June, 2008 at 9:42 am
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
6 de June, 2008 at 9:46 am
Regarding pluginbuilder, it is bugged.
For now, 2 bugs only are inventoried:
http://sourceforge.net/project/shownotes.php?group_id=188226&release_id=598542
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.
6 de June, 2008 at 10:39 am
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_Integration