mirror of
https://github.com/apache/ant.git
synced 2025-05-18 05:54:48 +00:00
255 lines
11 KiB
HTML
255 lines
11 KiB
HTML
<!DOCTYPE html>
|
|
<!--
|
|
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
|
|
|
|
https://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 lang="en">
|
|
|
|
<head>
|
|
<link rel="stylesheet" type="text/css" href="../stylesheets/style.css">
|
|
<title>FixCRLF Task</title>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<h2 id="fixcrlf">FixCRLF</h2>
|
|
<h3>Description</h3>
|
|
<p>Adjusts a text file to local conventions.</p>
|
|
|
|
<p>The set of files to be adjusted can be refined with
|
|
the <var>includes</var>, <var>includesfile</var>, <var>excludes</var>, <var>excludesfile</var>
|
|
and <var>defaultexcludes</var> attributes. Patterns provided through the <var>includes</var>
|
|
or <var>includesfile</var> attributes specify files to be included. Patterns provided through
|
|
the <var>exclude</var> or <var>excludesfile</var> attribute specify files to be
|
|
excluded. Additionally, default exclusions can be specified with the <var>defaultexcludes</var>
|
|
attribute. See the section on <a href="../dirtasks.html#directorybasedtasks">directory-based
|
|
tasks</a>, for details of file inclusion/exclusion patterns and their usage.</p>
|
|
|
|
<p>This task forms an implicit <a href="../Types/fileset.html">FileSet</a> and supports most
|
|
attributes of <code><fileset></code> (<var>dir</var> becomes <var>srcdir</var>) as well as
|
|
the nested <code><include></code>, <code><exclude></code>
|
|
and <code><patternset></code> elements.</p>
|
|
|
|
<p>
|
|
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 <a href="../running.html#tmpdir">temporary directory</a>.
|
|
</p>
|
|
|
|
<p><em>Since Apache Ant 1.7</em>, this task can be used in
|
|
a <a href="../Types/filterchain.html">filterchain</a>.</p>
|
|
|
|
<h3>Parameters</h3>
|
|
<table class="attr">
|
|
<tr>
|
|
<th scope="col" rowspan="2">Attribute</th>
|
|
<th scope="col" rowspan="2">Description</th>
|
|
<th scope="col" colspan="2">Required</th>
|
|
</tr>
|
|
<tr>
|
|
<th scope="col">As Task</th>
|
|
<th scope="col">As Filter</th>
|
|
</tr>
|
|
<tr>
|
|
<td>srcDir</td>
|
|
<td>Where to find the files to be fixed up.</td>
|
|
<td rowspan="2" class="center">One of these</td>
|
|
<td rowspan="11">N/A</td>
|
|
</tr>
|
|
<tr>
|
|
<td>file</td>
|
|
<td class="left">Name of a single file to fix. <em>Since Ant 1.7</em></td>
|
|
</tr>
|
|
<tr>
|
|
<td>destDir</td>
|
|
<td>Where to place the corrected files.</td>
|
|
<td class="center">No; defaults to <var>srcDir</var> (replace the original files)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>includes</td>
|
|
<td>comma- or space-separated list of patterns of files that must be included.</td>
|
|
<td class="center">No; defaults to all (<q>**</q>)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>includesfile</td>
|
|
<td>name of a file. Each line of this file is taken to be an include pattern.</td>
|
|
<td class="center">No</td>
|
|
</tr>
|
|
<tr>
|
|
<td>excludes</td>
|
|
<td>comma- or space-separated list of patterns of files that must be excluded.</td>
|
|
<td class="center">No; defaults to default excludes or none if <var>defaultexcludes</var>
|
|
is <q>no</q></td>
|
|
</tr>
|
|
<tr>
|
|
<td>excludesfile</td>
|
|
<td>name of a file. Each line of this file is taken to be an exclude pattern.</td>
|
|
<td class="center">No</td>
|
|
</tr>
|
|
<tr>
|
|
<td>defaultexcludes</td>
|
|
<td>indicates whether default excludes should be used or not (<q>yes|no</q>).</td>
|
|
<td class="center">No; defaults to <q>yes</q></td>
|
|
</tr>
|
|
<tr>
|
|
<td>encoding</td>
|
|
<td>The encoding of the files.</td>
|
|
<td class="center">No; defaults to default JVM character encoding</td>
|
|
</tr>
|
|
<tr>
|
|
<td>outputencoding</td>
|
|
<td>The encoding to use when writing the files. <em>Since Ant 1.7</em></td>
|
|
<td class="center">No; defaults to <var>encoding</var> if set or default JVM character encoding
|
|
otherwise</td>
|
|
</tr>
|
|
<tr>
|
|
<td>preservelastmodified</td>
|
|
<td>Whether to preserve the last modified date of source files. <em>Since Ant 1.6.3</em></td>
|
|
<td class="center">No; default is <q>false</q></td>
|
|
</tr>
|
|
<tr>
|
|
<td>eol</td>
|
|
<td>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:
|
|
<ul>
|
|
<li><q>asis</q>: leave EOL characters alone</li>
|
|
<li><q>cr</q>: convert all EOLs to a single CR</li>
|
|
<li><q>lf</q>: convert all EOLs to a single LF</li>
|
|
<li><q>crlf</q>: convert all EOLs to the pair CRLF</li>
|
|
<li><q>mac</q>: convert all EOLs to a single CR</li>
|
|
<li><q>unix</q>: convert all EOLs to a single LF</li>
|
|
<li><q>dos</q>: convert all EOLs to the pair CRLF</li>
|
|
</ul>
|
|
<p>This is the preferred method for specifying EOL. The <var>cr</var> attribute (see below)
|
|
is now deprecated.</p>
|
|
<p><strong>Note</strong>: One special case is recognized. The three characters CR-CR-LF are
|
|
regarded as a single EOL. Unless this property is specified as <q>asis</q>, this sequence
|
|
will be converted into the specified EOL type.</p>
|
|
</td>
|
|
<td colspan="2">No; default is platform-specific: <q>lf</q> for Unix platforms (including Mac OS
|
|
X/macOS), <q>crlf</q> for DOS-based systems (including Windows), <q>cr</q> for Mac environments
|
|
other than OS X</td>
|
|
</tr>
|
|
<tr>
|
|
<td>cr</td>
|
|
<td><em><u>Deprecated</u></em>. Specifies how CR characters are to be handled at end-of-line
|
|
(EOL). Valid values for this property are:
|
|
<ul>
|
|
<li><q>asis</q>: leave EOL characters alone.</li>
|
|
<li><q>add</q>: add a CR before any single LF characters. The intent is to convert all EOLs
|
|
to the pair CRLF.</li>
|
|
<li><q>remove</q>: remove all CRs from the file. The intent is to convert all EOLs to a
|
|
single LF.</li>
|
|
</ul>
|
|
<p><strong>Note</strong>: One special case is recognized. The three characters CR-CR-LF are
|
|
regarded as a single EOL. Unless this property is specified as <q>asis</q>, this sequence
|
|
will be converted into the specified EOL type.</p>
|
|
</td>
|
|
<td colspan="2">No; default is platform-specific: <q>remove</q> for Unix platforms, <q>add</q>
|
|
for DOS based systems (including Windows)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>javafiles</td>
|
|
<td>Used only in association with the <var>tab</var> attribute (see below), this boolean
|
|
attribute indicates whether the fileset is a set of Java source files (<q>yes|no</q>). See
|
|
notes in section on <var>tab</var>.</td>
|
|
<td colspan="2">No; defaults to <q>no</q></td>
|
|
</tr>
|
|
<tr>
|
|
<td>tab</td>
|
|
<td>Specifies how tab characters are to be handled. Valid values for this property are:
|
|
<ul>
|
|
<li><q>add</q>: convert sequences of spaces which span a tab stop to tabs</li>
|
|
<li><q>asis</q>: leave tab and space characters alone</li>
|
|
<li><q>remove</q>: convert tabs to spaces</li>
|
|
</ul>
|
|
<p><strong>Note</strong>: When the attribute <var>javafiles</var> (see above) is <q>true</q>,
|
|
literal TAB characters occurring within Java string or character constants are never
|
|
modified. This functionality also requires the recognition of Java-style comments.</p>
|
|
<p><strong>Note</strong>: There is an incompatibility between this and the previous version in
|
|
the handling of white space at the end of lines. This version
|
|
does <em><strong>not</strong></em> remove trailing whitespace on lines.</p>
|
|
</td>
|
|
<td colspan="2">No; default is <q>asis</q></td>
|
|
</tr>
|
|
<tr>
|
|
<td>tablength</td>
|
|
<td>TAB character interval. Valid values are between <q>2</q> and <q>80</q> inclusive.</td>
|
|
<td colspan="2">No; default is <q>8</q></td>
|
|
</tr>
|
|
<tr>
|
|
<td>eof</td>
|
|
<td>Specifies how DOS end of file (control-Z) characters are to be handled. Valid values for
|
|
this property are:
|
|
<ul>
|
|
<li><q>add</q>: ensure that there is an EOF character at the end of the file</li>
|
|
<li><q>asis</q>: leave EOF characters alone</li>
|
|
<li><q>remove</q>: remove any EOF character found at the end</li>
|
|
</ul>
|
|
</td>
|
|
<td colspan="2">No; default is platform-specific: <q>remove</q> for Unix platforms, <q>asis</q>
|
|
for DOS based systems (including Windows)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>fixlast</td>
|
|
<td>Whether to add a missing EOL to the last line of a processed file.<br/>Ignored
|
|
if <var>eof</var> is <q>asis</q>.<br/><em>Since Ant 1.6.1</em></td>
|
|
<td colspan="2">No; default is <q>true</q></td>
|
|
</tr>
|
|
</table>
|
|
<h3>Examples</h3>
|
|
<p>Replace EOLs with LF characters and remove EOF characters from the shell scripts. Tabs and spaces
|
|
are left as is.</p>
|
|
<pre>
|
|
<fixcrlf srcdir="${src}" includes="**/*.sh"
|
|
eol="lf" eof="remove"/></pre>
|
|
|
|
<p>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.</p>
|
|
<pre>
|
|
<fixcrlf srcdir="${src}"
|
|
includes="**/*.bat" eol="crlf"/></pre>
|
|
|
|
<p>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.</p>
|
|
<pre>
|
|
<fixcrlf srcdir="${src}"
|
|
includes="**/Makefile" tab="add"/></pre>
|
|
|
|
<p>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.
|
|
</p>
|
|
<pre>
|
|
<fixcrlf srcdir="${src}" includes="**/*.java"
|
|
tab="remove" tablength="3"
|
|
eol="lf" javafiles="yes"/></pre>
|
|
|
|
<p>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.</p>
|
|
<pre>
|
|
<fixcrlf srcdir="${src}"
|
|
includes="**/README*" tab="remove"/></pre>
|
|
|
|
</body>
|
|
</html>
|