I do Ant scripts for building and testing a application. Builds are done with 
CruiseControl on a Unix machine. I have to run the tests on windows, which is 
why in the build script the stuff is checked out on windows and build there. 
But the controlling Ant scripts are on the Unix machine.

So I need SSHEXEC task to call ant from the Unix machine on the Windows 
machine. This works so far, but there is a issue with logging.

If I execute with SSHEXEC then its kind of black hole concerning logging from 
the viewpoint of CruiseControl. I cannot see what happens live because the 
scripts are run elsewhere. I can redirect the output to a file. But on windows 
it flushes it only when the target is finished. If something gets stuck, I 
would see no logging. Of course I could use tee.exe from Cygwin and log it on 
console too. But do you smell the code smell? It is also ugly because the log 
files need to be copied from one computer to another with SCP task. All this 
seems much complicated for just simply wanting to log a bit which one normaly 
gets for free.

The SSHEXEC task has a output property. But I don't get the actual remote 
output but much less or nothing.

How can this be solved? The best would be if I can run remote commands and get 
live logging inside the controlling Ant scripts so that I can see what is 
happening while the build runs on the CruiseControl console or on its Dashboard.

I hope I have described the issue so that it becomes clear, what my problems 
are.



      

Reply via email to