Adjusts a text file to local conventions.
The set of files to be adjusted can be refined with the includes, includesfile, excludes, excludesfile and defaultexcludes attributes. Patterns provided through the includes or includesfile attributes specify files to be included. Patterns provided through the exclude or excludesfile attribute specify files to be excluded. Additionally, default exclusions can be specified with the defaultexcludes attribute. See the section on directory-based tasks, for details of file inclusion/exclusion patterns and their usage.
This task forms an implicit FileSet and supports most
attributes of <fileset>
(dir becomes srcdir) as well as
the nested <include>
, <exclude>
and <patternset>
elements.
The output file is only written if it is a new file, or if it differs from the existing file. This prevents spurious rebuilds based on unchanged files which have been regenerated by this task. In order to assess whether a file has changed, this task will create a pre-processed version of the source file inside of the temporary directory.
Since Apache Ant 1.7, this task can be used in a filterchain.
Attribute | Description | Required | |
---|---|---|---|
As Task | As Filter | ||
srcDir | Where to find the files to be fixed up. | One of these | N/A |
file | Name of a single file to fix. Since Ant 1.7 | ||
destDir | Where to place the corrected files. | No; defaults to srcDir (replace the original files) | |
includes | comma- or space-separated list of patterns of files that must be included. | No; defaults to all (**) |
|
includesfile | name of a file. Each line of this file is taken to be an include pattern. | No | |
excludes | comma- or space-separated list of patterns of files that must be excluded. | No; defaults to default excludes or none if defaultexcludes
is no |
|
excludesfile | name of a file. Each line of this file is taken to be an exclude pattern. | No | |
defaultexcludes | indicates whether default excludes should be used or not (yes|no). |
No; defaults to yes |
|
encoding | The encoding of the files. | No; defaults to default JVM character encoding | |
outputencoding | The encoding to use when writing the files. Since Ant 1.7 | No; defaults to encoding if set or default JVM character encoding otherwise | |
preservelastmodified | Whether to preserve the last modified date of source files. Since Ant 1.6.3 | No; default is false |
|
eol | Specifies how end-of-line (EOL) characters are to be handled. The EOL characters are CR, LF
and the pair CRLF. Valid values for this property are:
This is the preferred method for specifying EOL. The cr attribute (see below) is now deprecated. Note: One special case is recognized. The three characters CR-CR-LF are
regarded as a single EOL. Unless this property is specified as |
No; default is platform-specific: lffor Unix platforms (including Mac OS X/macOS), crlffor DOS-based systems (including Windows), crfor Mac environments other than OS X |
|
cr | Deprecated. Specifies how CR characters are to be handled at end-of-line
(EOL). Valid values for this property are:
Note: One special case is recognized. The three characters CR-CR-LF are
regarded as a single EOL. Unless this property is specified as |
No; default is platform-specific: removefor Unix platforms, addfor DOS based systems (including Windows) |
|
javafiles | Used only in association with the tab attribute (see below), this boolean
attribute indicates whether the fileset is a set of Java source files (yes|no). See notes in section on tab. |
No; defaults to no |
|
tab | Specifies how tab characters are to be handled. Valid values for this property are:
Note: When the attribute javafiles (see above) is Note: There is an incompatibility between this and the previous version in the handling of white space at the end of lines. This version does not remove trailing whitespace on lines. |
No; default is asis |
|
tablength | TAB character interval. Valid values are between 2and 80inclusive. |
No; default is 8 |
|
eof | Specifies how DOS end of file (control-Z) characters are to be handled. Valid values for
this property are:
|
No; default is platform-specific: removefor Unix platforms, asisfor DOS based systems (including Windows) |
|
fixlast | Whether to add a missing EOL to the last line of a processed file. Ignored if eof is asis. Since Ant 1.6.1 |
No; default is true |
Replace EOLs with LF characters and remove EOF characters from the shell scripts. Tabs and spaces are left as is.
<fixcrlf srcdir="${src}" includes="**/*.sh" eol="lf" eof="remove"/>
Replace all EOLs with cr-lf pairs in the batch files. Tabs and spaces are left as is. EOF characters are left alone if run on DOS systems, and are removed if run on Unix systems.
<fixcrlf srcdir="${src}" includes="**/*.bat" eol="crlf"/>
Set EOLs according to local OS conventions, and convert sequences of spaces and tabs into the minimal set of spaces and tabs which will preserve spacing within the line. Tabs are set at 8 character intervals. EOF characters are left alone if run on DOS systems, and are removed if run on Unix systems. Many versions of make require tabs prior to commands.
<fixcrlf srcdir="${src}" includes="**/Makefile" tab="add"/>
Convert all EOLs in the included Java source files to a single LF. Replace all tab characters except those in string or character constants with spaces, assuming a tab width of 3. If run on a Unix system, any CTRL-Z EOF characters at the end of the file are removed. On DOS/Windows, any such EOF characters will be left untouched.
<fixcrlf srcdir="${src}" includes="**/*.java" tab="remove" tablength="3" eol="lf" javafiles="yes"/>
Set EOLs according to local OS conventions, and convert all tabs to spaces, assuming a tab width of 8. EOF characters are left alone if run on DOS systems, and are removed if run on Unix systems. You never know what editor a user will use to browse READMEs.
<fixcrlf srcdir="${src}" includes="**/README*" tab="remove"/>