On Fri, 2003-05-30 at 13:24, Ian MacLean wrote:
> Jean,
> I'll have to hold on to your patch until the cvs re-org is complete. 
> Guis, you should try applying it to your local tree and see if it fixes 
> your issue.

OK.

Gius_.

> 
> Ian
> 
> > indeed there is a problem (i see it in the code).
> > 
> > Gius,
> > if you do <exec append="true" ... />, you'll get all the text output,
> > but no line breaks between each output lines.  hopefully, that helps
> > some for now...
> > 
> > nant-dev, 
> > i don't have write-access to cvs, so i'm submitting a patch here, which
> > i haven't tested but that's straightforward, me thinks.
> > 
> > the problem is in ExternalProgramBase.cs
> > 
> > here the code snippet that misbehaves, followed by the code that SHOULD
> > work.
> > 
> > before:
> >         private void StreamReaderThread_Error() {
> >             StreamReader reader = ( StreamReader )_htThreadStream[
> > Thread.CurrentThread.Name ];
> >             while ( true ) {                        
> >                 string strLogContents = reader.ReadLine();
> >                 if ( strLogContents == null )
> >                     break;
> >                 // Ensure only one thread writes to the log at any time
> >                 lock ( _htThreadStream ) {
> >                     
> >                     logger.Error(strLogContents);
> >                     //do not print LogPrefix, just pad that length...
> >                     Log.WriteLine(new string(char.Parse(" "),
> > LogPrefix.Length) + strLogContents);
> > 
> >                     if (OutputFile != null && OutputFile != "") {
> >                         StreamWriter writer = new
> > StreamWriter(OutputFile, OutputAppend);
> >                         writer.Write(strLogContents);
> >                         writer.Close();
> >                     }
> >                 }
> >             }
> >         }
> > after:
> > #1: use writer.WriteLine(...)
> > #2: use doAppend, not OutputAppend.  doAppend initially set to
> > OutputAppend, then always true.
> > 
> >         private void StreamReaderThread_Output() {
> >             StreamReader reader = (StreamReader)
> > _htThreadStream[Thread.CurrentThread.Name];
> >             bool doAppend = OutputAppend;
> >             while (true) {
> >                 string strLogContents = reader.ReadLine();
> >                 if (strLogContents == null)
> >                     break;
> >                 // Ensure only one thread writes to the log at any time
> >                 lock (_htThreadStream) {
> >                     logger.Info(strLogContents);
> >                     //do not print LogPrefix, just pad that length.
> >                     Log(Level.Info, new string(char.Parse(" "),
> > LogPrefix.Length) + strLogContents);
> > 
> >                     if (OutputFile != null && OutputFile.Length != 0) {
> >                         StreamWriter writer = new
> > StreamWriter(OutputFile, doAppend);
> >                         writer.WriteLine(strLogContents);
> >                         doAppend = true;
> >                         writer.Close();
> >                     }
> >                 }
> >             }
> >         }
> > 
> > 
> > 
> > 
> > 
> > 
> >>-----Original Message-----
> >>From: [EMAIL PROTECTED]
> >>[mailto:[EMAIL PROTECTED] On Behalf Of 
> >>Giuseppe Greco
> >>Sent: Thursday, May 29, 2003 09:04
> >>To: NAnt Users
> >>Subject: [Nant-users] Problem with the <exec> task
> >>
> >>
> >>Hi all,
> >>
> >>There is a problem with the <exec> task. To produce a
> >>Formattings Object (FO) file, I've written a task like
> >>this:
> >>
> >><exec program="xsltproc" output="${build.dir}/mydocument.fo"
> >>  commandline="mystylesheet.xsl mydocument.xml"/>
> >>
> >>If you give a look at the generated mydocument.fo file,
> >>only the first output line generated by xsltproc is there...
> >>the rest is lost.
> >>
> >>This is just an example; I stated the same problem with
> >>other programs when trying to redirect output with the 'output' 
> >>property.
> >>
> >>Gius_.
> >>
> >>----------------------------------------
> >>Giuseppe Greco
> >>
> >>::agamura::
> >>
> >>phone:  +41 (0)91 604 67 65
> >>mobile: +41 (0)76 390 60 32
> >>email:  [EMAIL PROTECTED]
> >>web:    www.agamura.com
> >>----------------------------------------
> >>
> >>
> >>
> >>-------------------------------------------------------
> >>This SF.net email is sponsored by: eBay
> >>Get office equipment for less on eBay!
> >>http://adfarm.mediaplex.com/ad/ck/711-11697-> 6916-5
> >>
> >>_______________________________________________
> >>
> >>Nant-users mailing list
> >>[EMAIL PROTECTED]
> >>https://lists.sourceforge.net/lists/listinfo/n> ant-users
> >>
> 
> 
> 
> 
> -------------------------------------------------------
> This SF.net email is sponsored by: eBay
> Get office equipment for less on eBay!
> http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
> _______________________________________________
> Nant-developers mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/nant-developers
-- 
----------------------------------------
Giuseppe Greco

::agamura::

phone:  +41 (0)91 604 67 65
mobile: +41 (0)76 390 60 32
email:  [EMAIL PROTECTED]
web:    www.agamura.com
----------------------------------------



-------------------------------------------------------
This SF.net email is sponsored by: eBay
Get office equipment for less on eBay!
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
_______________________________________________
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to