teeout=out;
}else{
teeout=null;
}
if(null!=teeout){
tee = new TeeOutputStream(teeout, new KeepAliveOutputStream(System.out));
}else{
tee= new KeepAliveOutputStream(System.out);
}
InputStream istream = null ;
if (inputFile != null) {
try {
istream = new FileInputStream(inputFile) ;
} catch (IOException e) {
// because we checked the existence before, this one
// shouldn't happen What if the file exists, but there
// are no read permissions?
log("Failed to read " + inputFile + " because of: "
+ e.getMessage(), Project.MSG_WARN);
}
}
if (inputProperty != null) {
String inputData = getProject().getProperty(inputProperty) ;
if (inputData != null) {
istream = new ByteArrayInputStream(inputData.getBytes()) ;
}
}
if(getInputStream()!=null){
istream=getInputStream();
}
try {
final ChannelExec channel;
session.setTimeout((int) maxwait);
/* execute the command */
channel = (ChannelExec) session.openChannel("exec");
channel.setCommand(cmd);
channel.setOutputStream(tee);
channel.setExtOutputStream(new KeepAliveOutputStream(System.err), true);
if (istream != null) {
channel.setInputStream(istream);
}
channel.setPty(allocatePty);