Stefan Bodewig ([EMAIL PROTECTED]) wrote:
> On Wed, 22 Aug 2001, Gary Shea <[EMAIL PROTECTED]> wrote:
>
> > What I want to write is:
> >
> > <taskdef name="sqlfwk3"
> > classname="com.gtsdesign.sqlfwk3.ant.Sqlfwk3Taskdef" >
> > <classpath>
> > <pathelement
> > location="${jars.dir}/sqlfwk3-taskdef.jar"/>
> > </classpath>
> > </taskdef>
> >
> > but ${jars.dir} (which is actually coming from the calling
> > buildfile) doesn't seem to get substituted.
>
> It should - and your task won't even notice. If you get a literal
> ${jars.dir}, this means the property is not set. Try <echo>ing it
> before the taskdef.
>
> It must be defined, before the <taskdef> gets executed.
>
> Stefan
Here's what I initially tried, which does not work with 1.3:
<target name="init">
<property name="jars.dir" value="..."/>
</target>
<taskdef name="sqlfwk3"
classname="com.gtsdesign.sqlfwk3.ant.Sqlfwk3Taskdef" >
<classpath>
<pathelement
location="${jars.dir}/sqlfwk3-taskdef.jar"/>
</classpath>
</taskdef>
I get a ClassNotFoundException on the class given in the classname
attribute.
Here's a slightly different version that works just fine:
<target name="init">
<property name="jars.dir" value="..."/>
</target>
<target name="sqlfwk3" depends="init">
<taskdef name="sqlfwk3"
classname="com.gtsdesign.sqlfwk3.ant.Sqlfwk3Taskdef" >
<classpath>
<pathelement
location="${jars.dir}/sqlfwk3-taskdef.jar"/>
</classpath>
</taskdef>
</target>
Is that the expected behavior?
Thanks!
Gary