FixCRLF

説明

テキストファイルをローカルの規則に合わせて調整します。

調整対象のファイルセットは、includesincludesfileexcludesexcludesfiledefaultexcludes 属性で絞り込むことができます。includes または includesfile 属性で指定されたパターンは、含めるファイルを指定します。exclude または excludesfile 属性で指定されたパターンは、除外するファイルを指定します。さらに、defaultexcludes 属性でデフォルトの除外を指定できます。ファイルの包含/除外パターンとその使用方法の詳細については、ディレクトリベースのタスクのセクションを参照してください。

このタスクは暗黙的な FileSet を形成し、<fileset> のほとんどの属性(dirsrcdir になります)と、ネストされた <include><exclude><patternset> 要素をサポートします。

出力ファイルは、新しいファイルの場合、または既存のファイルと異なる場合にのみ書き込まれます。これにより、このタスクによって再生成された変更されていないファイルに基づく不要な再ビルドが防止されます。ファイルが変更されたかどうかを評価するために、このタスクは 一時ディレクトリ内にソースファイルの前処理バージョンを作成します。

Apache Ant 1.7以降、このタスクは フィルターチェーンで使用できます。

パラメータ

属性 説明 必須
タスクとして フィルターとして
srcDir 修正するファイルがある場所。 これらのいずれか N/A
file 修正する単一ファイルの名前。Ant 1.7以降
destDir 修正されたファイルを配置する場所。 いいえ; デフォルトは srcDir(元のファイルを置き換える)
includes 含める必要があるファイルのパターンのカンマまたはスペース区切りのリスト。 いいえ; デフォルトはすべて(**
includesfile ファイルの名前。このファイルの各行は、includeパターンと見なされます。 いいえ
excludes 除外する必要があるファイルのパターンのカンマまたはスペース区切りのリスト。 いいえ; デフォルトはデフォルトの除外、defaultexcludesno の場合はなし
excludesfile ファイルの名前。このファイルの各行は、excludeパターンと見なされます。 いいえ
defaultexcludes デフォルトの除外を使用するかどうかを示します(yes|no)。 いいえ; デフォルトは yes
encoding ファイルのエンコーディング。 いいえ; デフォルトはデフォルトのJVM文字エンコーディング
outputencoding ファイルの書き込み時に使用するエンコーディング。Ant 1.7以降 いいえ; 設定されている場合は encoding、そうでない場合はデフォルトの JVM 文字エンコーディング
preservelastmodified ソースファイルの最終更新日を保持するかどうか。 Ant 1.6.3以降 いいえ; デフォルトは false
eol 行末(EOL)文字の処理方法を指定します。EOL文字はCR、LF、およびペアCRLFです。このプロパティの有効な値は次のとおりです。
  • asis: EOL文字をそのままにします
  • cr: すべてのEOLを単一のCRに変換します
  • lf: すべてのEOLを単一のLFに変換します
  • crlf: すべてのEOLをペアCRLFに変換します
  • mac: すべてのEOLを単一のCRに変換します
  • unix: すべてのEOLを単一のLFに変換します
  • dos: すべてのEOLをペアCRLFに変換します

これは、EOLを指定するための推奨される方法です。cr 属性(下記参照)は非推奨になりました。

: 特殊なケースが1つ認識されています。3文字CR-CR-LFは単一のEOLと見なされます。このプロパティがasisとして指定されていない限り、このシーケンスは指定されたEOLタイプに変換されます。

いいえ; デフォルトはプラットフォーム固有です: Unixプラットフォーム(Mac OS X / macOSを含む)の場合はlf、DOSベースのシステム(Windowsを含む)の場合はcrlf、OS X以外のMac環境の場合はcr
cr 非推奨。行末(EOL)でCR文字をどのように処理するかを指定します。このプロパティの有効な値は次のとおりです。
  • asis: EOL文字をそのままにします。
  • add: 単一のLF文字の前にCRを追加します。すべてのEOLをペアCRLFに変換することが目的です。
  • remove: ファイルからすべてのCRを削除します。すべてのEOLを単一のLFに変換することが目的です。

: 特殊なケースが1つ認識されています。3文字CR-CR-LFは単一のEOLと見なされます。このプロパティがasisとして指定されていない限り、このシーケンスは指定されたEOLタイプに変換されます。

いいえ; デフォルトはプラットフォーム固有です: Unixプラットフォームの場合はremove、DOSベースのシステム(Windowsを含む)の場合はadd
javafiles tab 属性(下記参照)と組み合わせてのみ使用されるこのブール属性は、ファイルセットがJavaソースファイルのセットであるかどうかを示します(yes|no)。tab のセクションの注記を参照してください。 いいえ; デフォルトはno
tab タブ文字の処理方法を指定します。このプロパティの有効な値は次のとおりです。
  • add: タブストップにまたがるスペースのシーケンスをタブに変換します
  • asis: タブとスペースの文字はそのままにします
  • remove: タブをスペースに変換します

: 属性 javafiles(上記参照)が true の場合、Java文字列または文字定数内に出現するリテラルTAB文字は変更されません。この機能には、Javaスタイルのコメントの認識も必要です。

: 行末の空白の処理に関して、これと以前のバージョンとの間に非互換性があります。このバージョンは行末の空白を削除*しません*。

いいえ; デフォルトは asis
tablength TAB文字の間隔。有効な値は2から80までです。 いいえ; デフォルトは 8
eof DOSのファイルの終わり(コントロールZ)文字の処理方法を指定します。このプロパティの有効な値は次のとおりです。
  • add: ファイルの最後にEOF文字があることを確認します
  • asis: EOF文字をそのままにします
  • remove: 最後に見つかったEOF文字を削除します
いいえ; デフォルトはプラットフォーム固有です: Unixプラットフォームの場合はremove、DOSベースのシステム(Windowsを含む)の場合はasis
fixlast 処理されたファイルの最後の行に不足しているEOLを追加するかどうか。
eofasis の場合は無視されます.
Ant 1.6.1以降
いいえ; デフォルトはtrue

シェルスクリプトからEOLをLF文字に置き換え、EOF文字を削除します。タブとスペースはそのままです。

<fixcrlf srcdir="${src}" includes="**/*.sh"
         eol="lf" eof="remove"/>

バッチファイル内のすべてのEOLをcr-lfペアに置き換えます。タブとスペースはそのままです。EOF文字は、DOSシステムで実行される場合はそのまま残され、Unixシステムで実行される場合は削除されます。

<fixcrlf srcdir="${src}"
         includes="**/*.bat" eol="crlf"/>

ローカルOSの規則に従ってEOLを設定し、スペースとタブのシーケンスを、行内のスペースを維持する最小限のスペースとタブのセットに変換します。タブは8文字間隔で設定されます。EOF文字は、DOSシステムで実行される場合はそのまま残され、Unixシステムで実行される場合は削除されます。多くのバージョンのmakeでは、コマンドの前にタブが必要です。

<fixcrlf srcdir="${src}"
         includes="**/Makefile" tab="add"/>

含まれているJavaソースファイル内のすべてのEOLを単一のLFに変換します。文字列または文字定数に含まれるものを除くすべてのタブ文字を、タブ幅を3と仮定してスペースに置き換えます。Unixシステムで実行すると、ファイルの最後にあるCTRL-Z EOF文字が削除されます。DOS / Windowsでは、そのようなEOF文字はそのまま残されます。

<fixcrlf srcdir="${src}" includes="**/*.java"
         tab="remove" tablength="3"
         eol="lf" javafiles="yes"/>

ローカルOSの規則に従ってEOLを設定し、タブ幅を8と仮定してすべてのタブをスペースに変換します。EOF文字は、DOSシステムで実行される場合はそのまま残され、Unixシステムで実行される場合は削除されます。ユーザーがREADMEを参照するためにどのエディターを使用するかはわかりません。

<fixcrlf srcdir="${src}"
         includes="**/README*" tab="remove"/>