I see the problem. It is in the TaskAdapter, if the adapted task throws a build exception, this is logged at "error" level. Method executeM = null; try { Class c = proxy.getClass(); executeM = c.getMethod("execute", new Class[0]); if (executeM == null) { log("No public execute() in " + proxy.getClass(), Project.MSG_ERR); throw new BuildException("No public execute() in " + proxy.getClass()); } executeM.invoke(proxy, null); return; } catch (java.lang.reflect.InvocationTargetException ie) { log("Error in " + proxy.getClass(), Project.MSG_ERR); <<< here Throwable t = ie.getTargetException(); if (t instanceof BuildException) { throw ((BuildException) t); } else { throw new BuildException(t); } } catch (Exception ex) { log("Error in " + proxy.getClass(), Project.MSG_ERR); << here throw new BuildException(ex); }
This I think is incorrect, I will make a bug report and fix by setting log level to Debug. Peter On Thursday 05 June 2003 09:47, Matthias P. wrote: > Hi everyone, > > in my junit-target i am using the following if-task: > > <target name="test" depends="" description="Run the unit tests." > unless="avoid.unittests"> > <junit printsummary="false" > errorProperty="test.failed" > failureProperty="test.failed"> > <classpath> > <path refid="test.classpath"/> > </classpath> > <formatter type="plain" usefile="false"/> > <formatter type="xml" usefile="true"/> > <batchtest todir="${test.report.data.dir}" > > <fileset dir="${test.build.common.dir}" includes="**/*Test.class"/> > > <fileset dir="${test.build.server.dir}" includes="**/*Test.class"/> > > <fileset dir="${test.build.client.dir}" includes="**/*Test.class"/> > > </batchtest> > </junit> > > <junitreport todir="${test.report.data.dir}"> > <fileset dir="${test.report.data.dir}"> > <include name="TEST-*.xml"/> > </fileset> > <report format="frames" todir="${test.report.result.dir}"/> > </junitreport> > > <if> > <istrue value="${test.fails.build}"/> > <then> > <fail message="Test failed. Check log an/or reports." > if="test.failed"/> > </then> > </if> > > </target> > > This is working well for me. Build is successfull when test.fails.build is > false and fails if it is true. But in the logs i got the following message > when test.fails.build is true: > > --snip-- > [junitreport] Transform time: 1322ms > [if] Error in class net.sf.antcontrib.logic.IfTask > > BUILD FAILED > file:D:/MIF/Projekte/MIFJavaBuild/Java/build.xml:271: Test failed. Check > log an/or reports. > at org.apache.tools.ant.taskdefs.Exit.execute(Exit.java:104) > at org.apache.tools.ant.Task.perform(Task.java:341) > at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:117) > at org.apache.tools.ant.Task.perform(Task.java:341) > at net.sf.antcontrib.logic.IfTask.execute(Unknown Source) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3 >9) at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp >l.java:25) at java.lang.reflect.Method.invoke(Method.java:324) > at org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:147) > at org.apache.tools.ant.Task.perform(Task.java:341) > at org.apache.tools.ant.Target.execute(Target.java:309) > at org.apache.tools.ant.Target.performTasks(Target.java:336) > at org.apache.tools.ant.Project.executeTarget(Project.java:1339) > at org.apache.tools.ant.Project.executeTargets(Project.java:1255) > at org.apache.tools.ant.Main.runBuild(Main.java:609) > at org.apache.tools.ant.Main.start(Main.java:196) > at org.apache.tools.ant.Main.main(Main.java:235) > --snip-- > > Why does the if-task write the above error-message in verbose-mode. What > can i improve? > > Thanks, > Matthias --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]