--- Dominique Devienne <[EMAIL PROTECTED]> wrote:
> On Fri, Oct 10, 2008 at 12:12 PM,
> <[EMAIL PROTECTED]> wrote:
> > + <property name="$$" value="$$.value" />
> > + <au:assertTrue>
> > + <and>
> > + <equals arg1="${$$}" arg2="$$.value" />
>
> This one I get.
>
> > + <equals arg1="${$$}" arg2="${$}" />
>
> OTOH, I don't understand this Matt. Where does the $
> property come
> from? And why is it equal to $$'s value? Thanks,
> --DD
Remember that in Ant we merge any $$ sequence to $ so
that, if need be, the user can specify e.g.
<echo>$${foo}=${foo}</echo> to get (given ${foo} =
"FOO"):
${foo}=FOO
Nested property expansion is handling by resolving
embedded property references inside the ${} sequence.
$ handling is the province of the PropertyHelper (in
Ant 1.8, its delegates), so property names in a nested
property expression are subject to $$->$ parsing.
Thus when we say:
<property name="$$" value="$$.value" />
We are actually setting $="$.value" because Ant does
property replacement against all string attributes
when configuring the Java object model. Now also
remember that a single $ will remain a single $ when
not followed by { ($ and $$ are equivalent), so ${$}
and ${$$} are equivalent and both mean "expansion of
property with key '$'". Does that make sense?
-Matt
>
> > + </and>
> > + </au:assertTrue>
> > + </target>
>
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> For additional commands, e-mail:
> [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]