That looks like the correct behavior to me. This is analogous to properties,
which are set once and cannot be changed again.
On 9/13/05, Aliaksandr Voitau <[EMAIL PROTECTED]> wrote:
>
> Hi,
> here is a piece of my buildfile.
>
> <path id="sample.classpath">
> <pathelement location="${lib}/sample.jar" />
> </path>
>
> <target name="target-name">
> <taskdef name="sample"
> classname="my.pkg.Sample">
> <classpath refid="sample.classpath" />
> </taskdef>
> </target>
>
> While trying to invoke this target from java code i get the following
> error:
>
> taskdef class my.pkg.Sample cannot be found,
>
> although i set ${lib} from java code using setProperty(...) right before
> executing target "target-name".
> However, if i'll just paste <path> content to <classpath>:
>
> <target name="target-name">
> <taskdef name="sample"
> classname="my.pkg.Sample">
> <classpath>
> <pathelement location="${lib}/sample.jar" />
> </classpath>
> </taskdef>
> </target>
>
> or just put ${lib} to property file everything works fine, or even just
> nest <path> into <target>.
>
> So, <path> seems to resolve nested elements' properties only on the time
> of the first parsing by ProjectHelper's parse(...), but not on executing
> particular target, using that path, when previously undefined properties
> became available. Is it correct behaviour?
> Couldn't find any explanation in available documentation.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>