Package org.apache.tools.ant.taskdefs.optional.ssh

# Class Scp

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.optional.ssh.SSHBase
org.apache.tools.ant.taskdefs.optional.ssh.Scp

All Implemented Interfaces:
  `java.lang.Cloneable`, `LogListener`

    public class Scp
    extends SSHBase

Ant task for sending files to remote machine over ssh/scp.

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

  Constructors
  Constructor | Description
  --- | ---
  `Scp()` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `add​(ResourceCollection res)` | Adds a ResourceCollection of local files to transfer to remote host.
  `void` | `addFileset​(FileSet set)` | Adds a FileSet transfer to remote host.
  `void` | `execute()` | Execute this task.
  `void` | `init()` | Initialize this task.
  `void` | `setCompressed​(boolean compressed)` | Sets flag to determine if compression should be used for the copy.
  `void` | `setDirMode​(java.lang.String dirMode)` | Set the dir mode, defaults to "755".
  `void` | `setFile​(java.lang.String aFromUri)` | Sets the file to be transferred.
  `void` | `setFileMode​(java.lang.String fileMode)` | Set the file mode, defaults to "644".
  `void` | `setLocalFile​(java.lang.String aFromUri)` | Similar to `setFile` but explicitly states that the file is a local file.
  `void` | `setLocalTodir​(java.lang.String aToUri)` | Similar to `setTodir` but explicitly states that the directory is a local.
  `void` | `setLocalTofile​(java.lang.String aToUri)` | Changes the file name to the given name while receiving it, only useful if receiving a single file.
  `void` | `setPreservelastmodified​(boolean yesOrNo)` | Sets flag to determine if file timestamp is to be preserved during copy.
  `void` | `setRemoteFile​(java.lang.String aFromUri)` | Similar to `setFile` but explicitly states that the file is a remote file.
  `void` | `setRemoteTodir​(java.lang.String aToUri)` | Similar to `setTodir` but explicitly states that the directory is a remote.
  `void` | `setRemoteTofile​(java.lang.String aToUri)` | Changes the file name to the given name while sending it, only useful if sending a single file.
  `void` | `setSftp​(boolean yesOrNo)` | Setting this to true to use sftp protocol.
  `void` | `setTodir​(java.lang.String aToUri)` | Sets the location where files will be transferred to.

  ### Methods inherited from class org.apache.tools.ant.taskdefs.optional.ssh.SSHBase

  `getFailonerror, getHost, getPort, getServerAliveCountMax, getServerAliveIntervalSeconds, getSshConfig, getUserInfo, getVerbose, loadSshConfig, openSession, setFailonerror, setHost, setKeyfile, setKnownhosts, setPassphrase, setPassword, setPort, setServerAliveCountMax, setServerAliveIntervalSeconds, setSshConfig, setTrust, setUsername, setVerbose`

  ### Methods inherited from class org.apache.tools.ant.Task

  `bindToOwner, 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 Details

  - ### Scp

    public Scp()

- ## Method Details

  - ### setFile

    public void setFile​(java.lang.String aFromUri)
    Sets the file to be transferred. This can either be a remote file or a local file. Remote files take the form:

    user:password@host:/directory/path/file.example

    Files to transfer can also include a wildcard to include all files in a remote directory. For example:

    user:password@host:/directory/path/*

    Parameters:
      `aFromUri` - a string representing the file to transfer.

  - ### setTodir

    public void setTodir​(java.lang.String aToUri)
    Sets the location where files will be transferred to. This can either be a remote directory or a local directory. Remote directories take the form of:

    user:password@host:/directory/path/

    This parameter is required.
    Parameters:
      `aToUri` - a string representing the target of the copy.

  - ### setLocalFile

    public void setLocalFile​(java.lang.String aFromUri)
    Similar to `setFile` but explicitly states that the file is a local file. This is the only way to specify a local file with a @ character.
    Parameters:
      `aFromUri` - a string representing the source of the copy.
    Since:
      Ant 1.6.2

  - ### setRemoteFile

    public void setRemoteFile​(java.lang.String aFromUri)
    Similar to `setFile` but explicitly states that the file is a remote file.
    Parameters:
      `aFromUri` - a string representing the source of the copy.
    Since:
      Ant 1.6.2

  - ### setCompressed

    public void setCompressed​(boolean compressed)
    Sets flag to determine if compression should be used for the copy.
    Parameters:
      `compressed` - boolean
    Since:
      Ant 1.9.8

  - ### setLocalTodir

    public void setLocalTodir​(java.lang.String aToUri)
    Similar to `setTodir` but explicitly states that the directory is a local. This is the only way to specify a local directory with a @ character.
    Parameters:
      `aToUri` - a string representing the target of the copy.
    Since:
      Ant 1.6.2

  - ### setPreservelastmodified

    public void setPreservelastmodified​(boolean yesOrNo)
    Sets flag to determine if file timestamp is to be preserved during copy.
    Parameters:
      `yesOrNo` - boolean
    Since:
      Ant 1.8.0

  - ### setRemoteTodir

    public void setRemoteTodir​(java.lang.String aToUri)
    Similar to `setTodir` but explicitly states that the directory is a remote.
    Parameters:
      `aToUri` - a string representing the target of the copy.
    Since:
      Ant 1.6.2

  - ### setLocalTofile

    public void setLocalTofile​(java.lang.String aToUri)
    Changes the file name to the given name while receiving it, only useful if receiving a single file.
    Parameters:
      `aToUri` - a string representing the target of the copy.
    Since:
      Ant 1.6.2

  - ### setRemoteTofile

    public void setRemoteTofile​(java.lang.String aToUri)
    Changes the file name to the given name while sending it, only useful if sending a single file.
    Parameters:
      `aToUri` - a string representing the target of the copy.
    Since:
      Ant 1.6.2

  - ### setSftp

    public void setSftp​(boolean yesOrNo)
    Setting this to true to use sftp protocol.
    Parameters:
      `yesOrNo` - if true sftp protocol will be used.

  - ### setFileMode

    public void setFileMode​(java.lang.String fileMode)
    Set the file mode, defaults to "644".
    Parameters:
      `fileMode` - String
    Since:
      Ant 1.9.5

  - ### setDirMode

    public void setDirMode​(java.lang.String dirMode)
    Set the dir mode, defaults to "755".
    Parameters:
      `dirMode` - String
    Since:
      Ant 1.9.5

  - ### addFileset

    public void addFileset​(FileSet set)
    Adds a FileSet transfer to remote host. NOTE: Either addFileSet() or setFile() are required. But, not both.
    Parameters:
      `set` - FileSet to send to remote host.

  - ### add

    public void add​(ResourceCollection res)
    Adds a ResourceCollection of local files to transfer to remote host.
    Parameters:
      `res` - ResourceCollection to send to remote host.
    Since:
      Ant 1.9.7

  - ### init

    public void init() throws BuildException
    Initialize this task.
    Overrides:
      `init` in class `SSHBase`
    Throws:
      `BuildException` - on error

  - ### execute

    public void execute() throws BuildException
    Execute this task.
    Overrides:
      `execute` in class `Task`
    Throws:
      `BuildException` - on error