Class SshRepository
java.lang.Object
org.apache.ivy.plugins.repository.AbstractRepository
org.apache.ivy.plugins.repository.ssh.AbstractSshBasedRepository
org.apache.ivy.plugins.repository.ssh.SshRepository
- All Implemented Interfaces:
Repository
Ivy Repository based on SSH
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidFetch a resource from the repository.protected Stringreturn ssh as scheme use the Resolver type name here? would be nice if it would be static, so we could use SshResolver.getTypeName()getResource(String source) create a new resource with lazy initializingReturn a listing of resources namesopenStream(SshResource resource) Not really streaming...need to implement a proper streaming approach?voidresolveResource(String source) Fetch the needed file information for a given file (size, last modification time) and report it back in a SshResourcevoidsetCreateDirCommand(String createDirCommand) voidsetExistCommand(String existCommand) voidsetFileSeparator(char fileSeparator) The file separator is the separator to use on the target system On a unix system it is '/', but I don't know, how this is solved on different ssh implementations.voidsetListCommand(String cmd) sets the list command to use for a directory listing listing must be only the filename and each filename on a separate linevoidsetPublishPermissions(String permissions) A four digit string (e.g., 0644, see "man chmod", "man open") specifying the permissions of the published files.Methods inherited from class AbstractSshBasedRepository
getHost, getKeyFile, getKeyFilePassword, getPassFile, getPort, getSession, getSshConfig, getUser, getUserPassword, isAllowedAgentUse, releaseSession, setAllowedAgentUse, setHost, setKeyFile, setKeyFilePassword, setPassFile, setPort, setSshConfig, setUser, setUserPasswordMethods inherited from class AbstractRepository
addTransferListener, fireTransferCompleted, fireTransferCompleted, fireTransferError, fireTransferError, fireTransferEvent, fireTransferInitiated, fireTransferProgress, fireTransferStarted, fireTransferStarted, getFileSeparator, getName, getTimeoutConstraint, hasTransferListener, put, removeTransferListener, setName, standardize, toString
-
Constructor Details
-
SshRepository
public SshRepository() -
SshRepository
-
-
Method Details
-
getResource
-
resolveResource
Fetch the needed file information for a given file (size, last modification time) and report it back in a SshResource- Parameters:
source- ssh uri for the file to get info for- Returns:
- SshResource filled with the needed information
- See Also:
-
list
Description copied from interface:RepositoryReturn a listing of resources names- Parameters:
parent- The parent directory from which to generate the listing.- Returns:
- A listing of the parent directory's file content
- Throws:
IOException- On listing failure.
-
put
- Overrides:
putin classAbstractRepository- Throws:
IOException
-
get
Description copied from interface:RepositoryFetch a resource from the repository.- Parameters:
source- A string identifying the resource to be fetched.destination- Where to place the fetched resource.- Throws:
IOException- On retrieval failure.
-
setListCommand
sets the list command to use for a directory listing listing must be only the filename and each filename on a separate line- Parameters:
cmd- to use. default is "ls -1"
-
getListCommand
- Returns:
- the list command to use
-
getCreateDirCommand
- Returns:
- the createDirCommand
-
setCreateDirCommand
- Parameters:
createDirCommand- the createDirCommand to set
-
getExistCommand
- Returns:
- the existCommand
-
setExistCommand
- Parameters:
existCommand- the existCommand to set
-
setFileSeparator
public void setFileSeparator(char fileSeparator) The file separator is the separator to use on the target system On a unix system it is '/', but I don't know, how this is solved on different ssh implementations. Using the default might be fine- Parameters:
fileSeparator- The fileSeparator to use. default '/'
-
setPublishPermissions
A four digit string (e.g., 0644, see "man chmod", "man open") specifying the permissions of the published files.- Parameters:
permissions- String
-
getRepositoryScheme
return ssh as scheme use the Resolver type name here? would be nice if it would be static, so we could use SshResolver.getTypeName()- Specified by:
getRepositorySchemein classAbstractSshBasedRepository- Returns:
- String
-
openStream
Not really streaming...need to implement a proper streaming approach?- Parameters:
resource- to stream- Returns:
- InputStream of the resource data
- Throws:
IOException- if something goes wrong
-