I am afraid I was not too convincing yesterday, so let me give some simple 
reasons for my submission.

Path, Argument and FileSet already provide valuable functionalities: Path takes 
care of file and path separators,
FileSet finds file satisfying a given pattern, Argument quotes individual 
arguments that have space in them.
They all help you organize your build file by grouping related elements 
together in two dimensions rather than as
a long list:
  <argument id="jvmargs">
    <argument value="-Djava.security.manager"/>
    <argument 
value="-Djava.security.policy=${build.dir}/config/${name}_java2.policy"/>
    <argument 
value="-Djava.security.auth.policy=${build.dir}/config/${name}_jaas.policy"/>
    <argument 
value="-Djava.security.auth.login.config=${build.dir}/config/${name}_jaas.config"/>
    <argument value="-Dpros.home=${build.dir}"/>
  </argument>
 is easier to read than:
<property name="jvmargs"
value="-Djava.security.manager 
-Djava.security.policy=${build.dir}/config/${name}_java2.policy 
-Djava.security.auth.policy=${build.d
ir}/config/${name}_jaas.policy 
-Djava.security.auth.login.config=${build.dir}/config/${name}_jaas.config 
-Dpros.home=${build.dir}"/>

Note that all these functionalities already exist in core Ant.
When references were introduced, they were useful within a Path or a FileSet, 
but it became apparent that I could use
those in a Property and make the functionality of DataTypes available to 
anything that can use a Property (a big example
is the filter capability of copydir).

All this requires very little new code: I just shuffled some code around to 
make it reusable, and it does not turn Ant into
a new scripting language.
I know that you can do anything with the Script task, but core Ant can already 
do what I described. It is only  a matter
of making it available to the user.

Vincent.





_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com

Reply via email to