Package org.apache.tools.ant.taskdefs
Class ExecuteOn
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.ExecTask
org.apache.tools.ant.taskdefs.ExecuteOn
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic classEnumerated attribute with the values "file", "dir" and "both" for the type attribute.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected Fileprotected Vector<AbstractFileSet> protected FileNameMapperprotected Mapperprotected Commandline.Markerprotected booleanHas <srcfile> been specified before <targetfile>protected Commandline.Markerprotected StringFields inherited from class org.apache.tools.ant.taskdefs.ExecTaskcmdl, failOnError, newEnvironment, redirector, redirectorElementFields inherited from class org.apache.tools.ant.ProjectComponentdescription, location, project
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidAdd a collection of resources upon which to operate.voidadd(FileNameMapper fileNameMapper) Add a nested FileNameMapper.voidAdd a set of directories upon which to operate.voidaddFilelist(FileList list) Add a list of source files upon which to operate.voidaddFileset(FileSet set) Add a set of files upon which to operate.protected voidCheck the configuration of this ExecuteOn instance.protected ExecuteStreamHandlerCreate the ExecuteStreamHandler instance that will be used during execution.Create a nested Mapper element to use for mapping source files to target files.Create a placeholder indicating where on the command line the name of the source file should be inserted.Create a placeholder indicating where on the command line the name of the target file should be inserted.protected String[]getCommandline(String[] srcFiles, File[] baseDirs) Construct the command line for parallel execution.protected String[]getCommandline(String srcFile, File baseDir) Construct the command line for serial execution.protected String[]getDirs(File baseDir, DirectoryScanner ds) Return the list of Directories from this DirectoryScanner that should be included on the command line.protected String[]getFiles(File baseDir, DirectoryScanner ds) Return the list of files from this DirectoryScanner that should be included on the command line.protected String[]getFilesAndDirs(FileList list) Return the list of files or directories from this FileList that should be included on the command line.protected voidRun the specified Execute object.protected voidRun the command in "parallel" mode, making sure that at most maxParallel sourcefiles get passed on the command line.voidsetAddsourcefile(boolean b) Set whether to send the source file name on the command line.voidSpecify the directory where target files are to be placed.voidsetForce(boolean b) Set whether to bypass timestamp comparisons for target files.voidsetForwardslash(boolean forwardSlash) Set whether the source and target file names on Windows and OS/2 must use the forward slash as file separator.voidsetIgnoremissing(boolean b) Set whether to ignore nonexistent files from filelists.voidsetMaxParallel(int max) Limit the command line length by passing at maximum this many sourcefiles at once to the command.voidsetParallel(boolean parallel) Set whether to execute in parallel mode.voidsetRelative(boolean relative) Set whether the filenames should be passed on the command line as absolute or relative pathnames.voidsetSkipEmptyFilesets(boolean skip) Set whether empty filesets will be skipped.voidsetType(ExecuteOn.FileDirBoth type) Set whether the command works only on files, directories or both.protected voidSet up the I/O Redirector.voidsetVerbose(boolean b) Set whether to operate in verbose mode.Methods inherited from class org.apache.tools.ant.taskdefs.ExecTaskaddConfiguredRedirector, addEnv, createArg, createWatchdog, execute, getOs, getOsFamily, getResolveExecutable, isValidOs, logFlush, maybeSetResultPropertyValue, prepareExec, resolveExecutable, runExecute, setAppend, setCommand, setDir, setDiscardError, setDiscardOutput, setError, setErrorProperty, setExecutable, setFailIfExecutionFails, setFailonerror, setInput, setInputString, setLogError, setNewenvironment, setOs, setOsFamily, setOutput, setOutputproperty, setResolveExecutable, setResultProperty, setSearchPath, setSpawn, setTimeout, setTimeout, setVMLauncherMethods inherited from class org.apache.tools.ant.TaskbindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskTypeMethods inherited from class org.apache.tools.ant.ProjectComponentclone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
- 
Field Details- 
filesets
- 
type
- 
srcFilePos
- 
targetFilePos
- 
mapperElement
- 
mapper
- 
destDir
- 
srcIsFirstprotected boolean srcIsFirstHas <srcfile> been specified before <targetfile>
 
- 
- 
Constructor Details- 
ExecuteOnpublic ExecuteOn()
 
- 
- 
Method Details- 
addFilesetAdd a set of files upon which to operate.- Parameters:
- set- the FileSet to add.
 
- 
addDirsetAdd a set of directories upon which to operate.- Parameters:
- set- the DirSet to add.
- Since:
- Ant 1.6
 
- 
addFilelistAdd a list of source files upon which to operate.- Parameters:
- list- the FileList to add.
 
- 
addAdd a collection of resources upon which to operate.- Parameters:
- rc- resource collection to add.
- Since:
- Ant 1.7
 
- 
setRelativepublic void setRelative(boolean relative) Set whether the filenames should be passed on the command line as absolute or relative pathnames. Paths are relative to the base directory of the corresponding fileset for source files or the dest attribute for target files.- Parameters:
- relative- whether to pass relative pathnames.
 
- 
setParallelpublic void setParallel(boolean parallel) Set whether to execute in parallel mode. If true, run the command only once, appending all files as arguments. If false, command will be executed once for every file. Defaults to false.- Parameters:
- parallel- whether to run in parallel.
 
- 
setTypeSet whether the command works only on files, directories or both.- Parameters:
- type- a FileDirBoth EnumeratedAttribute.
 
- 
setSkipEmptyFilesetspublic void setSkipEmptyFilesets(boolean skip) Set whether empty filesets will be skipped. If true and no source files have been found or are newer than their corresponding target files, the command will not be run.- Parameters:
- skip- whether to skip empty filesets.
 
- 
setDestSpecify the directory where target files are to be placed.- Parameters:
- destDir- the File object representing the destination directory.
 
- 
setForwardslashpublic void setForwardslash(boolean forwardSlash) Set whether the source and target file names on Windows and OS/2 must use the forward slash as file separator.- Parameters:
- forwardSlash- whether the forward slash will be forced.
 
- 
setMaxParallelpublic void setMaxParallel(int max) Limit the command line length by passing at maximum this many sourcefiles at once to the command.Set to <= 0 for unlimited - this is the default. - Parameters:
- max-- intmaximum number of sourcefiles passed to the executable.
- Since:
- Ant 1.6
 
- 
setAddsourcefilepublic void setAddsourcefile(boolean b) Set whether to send the source file name on the command line.Defaults to true.- Parameters:
- b- whether to add the source file to the command line.
- Since:
- Ant 1.6
 
- 
setVerbosepublic void setVerbose(boolean b) Set whether to operate in verbose mode. If true, a verbose summary will be printed after execution.- Parameters:
- b- whether to operate in verbose mode.
- Since:
- Ant 1.6
 
- 
setIgnoremissingpublic void setIgnoremissing(boolean b) Set whether to ignore nonexistent files from filelists.- Parameters:
- b- whether to ignore missing files.
- Since:
- Ant 1.6.2
 
- 
setForcepublic void setForce(boolean b) Set whether to bypass timestamp comparisons for target files.- Parameters:
- b- whether to bypass timestamp comparisons.
- Since:
- Ant 1.6.3
 
- 
createSrcfileCreate a placeholder indicating where on the command line the name of the source file should be inserted.- Returns:
- Commandline.Marker.
 
- 
createTargetfileCreate a placeholder indicating where on the command line the name of the target file should be inserted.- Returns:
- Commandline.Marker.
 
- 
createMapperCreate a nested Mapper element to use for mapping source files to target files.- Returns:
- Mapper.
- Throws:
- BuildException- if more than one mapper is defined.
 
- 
addAdd a nested FileNameMapper.- Parameters:
- fileNameMapper- the mapper to add.
- Since:
- Ant 1.6.3
 
- 
checkConfigurationprotected void checkConfiguration()Check the configuration of this ExecuteOn instance.- Overrides:
- checkConfigurationin class- ExecTask
 
- 
createHandlerCreate the ExecuteStreamHandler instance that will be used during execution.- Overrides:
- createHandlerin class- ExecTask
- Returns:
- ExecuteStreamHandler.
- Throws:
- BuildException- on error.
 
- 
setupRedirectorprotected void setupRedirector()Set up the I/O Redirector.- Overrides:
- setupRedirectorin class- ExecTask
 
- 
runExecRun the specified Execute object.- Overrides:
- runExecin class- ExecTask
- Parameters:
- exe- the Execute instance representing the external process.
- Throws:
- BuildException- on error
 
- 
getCommandline
- 
getCommandline
- 
getFilesReturn the list of files from this DirectoryScanner that should be included on the command line.- Parameters:
- baseDir- the File base directory.
- ds- the DirectoryScanner to use for file scanning.
- Returns:
- a String[] containing the filenames.
 
- 
getDirsReturn the list of Directories from this DirectoryScanner that should be included on the command line.- Parameters:
- baseDir- the File base directory.
- ds- the DirectoryScanner to use for file scanning.
- Returns:
- a String[] containing the directory names.
 
- 
getFilesAndDirs
- 
runParallelprotected void runParallel(Execute exe, Vector<String> fileNames, Vector<File> baseDirs) throws IOException, BuildException Run the command in "parallel" mode, making sure that at most maxParallel sourcefiles get passed on the command line.- Parameters:
- exe- the Executable to use.
- fileNames- the Vector of filenames.
- baseDirs- the Vector of base directories corresponding to fileNames.
- Throws:
- IOException- on I/O errors.
- BuildException- on other errors.
- Since:
- Ant 1.6
 
 
-