----- Original Message -----
From: "David McTavish" <[EMAIL PROTECTED]>
To: "'Ant Users List'" <[EMAIL PROTECTED]>
Sent: Monday, February 03, 2003 11:03
Subject: RE: Scaling to large projects


>
> The only tricky part was when projects depended on other projects. I've
> refactored this to basically two lines per dependency in each build
script.
> One to add the library to the compile classpath, and another inside the
> dependency of the compile target which imports the libraries to the local
> lib folder. I've refactored this such that it only requires two variables,
> the path to the dependent project, and the name of the archive to copy to
> the local lib folder. This means that you have to manually manage the
> dependencies between projects, which is more of a philosophical difference


the way I work is

-a central repository of libraries for every app. this makes it easier to
roll out updates across all apps


lib/log4j-1.2.7/dist/log4.jar
lib/castor0.9.3.9/lib/castor.jar
...

-a central properties.xml file to declare log4j.home, log4j.jar properties
set to the various locatons
-the file also to declare the dirs that various projects stick their output
jars
-this file is included as an XML entity (see ant in anger for details)

So an app sets up a classpath of ${log4.jar},${axis.jar},${castor.jar},
${myapp.jar}, pulling them in from wherever they are defined; if one machine
wants to bind axis.jar to daily builds, that can be one in a properties file
loaded in properties.xml; the apps own build files are untouched.

Does this work? Yes, especially the bigger and more complex the project.
Having all the libs in one place makes maintenance easier.




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to