org.apache.maven.wagon.providers.ssh.external
Class ScpExternalWagon

java.lang.Object
  extended by org.apache.maven.wagon.AbstractWagon
      extended by org.apache.maven.wagon.providers.ssh.AbstractSshWagon
          extended by org.apache.maven.wagon.providers.ssh.external.ScpExternalWagon
All Implemented Interfaces:
org.apache.maven.wagon.CommandExecutor, org.apache.maven.wagon.providers.ssh.SshWagon, org.apache.maven.wagon.Wagon

public class ScpExternalWagon
extends org.apache.maven.wagon.providers.ssh.AbstractSshWagon

SCP deployer using "external" scp program. To allow for ssh-agent type behavior, until we can construct a Java SSH Agent and interface for JSch.

Version:
$Id:ScpExternalWagon.java 477260 2006-11-20 17:11:39Z brett $
Author:
Brett Porter

Field Summary
private  java.lang.String scpArgs
          Arguments to pass to the SCP command.
private  java.lang.String scpExecutable
          The external SCP command to use - default is scp.
private static int SSH_FATAL_EXIT_CODE
           
private  java.lang.String sshArgs
          Arguments to pass to the SSH command.
private  java.lang.String sshExecutable
          The external SSH command to use - default is ssh.
 
Fields inherited from class org.apache.maven.wagon.providers.ssh.AbstractSshWagon
DEFAULT_SSH_PORT, interactiveUserInfo, knownHostsProvider, PATH_SEPARATOR
 
Fields inherited from class org.apache.maven.wagon.AbstractWagon
authenticationInfo, DEFAULT_BUFFER_SIZE, interactive, proxyInfo, repository, sessionEventSupport, transferEventSupport
 
Fields inherited from interface org.apache.maven.wagon.CommandExecutor
ROLE
 
Constructor Summary
ScpExternalWagon()
           
 
Method Summary
 void closeConnection()
           
private  org.codehaus.plexus.util.cli.Commandline createBaseCommandLine(boolean putty, java.lang.String executable)
           
 void executeCommand(java.lang.String command)
           
 org.apache.maven.wagon.Streams executeCommand(java.lang.String command, boolean ignoreFailures)
           
private  void executeScpCommand(java.io.File localFile, java.lang.String remoteFile, boolean put)
           
 void get(java.lang.String resourceName, java.io.File destination)
           
 java.lang.String getScpArgs()
           
 java.lang.String getScpExecutable()
           
 java.lang.String getSshArgs()
           
 java.lang.String getSshExecutable()
           
 void openConnection()
           
 void put(java.io.File source, java.lang.String destination)
           
 void putDirectory(java.io.File sourceDirectory, java.lang.String destinationDirectory)
           
 void setScpArgs(java.lang.String scpArgs)
           
 void setScpExecutable(java.lang.String scpExecutable)
           
 void setSshArgs(java.lang.String sshArgs)
           
 void setSshExecutable(java.lang.String sshExecutable)
           
 
Methods inherited from class org.apache.maven.wagon.providers.ssh.AbstractSshWagon
getDirectoryMode, getFileList, getIfNewer, getInteractiveUserInfo, getKnownHostsProvider, getOctalMode, getOctalMode, getPort, getPrivateKey, getResource, getResourceDirectory, getResourceFilename, handleGetException, resourceExists, setInteractiveUserInfo, setKnownHostsProvider, supportsDirectoryCopy
 
Methods inherited from class org.apache.maven.wagon.AbstractWagon
addSessionListener, addTransferListener, connect, connect, connect, connect, createParentDirectories, createZip, disconnect, fireGetCompleted, fireGetInitiated, fireGetStarted, firePutCompleted, firePutInitiated, firePutStarted, fireSessionConnectionRefused, fireSessionDebug, fireSessionDisconnected, fireSessionDisconnecting, fireSessionError, fireSessionLoggedIn, fireSessionLoggedOff, fireSessionOpened, fireSessionOpening, fireTransferDebug, fireTransferError, fireTransferProgress, getAuthenticationInfo, getPath, getProxyInfo, getRepository, getSessionEventSupport, getTransfer, getTransfer, getTransferEventSupport, hasSessionListener, hasTransferListener, isInteractive, postProcessListeners, putTransfer, removeSessionListener, removeTransferListener, setInteractive, setSessionEventSupport, setTransferEventSupport, transfer, transfer, transfer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.maven.wagon.Wagon
addSessionListener, addTransferListener, connect, connect, connect, connect, disconnect, getRepository, hasSessionListener, hasTransferListener, isInteractive, removeSessionListener, removeTransferListener, setInteractive
 

Field Detail

scpExecutable

private java.lang.String scpExecutable
The external SCP command to use - default is scp.


sshExecutable

private java.lang.String sshExecutable
The external SSH command to use - default is ssh.


scpArgs

private java.lang.String scpArgs
Arguments to pass to the SCP command.


sshArgs

private java.lang.String sshArgs
Arguments to pass to the SSH command.


SSH_FATAL_EXIT_CODE

private static final int SSH_FATAL_EXIT_CODE
See Also:
Constant Field Values
Constructor Detail

ScpExternalWagon

public ScpExternalWagon()
Method Detail

openConnection

public void openConnection()
                    throws org.apache.maven.wagon.authentication.AuthenticationException
Specified by:
openConnection in interface org.apache.maven.wagon.Wagon
Overrides:
openConnection in class org.apache.maven.wagon.providers.ssh.AbstractSshWagon
Throws:
org.apache.maven.wagon.authentication.AuthenticationException

closeConnection

public void closeConnection()
Specified by:
closeConnection in class org.apache.maven.wagon.AbstractWagon

executeCommand

public org.apache.maven.wagon.Streams executeCommand(java.lang.String command,
                                                     boolean ignoreFailures)
                                              throws org.apache.maven.wagon.CommandExecutionException
Throws:
org.apache.maven.wagon.CommandExecutionException

createBaseCommandLine

private org.codehaus.plexus.util.cli.Commandline createBaseCommandLine(boolean putty,
                                                                       java.lang.String executable)

executeScpCommand

private void executeScpCommand(java.io.File localFile,
                               java.lang.String remoteFile,
                               boolean put)
                        throws org.apache.maven.wagon.TransferFailedException,
                               org.apache.maven.wagon.ResourceDoesNotExistException
Throws:
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException

put

public void put(java.io.File source,
                java.lang.String destination)
         throws org.apache.maven.wagon.TransferFailedException,
                org.apache.maven.wagon.ResourceDoesNotExistException,
                org.apache.maven.wagon.authorization.AuthorizationException
Throws:
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
org.apache.maven.wagon.authorization.AuthorizationException

executeCommand

public void executeCommand(java.lang.String command)
                    throws org.apache.maven.wagon.CommandExecutionException
Specified by:
executeCommand in interface org.apache.maven.wagon.CommandExecutor
Overrides:
executeCommand in class org.apache.maven.wagon.providers.ssh.AbstractSshWagon
Throws:
org.apache.maven.wagon.CommandExecutionException

get

public void get(java.lang.String resourceName,
                java.io.File destination)
         throws org.apache.maven.wagon.TransferFailedException,
                org.apache.maven.wagon.ResourceDoesNotExistException,
                org.apache.maven.wagon.authorization.AuthorizationException
Throws:
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
org.apache.maven.wagon.authorization.AuthorizationException

getScpExecutable

public java.lang.String getScpExecutable()

setScpExecutable

public void setScpExecutable(java.lang.String scpExecutable)

getSshExecutable

public java.lang.String getSshExecutable()

setSshExecutable

public void setSshExecutable(java.lang.String sshExecutable)

getScpArgs

public java.lang.String getScpArgs()

setScpArgs

public void setScpArgs(java.lang.String scpArgs)

getSshArgs

public java.lang.String getSshArgs()

setSshArgs

public void setSshArgs(java.lang.String sshArgs)

putDirectory

public void putDirectory(java.io.File sourceDirectory,
                         java.lang.String destinationDirectory)
                  throws org.apache.maven.wagon.TransferFailedException,
                         org.apache.maven.wagon.ResourceDoesNotExistException,
                         org.apache.maven.wagon.authorization.AuthorizationException
Specified by:
putDirectory in interface org.apache.maven.wagon.Wagon
Overrides:
putDirectory in class org.apache.maven.wagon.providers.ssh.AbstractSshWagon
Throws:
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
org.apache.maven.wagon.authorization.AuthorizationException