ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Bodewig <bode...@apache.org>
Subject BuildException wrapping in <macrodef>
Date Tue, 19 Apr 2005 15:38:14 GMT
Hi,

using

<project xmlns:au="antlib:org.apache.ant.antlib.antunit">
  <au:assertEquals expected="bar" actual="baz"/>
</project>

I get

/tmp/au.xml:2: The following error occurred while executing this line:
jar:file:/home/bodewig/ASF/jakarta/ant/sandbox/antlibs/antunit/trunk/build/lib/ant-antunit.jar!/org/apache/ant/antlib/antunit/antlib.xml:40:
Expected 'bar' but was 'baz'

what I really want is

/tmp/au.xml:2:  Expected 'bar' but was 'baz'

The reason for this is that assertEquals is a <macrodef> and
MacroInstance unconditionally wraps any BuildExecption into a new one
adding the macro definition's location.

For tasks provided in antlibs, the user probably doesn't care whether
it is a macrodef or a plain task.

Would anybody object if I added an attribute to macrodef that you
could use to turn off the wrapping (default would certainly be with
wrapping)?

Another side effect of this is that an ExitStatusException thrown by
<fail> nested into <macrodef> gets turned into a plain BuildException
again.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message