[ http://issues.apache.org/jira/browse/JELLY-209?page=comments#action_64233 ] Cyrille Le Clerc commented on JELLY-209: ----------------------------------------
Dropping patch a-path-for-JELLY-209-commons-jelly-tags-ant-1.0.jar under $MAVEN_HOME/lib worked on windows XP / sun jdk 1.4 but failed on linux rhel3 / ibm jdk 1.4. On linux rhel3 / ibm jdk 1.4, I had to update commons-jelly-tags-ant-1.0.jar (overwriting original classes by the ones provided in a-patch-for-JELLY-209-commons-jelly-tags-ant-1.0.jar) > 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 > 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]
