ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ventimiglia, David" <David.Ventimig...@msdw.com>
Subject RE: Circular Dependency Strategy Help...?
Date Thu, 02 Nov 2000 23:56:45 GMT
One possible solution would be to scrap the multi-build file approach and
just have one build file.  One file becomes easier to maintain than many,
and hopefully it need not be a huge file since Ant's tasks are usually built
to scan through a directory tree.  Presumably, yours is a Java project, in
which case the <javac> task can scan the entire tree under one root and
build everything that's out of date.  Similarly, with <ejbjar> (if you're
using ejbs).  After that, a handful of <jar> tasks to ball up .WAR files and
all other non-EJB stuff, and you're done.  The nice thing about this is that
developers can add stuff to the tree and Ant will pick it up, without having
to explicitly specify any new dependancies (in build.xml files, property
files, or wherever).

Using one build file may not be a one-size-fits-all solution, but I suspect
the recursive, multi-file approach is used in many cases where it is
pointless at best and harmful at worst.  In some cases, recursive approaches
limit a build tool's ability to create the complete, accurate dependancy
graph essential to doing correct builds.  For a compelling argument against
recursive multi-file builds, check out this article:

http://www.pcug.org.au/~millerp/rmch/recu-make-cons-harm.html

Cheers,
David

-----Original Message-----
From: Gavin M. Bell [mailto:cue@nextobjects.com]
Sent: Thursday, November 02, 2000 9:49 AM
To: ant-user@jakarta.apache.org
Subject: Circular Dependency Strategy Help...?


Hey Ant Mavens...

    I have created a build structure such that each of the developers on
my team has a module and their own build file.  They are to maintain
their own build files.  There is a master build file that runs the build
for each submodule.  I have run into a circular dependency when
compiling two modules.  How would I go about fixing this problem?
Please, any suggestions would be welcome.

--



     Gavin M. Bell (UNIX SEMPI)
          *DJ
          *Skate/Snowboarder
          *Teacher
          *Gymnast
          *Writer
          *Entrepreneur
          *Hacker
          *Programmer
          *System Administrator
          *Lover
          *All Around Groovy Cat:-)
     http://www.6thcolumn.org/~cue/
     gavin@6thcolumn.org
-------

"I'm trying real hard to be the shepherd."
    -Samuel Jackson (Pulp Fiction)

PGP KEY: http://www.6thcolumn.org/~cue/cuekey.asc


Mime
View raw message