[ http://issues.apache.org/jira/browse/JELLY-209?page=comments#action_12313916 ]
Scott Lamb commented on JELLY-209: ---------------------------------- When I tried the patched jar against maven 1.0.2, it appeared to fix this directly in the actual test*() method, but not in other threads that had been spawned from setUp(). Should I reopen or file a new bug? > Ant tags do not redirect stderr ou stdout to Ant tag > ---------------------------------------------------- > > Key: JELLY-209 > URL: http://issues.apache.org/jira/browse/JELLY-209 > Project: jelly > Type: Bug > Components: taglib.ant > Versions: 1.0 > Environment: Sun JDK 1.4.2_07, commons-jelly-1.0-RC1.jar, > commons-jelly-tags-ant-1.0.jar > Reporter: Cyrille Le Clerc > Fix For: 1.0-RC2 > Attachments: AntTag.java.diff, > a-path-for-JELLY-209-commons-jelly-tags-ant-1.0.jar > > Ant tag (org.apache.commons.jelly.tags.ant.AntTag) does not redirect > System.out and System.err to the target Ant tag (through the Ant Project). > Due to this, System.out and System.err are not handled by Ant tasks (e.g. > JunitTask should output in TEST-xxx.xml stdout and stderr). > Sample of code to redirect stdout and stderr in > org.apache.tools.ant.Main#runBuild(ClassLoader), version 1.6.2 : > System.setOut(new PrintStream(new DemuxOutputStream(project, false))); > System.setErr(new PrintStream(new DemuxOutputStream(project, true))); > Patch : > To patch this problem, I modified org.apache.commons.jelly.tags.ant.AntTag to > redirect stdout and stderr before calling "task.perform()" and, after the > task execution, reset stdout an stderr to their initial values. > Diff of org.apache.commons.jelly.tags.ant.AntTag > (It does not seem to be possible to attach files in Jira) > Index: AntTag.java > =================================================================== > RCS file: > /home/cvspublic/jakarta-commons/jelly/jelly-tags/ant/src/java/org/apache/commons/jelly/tags/ant/AntTag.java,v > retrieving revision 1.34 > diff -r1.34 AntTag.java > 18a19 > > import java.io.PrintStream; > 36a38 > > import org.apache.tools.ant.DemuxOutputStream; > 185c187,199 > < task.perform(); > --- > > // according to org.apache.tools.ant.Main, redirect stdout > > and stderr > > PrintStream initialOut = System.out; > > PrintStream initialErr = System.err; > > PrintStream newOut = new PrintStream(new > > DemuxOutputStream(project, false)); > > PrintStream newErr = new PrintStream(new > > DemuxOutputStream(project, true)); > > try{ > > System.setOut(newOut); > > System.setErr(newErr); > > task.perform(); > > } finally { > > System.setOut(initialOut); > > System.setErr(initialErr); > > } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]