Eclipse RCP Builds

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Eclipse RCP Builds

moatas
We have multiple Eclipse RCP projects broken into many plugin modules.  Each of these modules are checked into subversion.  We have recently worked in the headless ant builds and would like to hook these into our continuous integration system.  Right now we use Contimuum since most of our other projects are built in maven. 

Can someone give me a brief description how we might use Hudson to do this?  Our build script right now assumes it will build this structure based on variable in the users $HOME/build.properties file.

Does Hudson have the ability to build multiple submodules and place them in a particular directory and then invoke the master build?  Also, we use the generated ant scripts from Eclipse which point at an Eclipse install (which is checked into Subversion), so it would need to be checked out, but not built).

Any advice would be much appreciated.

Thanks!

Birch
Reply | Threaded
Open this post in threaded view
|

Re: Eclipse RCP Builds

Kohsuke Kawaguchi-2
J B wrote:

> We have multiple Eclipse RCP projects broken into many plugin modules.  Each
> of these modules are checked into subversion.  We have recently worked in
> the headless ant builds and would like to hook these into our continuous
> integration system.  Right now we use Contimuum since most of our other
> projects are built in maven.
>
> Can someone give me a brief description how we might use Hudson to do this?
> Our build script right now assumes it will build this structure based on
> variable in the users $HOME/build.properties file.
>
> Does Hudson have the ability to build multiple submodules and place them in
> a particular directory and then invoke the master build?  Also, we use the
> generated ant scripts from Eclipse which point at an Eclipse install (which
> is checked into Subversion), so it would need to be checked out, but not
> built).
I'm not completely sure if I understand your environment, but it sounds
like it's doable.

Let's see, first you need an Eclipse installation, which you have in
your workspace. If it changes often, you can create one job in Hudson
just to check out the latest, or if it doesn't change often, you can
just have it available in some known location, just like you install
Ant/Maven/JDK etc for use in Hudson.

You can create jobs for each modules. If you have a large number of
jobs, you might want to do so by creating config.xml programatically
then reload Hudson. If it's just 4 or 5 I'd do it manually by coping one
job to others. You can configure each module to capture their artifacts.

Then you can create a job for the master build. The first thing it can
do is to use wget or something to download the latest artifacts of all
submodules into the proper place in the master build workspace. Since
you are using Maven, maven this could be simply replaced by having
submodules install artifacts to the local repo, and then have your
master build simply picks up the jars from there.

And finally, you can set up chained build from submodules to the master,
so that any completed build in a submodule would trigger a master module
build.

There are other ways to set up things, but from what I inferred from
your e-mail, this is what I'd do.

Are you using Maven2? I'm also working on better integration of Maven2
to Hudson, so you might find that useful.

> Any advice would be much appreciated.

No problem. Let us know how it goes, or if you find any problems.

Also, when you eventually deploy Hudson in your environment, would you
be interested in helping us with a case study document like [1]? You can
write the whole text if you like, or you can just let me ask a bunch of
questions, and have me write up the text.


[1] https://hudson.dev.java.net/case-study-1.html
--
Kohsuke Kawaguchi
Sun Microsystems                   [hidden email]

smime.p7s (4K) Download Attachment