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]
> 
>

Reply via email to