|
- <!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
- <html>
-
- <head>
- <meta http-equiv="Content-Language" content="en-us">
- <link rel="stylesheet" type="text/css" href="../stylesheets/style.css">
- <title>Delete Task</title>
- </head>
-
- <body>
-
- <h2><a name="delete">Delete</a></h2>
- <h3>Description</h3>
- <p>Deletes a single file, a specified directory and all its files and
- subdirectories, or a set of files specified by one or more
- <a href="../Types/resources.html#collection">resource collection</a>s.
- The literal implication of <code><fileset></code> is that
- directories are not included; however the removal of empty directories can
- be triggered when using nested filesets by setting the
- <code>includeEmptyDirs</code> attribute to <i>true</i>. Note that this
- attribute is meaningless in the context of any of the various resource
- collection types that <i>do</i> include directories, but that no attempt
- will be made to delete non-empty directories in any case. Whether a
- directory is empty or not is decided by looking into the filesystem -
- include or exclude patterns don't apply here.</p>
- <p>
- If you use this task to delete temporary files created by editors
- and it doesn't seem to work, read up on the
- <a href="../dirtasks.html#defaultexcludes">default exclusion set</a>
- in <strong>Directory-based Tasks</strong>, and see the
- <code>defaultexcludes</code> attribute below.
-
- <p>For historical reasons <code><delete dir="x"/></code> is
- different from <code><delete><fileset
- dir="x"/></delete></code>, it will try to remove everything
- inside "x" including "x" itself, not taking default excludes into
- account, blindly following all symbolic links. If you need more
- control, use a nested <code><fileset></code>.</p>
-
- <h3>Parameters</h3>
- <table border="1" cellpadding="2" cellspacing="0">
- <tr>
- <td valign="top"><b>Attribute</b></td>
- <td valign="top"><b>Description</b></td>
- <td align="center" valign="top"><b>Required</b></td>
- </tr>
- <tr>
- <td valign="top">file</td>
- <td valign="top">The file to delete, specified as either the simple
- filename (if the file exists in the current base directory), a
- relative-path filename, or a full-path filename.</td>
- <td align="center" valign="middle" rowspan="2">At least one of the two,
- unless nested resource collections are specified
- </tr>
- <tr>
- <td valign="top">dir</td>
- <td valign="top">The directory to delete, including all its files and
- subdirectories.<br>
- <b>Note:</b> <code>dir</code> is <em>not</em> used
- to specify a directory name for <code>file</code>; <code>file</code>
- and <code>dir</code> are independent of each other.<br>
- <b>WARNING:</b> Do <b>not</b> set <code>dir</code> to
- <code>"."</code>, <code>"${basedir}"</code>,
- or the full-pathname equivalent unless you truly <em>intend</em> to
- recursively remove the entire contents of the current base directory
- (and the base directory itself, if different from the current working
- directory).</td>
- </tr>
- <tr>
- <td valign="top">verbose</td>
- <td valign="top">Whether to show the name of each deleted file.</td>
- <td align="center" valign="top">No, default "false"</i></td>
- </tr>
- <tr>
- <td valign="top">quiet</td>
- <td valign="top">If the specified file or directory does not exist,
- do not display a diagnostic message (unless Apache Ant
- has been invoked with the <code>-verbose</code> or
- <code>-debug</code> switches) or modify the exit status to
- reflect an error.
- When set to "true", if a file or directory cannot be deleted,
- no error is reported. This setting emulates the
- <code>-f</code> option to the Unix <em>rm</em> command.
- Setting this to "true" implies setting
- <code>failonerror</code> to "false".
- </td>
- <td align="center" valign="top">No, default "false"</td>
- </tr>
- <tr>
- <td valign="top">failonerror</td>
- <td valign="top">Controls whether an error (such as a failure to
- delete a file) stops the build or is merely reported to the screen.
- Only relevant if <code>quiet</code> is "false".</td>
- <td align="center" valign="top">No, default "true"</td>
- </tr>
- <tr>
- <td valign="top">includeemptydirs</td>
- <td valign="top">Whether to delete empty directories
- when using filesets.</td>
- <td align="center" valign="top">No, default "false"</td>
- </tr>
- <tr>
- <td valign="top">includes</td>
- <td valign="top"><em>Deprecated.</em> Use resource collections.
- Comma- or space-separated list of patterns of
- files that must be deleted. All files are relative to the directory
- specified in <code>dir</code>.</td>
- <td valign="top" align="center">No</td>
- </tr>
- <tr>
- <td valign="top">includesfile</td>
- <td valign="top"><em>Deprecated.</em> Use resource collections.
- The name of a file. Each line of
- this file is taken to be an include pattern.</td>
- <td valign="top" align="center">No</td>
- </tr>
- <tr>
- <td valign="top">excludes</td>
- <td valign="top"><em>Deprecated.</em> Use resource collections.
- Comma- or space-separated list of patterns of
- files that must be excluded from the deletion list.
- All files are relative to the directory specified in <code>dir</code>.
- No files (except default excludes) are excluded when omitted.</td>
- <td valign="top" align="center">No</td>
- </tr>
- <tr>
- <td valign="top">excludesfile</td>
- <td valign="top"><em>Deprecated.</em> Use resource collections.
- The name of a file. Each line of
- this file is taken to be an exclude pattern</td>
- <td valign="top" align="center">No</td>
- </tr>
- <tr>
- <td valign="top">defaultexcludes</td>
- <td valign="top"><em>Deprecated.</em> Use resource collections.
- Whether to use <a href="../dirtasks.html#defaultexcludes">
- default excludes.</a></td>
- <td align="center" valign="top">No, default "true"</td>
- </tr>
- <tr>
- <td valign="top">deleteonexit</td>
- <td valign="top">
- Indicates whether to use File#deleteOnExit() if there is a
- failure to delete a file, this causes the jvm to attempt
- to delete the file when the jvm process is terminating.
- <em>Since Ant 1.6.2</em></td>
- <td align="center" valign="top">No, default "false"</td>
- </tr>
- <tr>
- <td valign="top">removeNotFollowedSymlinks</td>
- <td valign="top">
- Whether symbolic links (not the files/directories they link to)
- should be removed if they haven't been followed because
- followSymlinks was false or the maximum number of symbolic links
- was too big.
- <em>Since Ant 1.8.0</em></td>
- <td align="center" valign="top">No, default "false"</td>
- </tr>
- <tr>
- <td valign="top">performGCOnFailedDelete</td>
- <td valign="top">
- If Ant fails to delete a file or directory it will retry the
- operation once. If this flag is set to true it will perform a
- garbage collection before retrying the delete.<br/>
- Setting this flag to true is known to resolve some problems on
- Windows (where it defaults to true) but also for directory trees
- residing on an NFS share.
- <em>Since Ant 1.8.3</em></td>
- <td align="center" valign="top">No, default "true" on
- Windows and "true" on any other OS.</td>
- </tr>
- </table>
-
- <h3>Examples</h3>
- <pre> <delete file="/lib/ant.jar"/></pre>
- <p>deletes the file <code>/lib/ant.jar</code>.</p>
- <pre> <delete dir="lib"/></pre>
- <p>deletes the <code>lib</code> directory, including all files
- and subdirectories of <code>lib</code>.</p>
-
- <pre> <delete>
- <fileset dir="." includes="**/*.bak"/>
- </delete>
- </pre>
- <p>deletes all files with the extension <code>.bak</code> from the current directory
- and any subdirectories.</p>
-
- <pre> <delete includeEmptyDirs="true">
- <fileset dir="build"/>
- </delete>
- </pre>
- <p>deletes all files and subdirectories of <code>build</code>, including
- <code>build</code> itself.</p>
-
- <pre> <delete includeemptydirs="true">
- <fileset dir="build" includes="**/*"/>
- </delete>
- </pre>
- <p>deletes all files and subdirectories of <code>build</code>, without
- <code>build</code> itself.</p>
-
- <pre> <delete includeemptydirs="true">
- <fileset dir="src" includes="**/.svn/" defaultexcludes="false"/>
- </delete>
- </pre>
- <p>deletes the subversion metadata directories under <code>src</code>. Because <code>.svn</code>
- is on of the <a href="../dirtasks.html#defaultexcludes">default excludes</a> you have to use the
- <code>defaultexcludes</code> flag, otherwise Ant wont delete these directories and the files in it.</p>
-
-
-
- </body>
- </html>
|