ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Cooper" <james.coo...@maxware.nl>
Subject RE: Overridable targets?
Date Fri, 06 Jun 2003 15:41:50 GMT
Personally I'd find this very useful, our Ant script started off quite small
with limited uses. But like most things in software it soon became a victim
of its own success and soon became quite unwieldy. Obviously this was down
to our lack of fore throught.

We currently use Ant calls to separate documents, but in reality overridable
targets would have made our life  allot easier.

-----Original Message-----
From: ttye@firstam.com [mailto:ttye@firstam.com]
Sent: 06 June 2003 17:13
To: dev@ant.apache.org
Subject: RE: Overridable targets?


We are currently using a modified version of ant to do this.  It basically
provides the functionality to override target in sub builds (with the ant
task).  We use it so that projects can be built independently or as a sub
project of another project using the same build.xml file.  This allows you
to redefine or set a sub project target to a no-op.

I posted a long description of why we did this and why we felt it was
necessary a couple months ago on this list if you want to look at the
archives or I can dig it up and repost if you want.

Tim Tye

-----Original Message-----
From: Steve Cohen [mailto:SCohen@sportvision.com]
Sent: Friday, June 06, 2003 9:54 AM
To: ant-dev@jakarta.apache.org
Subject: Overridable targets?


Here is a radical idea that I'd like to kick around a little.

The prohibition against more than one target of the same name in the
same build script seems logical, but it impedes a form of reuse that I
think would be very handy to use.

If you include one build file within another (using ENTITY inclusion
mechanism) and you want to use all the targets in the included file
except one, which you would like to replace with a slightly different
functionality, and that target is called by another in the INCLUDED
file, you have to go through a lot of annoying stuff using if, unless,
etc. and perform redesigns on your script that render it far less clear
and less readable.  In many ways it feels like a straitjacket.

SO...
what if...
targets followed the same rule as properties????


That is, if two targets with the same name are found in one build script
(after inclusions performed), the first is used and the second discarded
(instead of as now, when this throws an error).  Then you could include
your generic bag of generally useful targets, but redefine one "inner"
target differently, to customize a particular build outside of the
generic pattern in some way.

The rule against two targets with the same name is an ant rule, not an
xml rule, so this is in theory doable.  It doesn't seem like it would
break that much because this has never been allowed before, there is no
previous set of semantics working against it against which backward
compatibility must be preserved.

There is probably some reason why this cannot work but I can't think of
it, so I will throw it out to the group for discussion.

Have at it!  Please, though, not too hard. :-)


----------------------------------------------
Steve Cohen
Sr. Software Engineer
Sportvision Inc.
scohen@sportvision.com
http://www.sportvision.com


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



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


Mime
View raw message