Magesh Umasankar wrote:

> Please find attached a fix for Issue 1918.

<snip>

>  public class ProjectHelper {
> @@ -386,6 +387,8 @@
>              for (int i = 0; i < attrs.getLength(); i++) {
>                  String key = attrs.getName(i);
>                  String value = attrs.getValue(i);
> +                value = replaceProperties(project, value,
> +                               project.getProperties() );

This isn't acceptable because it will do property subsitution in *all* 
attribute values, not just
description.  I don't have a problem with property expansion in target 
descriptions, but I DO have one
in if, name, depends, etc.  Hmm... lets think about property expansion in 
descriptions.  Why do you
want it?  Nominally, to reflect what is happening in the target based on what 
are effectively
parameters to the target.  What happens when I have

<property name="funky.stuff" value="use your imagination" />
<property name="sucker" value="someone you don't like" />

<target name="do_this" description="Do ${funky.stuff} to ${sucker}.">
  ...
</target>

<target name="call_do_this">
  <antcall target="do_this">
    <param name="funky.stuff" value="throw chickens at" />
    <param name="sucker" value="your boss" />
  </antcall>
</target>

with ant -projecthelp you get

  do_this     Do use your imagination to someone you don't like

but in reality you mean

  do_this     Do throw chickens at to your boss


Ok, the English grammer sucks, but you get the point.  I'd argue that having 
the property names
unexpanded in the description are more useful than having the potentially 
incorrect information - at
least you know which properties are involved in the target.

Glenn McAllister
SOMA Networks, Inc.

Reply via email to