org.apache.tools.ant.taskdefs.optional.net
public class FTP extends Task implements FTPTaskConfig
Since: Ant 1.3
Nested Class Summary | |
---|---|
static class | FTP.Action
an action to perform, one of
"send", "put", "recv", "get", "del", "delete", "list", "mkdir", "chmod",
"rmdir" |
protected class | FTP.FTPDirectoryScanner
internal class allowing to read the contents of a remote file system
using the FTP protocol
used in particular for ftp get operations
differences with DirectoryScanner
"" (the root of the fileset) is never included in the included directories
followSymlinks defaults to false |
protected static class | FTP.FTPFileProxy
internal class providing a File-like interface to some of the information
available from the FTP server
|
static class | FTP.FTPSystemType
one of the valid system type keys recognized by the systemTypeKey
attribute. |
static class | FTP.Granularity
represents one of the valid timestamp adjustment values
recognized by the timestampGranularity attribute.A timestamp adjustment may be used in file transfers for checking uptodateness. |
static class | FTP.LanguageCode
Enumerated class for languages. |
Field Summary | |
---|---|
protected static String[] | ACTION_STRS |
protected static String[] | ACTION_TARGET_STRS |
protected static int | CHMOD |
protected static String[] | COMPLETED_ACTION_STRS |
static int | DEFAULT_FTP_PORT Default port for FTP |
protected static int | DEL_FILES |
protected static int | GET_FILES |
protected static int | LIST_FILES |
protected static int | MK_DIR |
protected static int | RM_DIR |
protected static int | SEND_FILES |
protected static int | SITE_CMD |
Method Summary | |
---|---|
void | addFileset(FileSet set)
A set of files to upload or download
|
protected void | checkAttributes()
Checks to see that all required parameters are set.
|
protected void | createParents(FTPClient ftp, String filename)
Creates all parent directories specified in a complete relative
pathname. |
protected void | delFile(FTPClient ftp, String filename)
Delete a file from the remote host. |
protected void | doSiteCommand(FTPClient ftp, String theCMD)
Sends a site command to the ftp server |
void | execute()
Runs the task.
|
protected void | executeRetryable(RetryHandler h, Retryable r, String descr)
Executable a retryable object. |
String | getDefaultDateFormatConfig() |
protected void | getFile(FTPClient ftp, String dir, String filename)
Retrieve a single file from the remote host. |
String | getRecentDateFormatConfig() |
String | getServerLanguageCodeConfig() |
String | getServerTimeZoneConfig() |
String | getShortMonthNamesConfig() |
String | getSystemTypeKey() |
protected boolean | isUpToDate(FTPClient ftp, File localFile, String remoteFile)
Checks to see if the remote file is current as compared with the local
file. |
protected void | listFile(FTPClient ftp, BufferedWriter bw, String filename)
List information about a single file from the remote host. |
protected void | makeRemoteDir(FTPClient ftp, String dir)
Create the specified directory on the remote host.
|
protected String | resolveFile(String file)
Correct a file path to correspond to the remote host requirements. |
protected void | rmDir(FTPClient ftp, String dirname)
Delete a directory, if empty, from the remote host. |
protected void | sendFile(FTPClient ftp, String dir, String filename)
Sends a single file to the remote host. |
void | setAccount(String pAccount)
Sets the login account to use on the specified server.
|
void | setAction(String action)
Sets the FTP action to be taken. |
void | setAction(FTP.Action action)
Sets the FTP action to be taken. |
void | setBinary(boolean binary)
If true, uses binary mode, otherwise text mode (default is binary).
|
void | setChmod(String theMode)
Sets the file permission mode (Unix only) for files sent to the
server.
|
void | setDefaultDateFormatConfig(String defaultDateFormat)
Sets the defaultDateFormatConfig attribute. |
void | setDepends(boolean depends)
Set to true to transmit only files that are new or changed from their
remote counterparts. |
void | setEnableRemoteVerification(boolean b)
Whether to verify that data and control connections are
connected to the same remote host.
|
void | setIgnoreNoncriticalErrors(boolean ignoreNoncriticalErrors)
set the flag to skip errors on directory creation.
(and maybe later other server specific errors)
|
void | setInitialSiteCommand(String initialCommand)
Sets the initialSiteCommand attribute. |
void | setListing(File listing)
The output file for the "list" action. |
void | setNewer(boolean newer)
A synonym for depends. |
void | setPassive(boolean passive)
Specifies whether to use passive mode. |
void | setPassword(String password)
Sets the login password for the given user id.
|
void | setPort(int port)
Sets the FTP port used by the remote server.
|
void | setPreserveLastModified(boolean preserveLastModified)
Set to true to preserve modification times for "gotten" files.
|
void | setRecentDateFormatConfig(String recentDateFormat)
Sets the recentDateFormatConfig attribute. |
void | setRemotedir(String dir)
Sets the remote directory where files will be placed. |
void | setRetriesAllowed(String retriesAllowed)
Defines how many times to retry executing FTP command before giving up.
|
void | setSeparator(String separator)
Sets the remote file separator character. |
void | setServer(String server)
Sets the FTP server to send files to.
|
void | setServerLanguageCodeConfig(FTP.LanguageCode serverLanguageCode)
Sets the serverLanguageCode attribute. |
void | setServerTimeZoneConfig(String serverTimeZoneId)
Sets the serverTimeZoneConfig attribute. |
void | setShortMonthNamesConfig(String shortMonthNames)
Sets the shortMonthNamesConfig attribute
|
void | setSiteCommand(String siteCommand)
Sets the siteCommand attribute. |
void | setSkipFailedTransfers(boolean skipFailedTransfers)
If true, enables unsuccessful file put, delete and get
operations to be skipped with a warning and the remainder
of the files still transferred.
|
void | setSystemTypeKey(FTP.FTPSystemType systemKey)
Sets the systemTypeKey attribute.
|
void | setTimeDiffAuto(boolean timeDiffAuto)
"true" to find out automatically the time difference
between local and remote machine.
|
void | setTimeDiffMillis(long timeDiffMillis)
number of milliseconds to add to the time on the remote machine
to get the time on the local machine.
use in conjunction with newer
|
void | setTimestampGranularity(FTP.Granularity timestampGranularity)
Sets the timestampGranularity attribute |
void | setUmask(String theUmask)
Sets the default mask for file creation on a unix server.
|
void | setUserid(String userid)
Sets the login user id to use on the specified server.
|
void | setVerbose(boolean verbose)
Set to true to receive notification about each file as it is
transferred.
|
protected int | transferFiles(FTPClient ftp, FileSet fs)
For each file in the fileset, do the appropriate action: send, get,
delete, or list.
|
protected void | transferFiles(FTPClient ftp)
Sends all files specified by the configured filesets to the remote
server.
|
Parameters: set the set of files to be added to the list of files to be transferred.
Throws: BuildException if the configuration is not valid.
Parameters: ftp the FTP client instance to use to execute FTP actions on the remote server. filename the name of the file whose parents should be created.
Throws: IOException under non documented circumstances BuildException if it is impossible to cd to a remote directory
Parameters: ftp ftp client filename file to delete
Throws: IOException in unknown circumstances BuildException if skipFailedTransfers is set to false and the deletion could not be done
Parameters: ftp ftp client theCMD command to execute
Throws: IOException in unknown circumstances BuildException in unknown circumstances
Throws: BuildException if the task fails or is not configured correctly.
Parameters: h the retry hander. r the object that should be retried until it succeeds or the number of retrys is reached. descr a description of the command that is being run.
Throws: IOException if there is a problem.
Returns: Returns the defaultDateFormatConfig.
filename
may
contain a relative path specification. The file will then be retreived using the entire relative path spec - no attempt is made to change directories. It is anticipated that this may eventually cause problems with some FTP servers, but it simplifies the coding.
Parameters: ftp the ftp client dir local base directory to which the file should go back filename relative path of the file based upon the ftp remote directory and/or the local base directory (dir)
Throws: IOException in unknown circumstances BuildException if skipFailedTransfers is false and the file cannot be retrieved.
Returns: Returns the recentDateFormatConfig.
Returns: Returns the serverLanguageCodeConfig.
Returns: Returns the serverTimeZoneConfig.
Returns: Returns the shortMonthNamesConfig.
Returns: Returns the systemTypeKey.
Parameters: ftp ftpclient localFile local file remoteFile remote file
Returns: true if the target file is up to date
Throws: IOException in unknown circumstances BuildException if the date of the remote files cannot be found and the action is GET_FILES
filename
may contain a relative path specification. The file listing will then be retrieved using the entire relative path spec - no attempt is made to change directories. It is anticipated that this may eventually cause problems with some FTP servers, but it simplifies the coding.
Parameters: ftp ftp client bw buffered writer filename the directory one wants to list
Throws: IOException in unknown circumstances BuildException in unknown circumstances
Parameters: ftp The FTP client connection dir The directory to create (format must be correct for host type)
Throws: IOException in unknown circumstances BuildException if ignoreNoncriticalErrors has not been set to true and a directory could not be created, for instance because it was already existing. Precisely, the codes 521, 550 and 553 will trigger a BuildException
separator
task parameter. No attempt is made to
determine what syntax is appropriate for the remote host.
Parameters: file the remote file name to be resolved
Returns: the filename as it will appear on the server.
Parameters: ftp ftp client dirname directory to delete
Throws: IOException in unknown circumstances BuildException if skipFailedTransfers is set to false and the deletion could not be done
filename
may
contain a relative path specification. When this is the case, sendFile
will attempt to create any necessary parent directories before sending
the file. The file will then be sent using the entire relative path
spec - no attempt is made to change directories. It is anticipated that
this may eventually cause problems with some FTP servers, but it
simplifies the coding.Parameters: ftp ftp client dir base directory of the file to be sent (local) filename relative path of the file to be send locally relative to dir remotely relative to the remotedir attribute
Throws: IOException in unknown circumstances BuildException in unknown circumstances
Parameters: pAccount the account name on remote system
Since: Ant 1.7
Deprecated: since 1.5.x. setAction(String) is deprecated and is replaced with setAction(FTP.Action) to make Ant's Introspection mechanism do the work and also to encapsulate operations on the type in its own class.
Sets the FTP action to be taken. Currently accepts "put", "get", "del", "mkdir", "chmod", "list", and "site".Parameters: action the FTP action to be performed.
Throws: BuildException if the action is not a valid action.
UNKNOWN: ignore="true"
Parameters: action the FTP action to be performed.
Throws: BuildException if the action is not a valid action.
Parameters: binary if true use binary mode in transfers.
Parameters: theMode unix style file mode for the files sent to the remote system.
Parameters: defaultDateFormat configuration to be set, unless it is null or empty string, in which case ignored.
See Also: org.apache.commons.net.ftp.FTPClientConfig
Parameters: depends if true only transfer newer files.
Since: Ant 1.8.0
Parameters: ignoreNoncriticalErrors true if non-critical errors should not cause a failure.
Parameters: initialCommand The initialSiteCommand to set.
Parameters: listing file in which to store the listing.
Parameters: newer if true only transfer newer files.
Parameters: passive true is passive mode should be used.
Parameters: password the password on the remote system.
Parameters: port the port on which the remote server is listening.
Parameters: preserveLastModified if true preserver modification times.
Parameters: recentDateFormat configuration to be set, unless it is null or empty string, in which case ignored.
See Also: org.apache.commons.net.ftp.FTPClientConfig
Parameters: dir the remote directory name.
Parameters: retriesAllowed number of retries to allow. -1 means keep trying forever. "forever" may also be specified as a synonym for -1.
Parameters: separator the file separator on the remote system.
Parameters: server the remote server name.
Parameters: serverLanguageCode configuration to be set, unless it is null or empty string, in which case ignored.
See Also: org.apache.commons.net.ftp.FTPClientConfig
Parameters: serverTimeZoneId configuration to be set, unless it is null or empty string, in which case ignored.
See Also: org.apache.commons.net.ftp.FTPClientConfig
Parameters: shortMonthNames configuration to be set, unless it is null or empty string, in which case ignored.
See Also: org.apache.commons.net.ftp.FTPClientConfig
Parameters: siteCommand The siteCommand to set.
Parameters: skipFailedTransfers true if failures in transfers are ignored.
FTPClientConfig
remote system key.
Parameters: systemKey the key to be set - BUT if blank the default value of null (which signifies "autodetect") will be kept.
See Also: org.apache.commons.net.ftp.FTPClientConfig
Parameters: timeDiffAuto true = find automatically the time diff
Since: ant 1.6
newer
Parameters: timeDiffMillis number of milliseconds
Since: ant 1.6
Parameters: timestampGranularity The timestampGranularity to set.
Parameters: theUmask unix style umask for files created on the remote server.
Parameters: userid remote system userid.
Parameters: verbose true if verbose notifications are required.
Parameters: ftp the FTPClient instance used to perform FTP actions fs the fileset on which the actions are performed.
Returns: the number of files to be transferred.
Throws: IOException if there is a problem reading a file BuildException if there is a problem in the configuration.
Parameters: ftp the FTPClient instance used to perform FTP actions
Throws: IOException if there is a problem reading a file BuildException if there is a problem in the configuration.