org.apache.tools.ant.taskdefs.optional.ssh
Class SSHBase

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.apache.tools.ant.taskdefs.optional.ssh.SSHBase
All Implemented Interfaces:
java.lang.Cloneable, LogListener
Direct Known Subclasses:
Scp, SSHExec, SSHSession

public abstract class SSHBase
extends Task
implements LogListener

Base class for Ant tasks using jsch.

Since:
Ant 1.6

Field Summary
 
Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
SSHBase()
          Constructor for SSHBase.
 
Method Summary
 boolean getFailonerror()
          Get the failonerror flag.
 java.lang.String getHost()
          Get the host.
 int getPort()
          Get the port attribute.
protected  SSHUserInfo getUserInfo()
          Get the user information.
 boolean getVerbose()
          Get the verbose flag.
 void init()
          Initialize the task.
protected  com.jcraft.jsch.Session openSession()
          Open an ssh session.
 void setFailonerror(boolean failure)
          Set the failonerror flag.
 void setHost(java.lang.String host)
          Remote host, either DNS name or IP.
 void setKeyfile(java.lang.String keyfile)
          Sets the keyfile for the user.
 void setKnownhosts(java.lang.String knownHosts)
          Sets the path to the file that has the identities of all known hosts.
 void setPassphrase(java.lang.String passphrase)
          Sets the passphrase for the users key.
 void setPassword(java.lang.String password)
          Sets the password for the user.
 void setPort(int port)
          Changes the port used to connect to the remote host.
 void setTrust(boolean yesOrNo)
          Setting this to true trusts hosts whose identity is unknown.
 void setUsername(java.lang.String username)
          Username known to remote host.
 void setVerbose(boolean verbose)
          Set the verbose flag.
 
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, execute, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.tools.ant.taskdefs.optional.ssh.LogListener
log
 

Constructor Detail

SSHBase

public SSHBase()
Constructor for SSHBase.

Method Detail

setHost

public void setHost(java.lang.String host)
Remote host, either DNS name or IP.

Parameters:
host - The new host value

getHost

public java.lang.String getHost()
Get the host.

Returns:
the host

setFailonerror

public void setFailonerror(boolean failure)
Set the failonerror flag. Default is true

Parameters:
failure - if true throw a build exception when a failure occuries, otherwise just log the failure and continue

getFailonerror

public boolean getFailonerror()
Get the failonerror flag.

Returns:
the failonerror flag

setVerbose

public void setVerbose(boolean verbose)
Set the verbose flag.

Parameters:
verbose - if true output more verbose logging
Since:
Ant 1.6.2

getVerbose

public boolean getVerbose()
Get the verbose flag.

Returns:
the verbose flag
Since:
Ant 1.6.2

setUsername

public void setUsername(java.lang.String username)
Username known to remote host.

Parameters:
username - The new username value

setPassword

public void setPassword(java.lang.String password)
Sets the password for the user.

Parameters:
password - The new password value

setKeyfile

public void setKeyfile(java.lang.String keyfile)
Sets the keyfile for the user.

Parameters:
keyfile - The new keyfile value

setPassphrase

public void setPassphrase(java.lang.String passphrase)
Sets the passphrase for the users key.

Parameters:
passphrase - The new passphrase value

setKnownhosts

public void setKnownhosts(java.lang.String knownHosts)
Sets the path to the file that has the identities of all known hosts. This is used by SSH protocol to validate the identity of the host. The default is ${user.home}/.ssh/known_hosts.

Parameters:
knownHosts - a path to the known hosts file.

setTrust

public void setTrust(boolean yesOrNo)
Setting this to true trusts hosts whose identity is unknown.

Parameters:
yesOrNo - if true trust the identity of unknown hosts.

setPort

public void setPort(int port)
Changes the port used to connect to the remote host.

Parameters:
port - port number of remote host.

getPort

public int getPort()
Get the port attribute.

Returns:
the port

init

public void init()
          throws BuildException
Initialize the task. This initializizs the known hosts and sets the default port.

Overrides:
init in class Task
Throws:
BuildException - on error

openSession

protected com.jcraft.jsch.Session openSession()
                                       throws com.jcraft.jsch.JSchException
Open an ssh session.

Returns:
the opened session
Throws:
com.jcraft.jsch.JSchException - on error

getUserInfo

protected SSHUserInfo getUserInfo()
Get the user information.

Returns:
the user information