[ 
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]

Reply via email to