改行コードやタブ(スペース・ブランク)を変換するコアタスク。
(org.apache.tools.ant.taskdefs.FixCRLF extends
MatchingTask)
Ant1.7以降ではファイルの文字コード(エンコード)も変換できる。
| 属性 | 説明 | バージョン | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| srcdir | 変換するディレクトリー。 | |||||||||||||
| file | 変換するファイル。1ファイルだけ変換したい場合に使用できる。(srcdirかfileが必須) | Ant1.7以降 | ||||||||||||
| destdir | 変換したファイルを別の場所に書き出したい場合に指定する。 destdirの指定が無い場合、変換元ファイルに上書きされる。 |
|||||||||||||
| eol | どういう改行コードに変換するかの指定。(eol=end of line)
|
|||||||||||||
| eof | DOSのテキストファイルのファイル終端文字(EOF(1a))を変換するかどうかの指定。(eof=end of file)
|
|||||||||||||
| fixlast | trueの場合、ファイルの最終行に改行コードが無いと改行コードを付加する。 デフォルトはtrue。 |
Ant1.6.1以降 | ||||||||||||
| tab tablength |
タブ文字(TAB(09))とスペース(SPC(20))を変換するかどうかの指定。 tablengthは2〜80の範囲で指定する。デフォルトは8。
|
|||||||||||||
| encoding | 入力ファイルの文字コード。例:encoding="UTF-8"デフォルトはJavaVMのデフォルトの文字コード(システムプロパティー file.encoding)。 |
|||||||||||||
| outputencoding | 出力ファイルの文字コード。 デフォルトはencodingと同じ。 |
Ant1.7以降 | ||||||||||||
| preservelastmodified | trueの場合、変換先ファイルの日付を更新しない。 デフォルトはfalse。 |
Ant1.6.3以降 | ||||||||||||
| タグ(使用例) | 説明 |
|---|---|
| <include name="**/*.sh"/> | 変換するファイルを指定する。 |
| <exclude name="**/*.txt"/> | 変換しないファイルを指定する。 |
<fixcrlf srcdir="${dir}" eol="lf" eof="remove" />
<fixcrlf file="${file}" eol="lf" eof="remove" />
<fixcrlf srcdir="${srcdir}" destdir="${todir}" eol="lf" eof="remove" />
<fixcrlf srcdir="${srcdir}" destdir="${todir}" eol="lf" eof="remove">
<include name="**/*.sh" />
<include name="**/*.conf" />
</fixcrlf>
<fixcrlf srcdir="${dir}" eol="lf" eof="remove" encoding="UTF-8" />
※Windows上のAntでUTF-8のファイルをencoding指定なしで読み込むと、ばっちり文字化けする。
(encoding指定をしないと、Windows上のJavaVMのテキストファイル読み書きのデフォルトはシフトJISになる為、UTF-8のファイルをシフトJISとして読み込んで変になる)
<fixcrlf srcdir="${srcdir}" destdir="${todir}" encoding="MS932" outputencoding="EUC_JP">
<include name="**/*.txt" />
</fixcrlf>