[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [pde-build-dev] Build/test only changed plugins or depend on a plugin that's changed?

On 4/27/07, Harleen Sahni <hsahni@xxxxxxxxxx> wrote:
Hi,

I am using pde build with a continuous integration system to build some
plugins and then test them. Some of the tests take a lot of time and I'm
trying to make the process a lot faster by only running tests when needed.
Does anyone have any suggestions on how to use pde build to build and/or
test only plugins that have had their code changed or plugins that depend
on plugins whose source has changed?


Yes,

You need to break each plugin up so that it only builds itself.

If it depends upon any plugins (including eclipse core ones and ones
you have written) then they need to be copied into the eclipse target
directory used to build that plugin.

It means that there is a lot of duplicated space wasted in creating a
separate eclipse target directory for each plugin but does mean you
can build the plugins separately.

Then you can use cruise control (or whatever CI product you use) to
only build the plugin if the source changes, or if the plugin's
dependencies were rebuild
(http://cruisecontrol.sourceforge.net/main/configxml.html#buildstatus)

I use Maven to build our projects and I wrote up how I did it at
http://docs.codehaus.org/display/MAVENUSER/Building+Eclipse+RCP+and+RCP-based+Applications.

By using Maven I am able to build my plugin and install it into a
local repository and then other plugins can automatically install that
dependency as needed.  Maven re-uses the Ant PDE build framework to
build the PDE plugins, but you get the rest of the Maven goodness
wrapped around this.