forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ross Gardler <>
Subject [PROPOSAL] Switch dependency managment to IVY
Date Wed, 07 Feb 2007 09:51:43 GMT
It appears my CCLA is now recorded so I can start moving some stuff from 
  an internal project to Forrest.

Recently I've been mentioning IVY [1] for dependency management.
Others have mentioned Maven2 [2]. From the little discussion we have had 
so far I get the feeling that we are happy to go with Ivy.

The advantages include:

- central repository (eventually, see below)

- dependencies need not be in SVN (eventually, see below)

- transitive dependency management (i.e. we say we need X, if X depends 
on Y it will come automatically)

- conflict management between dependencies (easier upgrading of 

- much easier integration testing. We can have different build 
configurations for release, development and test, release using fully 
tested jars, development using latest releases and/or milestones

- easier continuous integration testing

- full dependency reports (i.e. better developer docs)

The disadvantage is that, as far as I am aware, no developers here other 
than myself know ivy (and I'm still learning). However, Ivy docs are 
great [2]

Here is my plan:

1 - I create a Forrest only repo in SVN (as I have started for 
Forrest2). although wherever possible we will use the IVY repo and the 
Maven2 repo

2 - I modify our build files to use IVY (I have a whole set of generic 
build files that are intended to be extended by project specific build 
files. I plan to give them to the IVY folk if they think it they are a 
good idea, if not we'll take what we need from them)

3 - We make sure it works

4 - We move the entries in our repo to the IVY repo (I need to enter 
into a dialogue with IVY devs to see what is happening with regards an 
official Apache repo)

The end result will be a build system that uses three repos:

The forrest one for any jars we have customised but are not yet 
available in the main project releases (i.e. we have something in the 
patch queue)

The official IVY repo (whatever that turns out to be)

The official ASF Maven repo

So, any questions? Objections?

If nobody raises an objection in the next seven days (I'm busy until 
then) then I'll go ahead. Otherwise we can discuss and I'll call a vote 
if necessary next week.




View raw message