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.