org.apache.tools.ant.taskdefs

## Class Delete

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.tools.ant.taskdefs.MatchingTask
      - - org.apache.tools.ant.taskdefs.Delete

All Implemented Interfaces:
  java.lang.Cloneable, SelectorContainer

    public class Delete
    extends MatchingTask

Deletes a file or directory, or set of files defined by a fileset. The original delete task would delete a file, or a set of files using the include/exclude syntax. The deltree task would delete a directory tree. This task combines the functionality of these two originally distinct tasks.

Currently Delete extends MatchingTask. This is intended only to provide backwards compatibility for a release. The future position is to use nested filesets exclusively.

Since:
  Ant 1.2

### Field Summary

Fields
`protected java.io.File` `dir`
`protected java.io.File` `file`
`protected java.util.Vector<FileSet>` `filesets`
`protected boolean` `includeEmpty`
`protected boolean` `usedMatchingTask`

### Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask

`fileset`

### 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 and Description
`Delete()`

### Method Summary

Methods
`void` `add(FileSelector selector)` add an arbitrary selector
`void` `add(ResourceCollection rc)` Add an arbitrary ResourceCollection to be deleted.
`void` `addAnd(AndSelector selector)` add an "And" selector entry on the selector list
`void` `addContains(ContainsSelector selector)` add a contains selector entry on the selector list
`void` `addContainsRegexp(ContainsRegexpSelector selector)` add a regular expression selector entry on the selector list
`void` `addCustom(ExtendSelector selector)` add an extended selector entry on the selector list
`void` `addDate(DateSelector selector)` add a selector date entry on the selector list
`void` `addDepend(DependSelector selector)` add a depends selector entry on the selector list
`void` `addDepth(DepthSelector selector)` add a depth selector entry on the selector list
`void` `addFilename(FilenameSelector selector)` add a selector filename entry on the selector list
`void` `addFileset(FileSet set)` Adds a set of files to be deleted.
`void` `addMajority(MajoritySelector selector)` add a majority selector entry on the selector list
`void` `addModified(ModifiedSelector selector)` add the modified selector
`void` `addNone(NoneSelector selector)` add a "None" selector entry on the selector list
`void` `addNot(NotSelector selector)` add a "Not" selector entry on the selector list
`void` `addOr(OrSelector selector)` add an "Or" selector entry on the selector list
`void` `addPresent(PresentSelector selector)` add a present selector entry on the selector list
`void` `addSelector(SelectSelector selector)` add a "Select" selector entry on the selector list
`void` `addSize(SizeSelector selector)` add a selector size entry on the selector list
`PatternSet.NameEntry` `createExclude()` add a name entry on the exclude list
`PatternSet.NameEntry` `createExcludesFile()` add a name entry on the include files list
`PatternSet.NameEntry` `createInclude()` add a name entry on the include list
`PatternSet.NameEntry` `createIncludesFile()` add a name entry on the include files list
`PatternSet` `createPatternSet()` add a set of patterns
`void` `execute()` Delete the file(s).
`protected void` `removeDir(java.io.File d)` Delete a directory
`protected void` `removeFiles(java.io.File d, java.lang.String[] files, java.lang.String[] dirs)` remove an array of files in a directory, and a list of subdirectories which will only be deleted if 'includeEmpty' is true
`void` `setCaseSensitive(boolean isCaseSensitive)` Sets case sensitivity of the file system
`void` `setDefaultexcludes(boolean useDefaultExcludes)` Sets whether default exclusions should be used or not.
`void` `setDeleteOnExit(boolean deleteOnExit)` If true, on failure to delete, note the error and set the deleteonexit flag, and continue
`void` `setDir(java.io.File dir)` Set the directory from which files are to be deleted
`void` `setExcludes(java.lang.String excludes)` Sets the set of exclude patterns.
`void` `setExcludesfile(java.io.File excludesfile)` Sets the name of the file containing the includes patterns.
`void` `setFailOnError(boolean failonerror)` If false, note errors but continue.
`void` `setFile(java.io.File file)` Set the name of a single file to be removed.
`void` `setFollowSymlinks(boolean followSymlinks)` Sets whether or not symbolic links should be followed.
`void` `setIncludeEmptyDirs(boolean includeEmpty)` If true, delete empty directories.
`void` `setIncludes(java.lang.String includes)` Sets the set of include patterns.
`void` `setIncludesfile(java.io.File includesfile)` Sets the name of the file containing the includes patterns.
`void` `setPerformGcOnFailedDelete(boolean b)` Whether to perform a garbage collection before retrying a failed delete.
`void` `setQuiet(boolean quiet)` If true and the file does not exist, do not display a diagnostic message or modify the exit status to reflect an error.
`void` `setRemoveNotFollowedSymlinks(boolean b)` Sets whether the symbolic links that have not been followed shall be removed (the links, not the locations they point at).
`void` `setVerbose(boolean verbose)` If true, list all names of deleted files.

### Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask

`addDifferent, addType, appendSelector, getDirectoryScanner, getImplicitFileSet, getSelectors, hasSelectors, selectorCount, selectorElements, setProject, XsetIgnore, XsetItems`

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

`bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, 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`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### file

    protected java.io.File file

#### dir

    protected java.io.File dir

#### filesets

    protected java.util.Vector<FileSet> filesets

#### usedMatchingTask

    protected boolean usedMatchingTask

#### includeEmpty

    protected boolean includeEmpty

### Constructor Detail

#### Delete

    public Delete()

### Method Detail

#### setFile

    public void setFile(java.io.File file)

Set the name of a single file to be removed.

Parameters:
  `file` - the file to be deleted

#### setDir

    public void setDir(java.io.File dir)

Set the directory from which files are to be deleted

Parameters:
  `dir` - the directory path.

#### setVerbose

    public void setVerbose(boolean verbose)

If true, list all names of deleted files.

Parameters:
  `verbose` - "true" or "on"

#### setQuiet

    public void setQuiet(boolean quiet)

If true and the file does not exist, do not display a diagnostic message or modify the exit status to reflect an error. This means that if a file or directory cannot be deleted, then no error is reported. This setting emulates the -f option to the Unix "rm" command. Default is false meaning things are "noisy"

Parameters:
  `quiet` - "true" or "on"

#### setFailOnError

    public void setFailOnError(boolean failonerror)

If false, note errors but continue.

Parameters:
  `failonerror` - true or false

#### setDeleteOnExit

    public void setDeleteOnExit(boolean deleteOnExit)

If true, on failure to delete, note the error and set the deleteonexit flag, and continue

Parameters:
  `deleteOnExit` - true or false

#### setIncludeEmptyDirs

    public void setIncludeEmptyDirs(boolean includeEmpty)

If true, delete empty directories.

Parameters:
  `includeEmpty` - if true delete empty directories (only for filesets). Default is false.

#### setPerformGcOnFailedDelete

    public void setPerformGcOnFailedDelete(boolean b)

Whether to perform a garbage collection before retrying a failed delete.

This may be required on Windows (where it is set to true by default) but also on other operating systems, for example when deleting directories from an NFS share.

Since:
  Ant 1.8.3

#### addFileset

    public void addFileset(FileSet set)

Adds a set of files to be deleted.

Parameters:
  `set` - the set of files to be deleted

#### add

    public void add(ResourceCollection rc)

Add an arbitrary ResourceCollection to be deleted.

Parameters:
  `rc` - the filesystem-only ResourceCollection.

#### createInclude

    public PatternSet.NameEntry createInclude()

add a name entry on the include list

Overrides:
  `createInclude` in class `MatchingTask`
Returns:
  a NameEntry object to be configured

#### createIncludesFile

    public PatternSet.NameEntry createIncludesFile()

add a name entry on the include files list

Overrides:
  `createIncludesFile` in class `MatchingTask`
Returns:
  an NameEntry object to be configured

#### createExclude

    public PatternSet.NameEntry createExclude()

add a name entry on the exclude list

Overrides:
  `createExclude` in class `MatchingTask`
Returns:
  an NameEntry object to be configured

#### createExcludesFile

    public PatternSet.NameEntry createExcludesFile()

add a name entry on the include files list

Overrides:
  `createExcludesFile` in class `MatchingTask`
Returns:
  an NameEntry object to be configured

#### createPatternSet

    public PatternSet createPatternSet()

add a set of patterns

Overrides:
  `createPatternSet` in class `MatchingTask`
Returns:
  PatternSet object to be configured

#### setIncludes

    public void setIncludes(java.lang.String includes)

Sets the set of include patterns. Patterns may be separated by a comma or a space.

Overrides:
  `setIncludes` in class `MatchingTask`
Parameters:
  `includes` - the string containing the include patterns

#### setExcludes

    public void setExcludes(java.lang.String excludes)

Sets the set of exclude patterns. Patterns may be separated by a comma or a space.

Overrides:
  `setExcludes` in class `MatchingTask`
Parameters:
  `excludes` - the string containing the exclude patterns

#### setDefaultexcludes

    public void setDefaultexcludes(boolean useDefaultExcludes)

Sets whether default exclusions should be used or not.

Overrides:
  `setDefaultexcludes` in class `MatchingTask`
Parameters:
  `useDefaultExcludes` - "true"|"on"|"yes" when default exclusions should be used, "false"|"off"|"no" when they shouldn't be used.

#### setIncludesfile

    public void setIncludesfile(java.io.File includesfile)

Sets the name of the file containing the includes patterns.

Overrides:
  `setIncludesfile` in class `MatchingTask`
Parameters:
  `includesfile` - A string containing the filename to fetch the include patterns from.

#### setExcludesfile

    public void setExcludesfile(java.io.File excludesfile)

Sets the name of the file containing the includes patterns.

Overrides:
  `setExcludesfile` in class `MatchingTask`
Parameters:
  `excludesfile` - A string containing the filename to fetch the include patterns from.

#### setCaseSensitive

    public void setCaseSensitive(boolean isCaseSensitive)

Sets case sensitivity of the file system

Overrides:
  `setCaseSensitive` in class `MatchingTask`
Parameters:
  `isCaseSensitive` - "true"|"on"|"yes" if file system is case sensitive, "false"|"off"|"no" when not.

#### setFollowSymlinks

    public void setFollowSymlinks(boolean followSymlinks)

Sets whether or not symbolic links should be followed.

Overrides:
  `setFollowSymlinks` in class `MatchingTask`
Parameters:
  `followSymlinks` - whether or not symbolic links should be followed

#### setRemoveNotFollowedSymlinks

    public void setRemoveNotFollowedSymlinks(boolean b)

Sets whether the symbolic links that have not been followed shall be removed (the links, not the locations they point at).

Since:
  Ant 1.8.0

#### addSelector

    public void addSelector(SelectSelector selector)

add a "Select" selector entry on the selector list

Specified by:
  `addSelector` in interface `SelectorContainer`
Overrides:
  `addSelector` in class `MatchingTask`
Parameters:
  `selector` - the selector to be added

#### addAnd

    public void addAnd(AndSelector selector)

add an "And" selector entry on the selector list

Specified by:
  `addAnd` in interface `SelectorContainer`
Overrides:
  `addAnd` in class `MatchingTask`
Parameters:
  `selector` - the selector to be added

#### addOr

    public void addOr(OrSelector selector)

add an "Or" selector entry on the selector list

Specified by:
  `addOr` in interface `SelectorContainer`
Overrides:
  `addOr` in class `MatchingTask`
Parameters:
  `selector` - the selector to be added

#### addNot

    public void addNot(NotSelector selector)

add a "Not" selector entry on the selector list

Specified by:
  `addNot` in interface `SelectorContainer`
Overrides:
  `addNot` in class `MatchingTask`
Parameters:
  `selector` - the selector to be added

#### addNone

    public void addNone(NoneSelector selector)

add a "None" selector entry on the selector list

Specified by:
  `addNone` in interface `SelectorContainer`
Overrides:
  `addNone` in class `MatchingTask`
Parameters:
  `selector` - the selector to be added

#### addMajority

    public void addMajority(MajoritySelector selector)

add a majority selector entry on the selector list

Specified by:
  `addMajority` in interface `SelectorContainer`
Overrides:
  `addMajority` in class `MatchingTask`
Parameters:
  `selector` - the selector to be added

#### addDate

    public void addDate(DateSelector selector)

add a selector date entry on the selector list

Specified by:
  `addDate` in interface `SelectorContainer`
Overrides:
  `addDate` in class `MatchingTask`
Parameters:
  `selector` - the selector to be added

#### addSize

    public void addSize(SizeSelector selector)

add a selector size entry on the selector list

Specified by:
  `addSize` in interface `SelectorContainer`
Overrides:
  `addSize` in class `MatchingTask`
Parameters:
  `selector` - the selector to be added

#### addFilename

    public void addFilename(FilenameSelector selector)

add a selector filename entry on the selector list

Specified by:
  `addFilename` in interface `SelectorContainer`
Overrides:
  `addFilename` in class `MatchingTask`
Parameters:
  `selector` - the selector to be added

#### addCustom

    public void addCustom(ExtendSelector selector)

add an extended selector entry on the selector list

Specified by:
  `addCustom` in interface `SelectorContainer`
Overrides:
  `addCustom` in class `MatchingTask`
Parameters:
  `selector` - the selector to be added

#### addContains

    public void addContains(ContainsSelector selector)

add a contains selector entry on the selector list

Specified by:
  `addContains` in interface `SelectorContainer`
Overrides:
  `addContains` in class `MatchingTask`
Parameters:
  `selector` - the selector to be added

#### addPresent

    public void addPresent(PresentSelector selector)

add a present selector entry on the selector list

Specified by:
  `addPresent` in interface `SelectorContainer`
Overrides:
  `addPresent` in class `MatchingTask`
Parameters:
  `selector` - the selector to be added

#### addDepth

    public void addDepth(DepthSelector selector)

add a depth selector entry on the selector list

Specified by:
  `addDepth` in interface `SelectorContainer`
Overrides:
  `addDepth` in class `MatchingTask`
Parameters:
  `selector` - the selector to be added

#### addDepend

    public void addDepend(DependSelector selector)

add a depends selector entry on the selector list

Specified by:
  `addDepend` in interface `SelectorContainer`
Overrides:
  `addDepend` in class `MatchingTask`
Parameters:
  `selector` - the selector to be added

#### addContainsRegexp

    public void addContainsRegexp(ContainsRegexpSelector selector)

add a regular expression selector entry on the selector list

Specified by:
  `addContainsRegexp` in interface `SelectorContainer`
Overrides:
  `addContainsRegexp` in class `MatchingTask`
Parameters:
  `selector` - the selector to be added

#### addModified

    public void addModified(ModifiedSelector selector)

add the modified selector

Specified by:
  `addModified` in interface `SelectorContainer`
Overrides:
  `addModified` in class `MatchingTask`
Parameters:
  `selector` - the selector to add
Since:
  ant 1.6

#### add

    public void add(FileSelector selector)

add an arbitrary selector

Specified by:
  `add` in interface `SelectorContainer`
Overrides:
  `add` in class `MatchingTask`
Parameters:
  `selector` - the selector to be added
Since:
  Ant 1.6

#### execute

    public void execute()
                 throws BuildException

Delete the file(s).

Overrides:
  `execute` in class `Task`
Throws:
  `BuildException` - if an error occurs

#### removeDir

    protected void removeDir(java.io.File d)

Delete a directory

Parameters:
  `d` - the directory to delete

#### removeFiles

    protected void removeFiles(java.io.File d,
                   java.lang.String[] files,
                   java.lang.String[] dirs)

remove an array of files in a directory, and a list of subdirectories which will only be deleted if 'includeEmpty' is true

Parameters:
  `d` - directory to work from
  `files` - array of files to delete; can be of zero length
  `dirs` - array of directories to delete; can of zero length