On 4/25/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
Hi,
We are currently using Maven 1 with Cruise Control, and are running into
CC's lack of Dependency Management.
We have multiple projects, many, but not all, of which inherit from a
common parent project. We also have multiple versions of these projects.
Say we have the parent Project A upon which Projects B, C, D and E all
depend. Then we have Project F which depends on B, C & D. Needless to
say, CC has no idea that it needs to build A, B, C, D, E and then F.
I'm completely new to Ivy - can it help us here? Can it handle all these
dependencies, including different versions of the Projects? eg F v 1
depends on B, C, D version 1, but F v2 depends on B v1, C v2 & D v1.
Quite a long time ago there was an Ivy plugin for CC. The problem is
that this plugin is not maintained anymore, and works only with rather
old CC version (2.3 if I remember well). An Ivy user also wrote some
kind of plugin for CC integrating Ivy in another way. You can find
details about that here:
http://www.jaya.free.fr/ivycruise.html
Even if it doesn't work out of the box for you, this can at least be a
good basis to implement dependent builds in CC.
Now for the pure Ivy part. In Ivy you can define your dependencies
like you expressed, no problem. I guess that by v1 and v2 you are
talking about branches more than static versions (otherwise I see no
value with dependent builds, if dependencies are static). Ivy supports
branches pretty well [1], so no problem with that.
But if you are satisifed with your build environment and just want to
use Ivy to introduce dependent builds in CC, maybe you can even use
Ivy pluggable metadata parser mechanism. Indeed Ivy supports maven 2
metadata out of the box, so supporting your maven 1 metadata shouldn't
be too complex to handle.
HTH,
Xavier
[1] http://incubator.apache.org/ivy/doc/ivyfile/dependency.html
cheers,
David
--
Learn Ivy at ApacheCon: http://www.eu.apachecon.com/
Manage your dependencies with Ivy!
http://incubator.apache.org/ivy/