On Tuesday, July 3, 2001, at 09:13 AM, Peter Vogel wrote:

Peter D -- I think you need to rethink your position.  While templating is
nice, and I amy even use it in the future, blocking progress of base ant
in this manner will only lead to ant becoming a boat anchor when people
stop being amazed by the javac task and start using it for building
real *systems*.

That or a fork...  (which I *really* don't want to do)

Just look at how many people post to this list with problems that would
be solved by a few simple features which are repeatedly blocked by a few
select committers:
foreach
if
expansion of variables in the depends attribute

The simple fact of the matter is that the *goals* you purport to support
(simplicity, avoidance of obfuscated constructs, etc.) are laudable, but
quite frankly I'm mystified by your approach: you block the very constructs
that would help to avoid monstrosities such as these:


<target name="a">
    ...
</target>
        
<target name="b">
    ...
</target>

<target name="c">
    ...
</target>

<target name="d">
    ...
</target>

<target name="doall" depends="a,b,c,d"/>

Where the ... is the same in all cases other than its use of some feature
distinguished by the target name.  How much easier it could be:

<target name="doall">
    <foreach var="loopvar" list="a,b,c,d">
         ... (using ${var})
    </foreach>
</target>

Or consider the property referencing patch that is the core of the current
topic, I can *completly* abstract the common build tasks into a core of
files (property.xml and target.xml) and use them in subsystem build.xml
files (as posted previously) but I need for the local level to be able to
override or augment things done in the standard build phases.  For example
target.xml has constructs like this:

<property name="dist" value="global.dist"/>

<target name="dist" value="${dist}"/>

Which allows a local file to do this before including target.xml:

<property name="dist" value="local.dist, global.dist"/>

or this if the dist target doesn't make sense in this subsystem:

<property name="dist" value="noop"/>

From my POV, your templating concepts ADD complexity for very little
value...


-Peter

-----Original Message-----
From: Stefan Bodewig [mailto:[EMAIL PROTECTED]
Sent: Friday, June 22, 2001 5:01 AM
To: [EMAIL PROTECTED]
Subject: Re: PATCH: Attributes of Target can reference properties


Peter Donald <[EMAIL PROTECTED]> wrote:

So you say you are going to -1 every solution that allows users to
specify dependencies on the command line for Ant2 and offer
templates as the alternative.  You'd accept such a non-templating
solution for Ant1, as long as it doesn't imply it will be present
in Ant2.  Is this correct?

essentially ;)

In which case we are stuck with regard to Peter Vogel's patch, targets will be there in Ant2 and they will have a depends attribute - expanding properties for it in Ant1 but not for Ant2 is not an option for me.

Stefan


Reply via email to