From cd9866805353b3ba69cf0bed6c6335c16d3ffcd1 Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Wed, 1 Feb 2012 13:19:44 +0000 Subject: [PATCH] support for pseudo-terminals in sshexec. PR 52554 git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@1239121 13f79535-47bb-0310-9956-ffa450edef68 --- WHATSNEW | 3 +++ manual/Tasks/sshexec.html | 6 ++++++ .../tools/ant/taskdefs/optional/ssh/SSHExec.java | 10 ++++++++++ 3 files changed, 19 insertions(+) diff --git a/WHATSNEW b/WHATSNEW index cff8edbf5..566586809 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -183,6 +183,9 @@ Other changes: * Initial support for Java 8. + * can optionally create a pseudo terminal (like ssh -t) + Bugzilla Report 52554. + Changes from Ant 1.8.1 TO Ant 1.8.2 =================================== diff --git a/manual/Tasks/sshexec.html b/manual/Tasks/sshexec.html index d86972dcc..38e5b35e3 100644 --- a/manual/Tasks/sshexec.html +++ b/manual/Tasks/sshexec.html @@ -179,6 +179,12 @@ and won't work with versions of jsch earlier than since Ant 1.8.3 No + + usepty + Whether to allocate a pseudo-tty (like ssh -t). + since Ant 1.8.3 + No, defaults to false +

Examples

diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHExec.java b/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHExec.java index 594228876..2258d515e 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHExec.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHExec.java @@ -65,6 +65,7 @@ public class SSHExec extends SSHBase { private String inputString = null; // like private File inputFile = null; // like private boolean append = false; // like + private boolean usePty = false; private Resource commandResource = null; @@ -171,6 +172,14 @@ public class SSHExec extends SSHBase { outputProperty = property; } + /** + * Whether a pseudo-tty should be allocated. + * @since Apache Ant 1.8.3 + */ + public void setUsePty(boolean b) { + usePty = b; + } + /** * Execute the command on the remote host. * @@ -290,6 +299,7 @@ public class SSHExec extends SSHBase { if (istream != null) { channel.setInputStream(istream); } + channel.setPty(usePty); channel.connect(); // wait for it to finish thread =