You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by Jacob Kjome <ho...@visi.com> on 2006/11/07 20:33:42 UTC
typedef onerror not squashing error for missing classpathref
I'm using Ant-1.6.5 and using a typedef to load up the Ant-Contrib tasks like
so...
<typedef resource="net/sf/antcontrib/antlib.xml"
uri="antlib:net.sf.antcontrib"
classpathref="ant-contrib"
onerror="report"/>
I run this in the case that one hasn't put ant-contrib.jar in
${user.home}/.ant/lib. If the path reference "ant-contrib" is provided, it
will be typedef'd using a locally provided jar. The problem is when the path
reference isn't defined. I have onerror="report" and I expected that to
continue on without stopping the build when the path reference "ant-contrib"
doesn't exist. But instead I get "Reference ant-contrib not found". Why
doesn't onerror="report" take care of this?
Now, I realize I could write a condition to see if the reference exists, but
this typedefing is done within a macrodef, so I can't use the normal pattern of
an "unless" attribute on a target, at least not without leaking the
implementation of the macrodef out to the external target calling the macrodef.
And, of course, I can't use ant-contrib's <if>/<then> functionality before the
typedef happens.
So, first, shouldn't onerror="report" or onerror="ignore" avoid the failure?
And second, is there any solution other than leaking the internal
implementation of my macrodef to the targets using the macrodef?
Jake
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org