ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stirling, Scott" <scott.stirl...@workscape.com>
Subject RE: compiling packages in an explicit order with javac
Date Fri, 21 Nov 2003 19:16:54 GMT
> From: peter reilly [mailto:peter.reilly@corvil.com]
> 
> you should check compilewithwalls in ant-contrib
> it explicitly enforces dependancies between packages.

That's cool.  I will look into that too.
 
> From: Steph Richardson
> >
> > or (c) enforce your explicitly designed dependancies from 
> > the start of the project, keeping you from needing to 
> > analyze them after the fact.

Ha ha, I overlooked that and created a false dichotomy.  Of course this is the right way to
do it.  So far, I haven't been involved in a project able to pull this off 100%.  I'm the
only person in the past 2 companies I've worked at who's used these tools and techniques AFAIK,
and here I haven't been successful in impressing the importance of dependency analysis and
package design on all the right people.

It's amazing (to me) that more engineers aren't tuned into package design concerns and their
importance.  It may be because it originates (I think) with Robert Martin's C++ Report articles
which predate a lot of the Java folks I've worked with (it predates me too, but somehow I
know about it and they don't).  We have 3 semi-independent dev teams with different managers,
and we have lots of 3rd party dependencies as well as our internal ones.  What's your process
for dealing with managers, developers and other engineers who don't know anything about this
stuff?  Reply offlist if you prefer.

> > Otherwise it seems the best way to do this for now, is 
> > stick with an explicitly coded list of <antcall>'s or 
> > the more terse <foreach> approach.

Maybe that "compilewithwalls" task will help too, or you could emulate whatever it does.

Maven (maven.apache.org) allows you to define project (not package) dependencies explicitly
with their POM descriptor.  If your packages correspond to build projects in some way (e.g.,
each package is in a separate folder with its own build script), then Maven might be a good
fit for you.  I normally don't recommend Maven for anything, but if the Maven concept of a
project fits with your organization, it could be a nice natural fit.

Scott Stirling
Workscape, Inc.

***********************************************************************
This message is intended only for the use of the intended recipient and
may contain information that is PRIVILEGED and/or CONFIDENTIAL.  If you
are not the intended recipient, you are hereby notified that any use,
dissemination, disclosure or copying of this communication is strictly
prohibited.  If you have received this communication in error, please
destroy all copies of this message and its attachments and notify us
immediately.
***********************************************************************


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message