No - loaded from an AntLib a macro should behave as a "usual" task. So it doesnt matter in what "language" the task was written :-)
Jan > -----Ursprüngliche Nachricht----- > Von: Stefan Bodewig [mailto:[EMAIL PROTECTED] > Gesendet am: Dienstag, 19. April 2005 17:38 > An: [EMAIL PROTECTED] > Betreff: BuildException wrapping in <macrodef> > > 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/antuni > t/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: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] >