1つ以上のリソースを連結して、単一のファイルまたはコンソールに出力します。リソースリストが空で、ignoreemptyがtrue
でない限り、出力先ファイルが存在しない場合は作成されます。
Apache Ant 1.7.1以降、このタスクは、厳密に1つのリソースを返すリソースコレクションとして使用できます。
リソースコレクションは、連結するリソースを選択するために使用されます。concatに単一のリソースを指定するための単一の属性はありません。
| 属性 | 説明 | 必須 |
|---|---|---|
| destfile | 連結されたストリームの出力先ファイル。指定されていない場合は、代わりにコンソールが使用されます。 | いいえ |
| append | destfileで指定されたファイルに追記するかどうかを指定します。 | いいえ; デフォルトはno |
| force | destfileで指定されたファイルが、すべてのソースファイルよりも新しい場合でも書き込むかどうかを指定します。非推奨、代わりにoverwrite属性を使用してください。 | いいえ; デフォルトはyes |
| overwrite | destfileで指定されたファイルが、すべてのソースファイルよりも新しい場合でも書き込むかどうかを指定します。Ant 1.8.2以降。 | いいえ; デフォルトはyes |
| forceReadOnly | 読み取り専用の出力先ファイルを上書きします。Ant 1.8.2以降 | いいえ; デフォルトはfalse |
| encoding | 入力ファイルのエンコーディングを指定します。可能な値の一覧については、サポートされているエンコーディングを参照してください。 | いいえ; デフォルトはデフォルトのJVM文字エンコーディング |
| outputencoding | 出力ファイルの書き込みに使用するエンコーディング。Ant 1.6以降。 | いいえ; 設定されている場合はencoding、それ以外の場合はデフォルトのJVM文字エンコーディング |
| fixlastline | 連結される各ファイルが改行で終了しているかどうかを確認するかどうかを指定します。この属性がyesの場合、ファイルが改行で終了していなかった場合、改行がストリームに追加されます。Ant 1.6以降。この属性は、埋め込みテキストには適用されません。 |
いいえ; デフォルトはno |
| eol | fixlastline属性で使用する改行文字を指定します。Ant 1.6以降。このプロパティの有効な値は次のとおりです。
|
いいえ; デフォルトはプラットフォームに依存: Unixの場合はlf、DOSファミリー(Windowsを含む)の場合は crlf、Mac OS 9以前の場合は cr |
| binary | Ant 1.6.2以降この属性がtrueに設定されている場合、タスクはファイルをバイト単位で連結します。この属性が falseの場合、concatは通常、文字エンコーディングの問題によりバイナリファイルでは機能しません。このオプションが trueに設定されている場合、destfile属性を設定する必要があり、タスクはネストされたテキストを使用できません。また、属性encoding、outputencoding、filelastlineは使用できません。 |
いいえ; デフォルトはfalse |
| filterbeforeconcat | この属性がtrueに設定されている場合、タスクは fixlastlineを適用した後、各入力にフィルターチェーンを適用します。この属性がfalseの場合、concatは連結済みの入力に対してのみフィルターチェーンを1回適用します。 headerとfooterのフィルタリングは、この設定の影響を受けません。Ant 1.10.10以降 |
いいえ; デフォルトはfalse |
| ignoreempty | Ant 1.8.0以降ソースリソースリストが空の場合に、destfileで指定されたファイルを作成するかどうかを指定します。 | いいえ; デフォルトはtrue |
| resourcename | Ant 1.8.3以降このタスクがリソースとして公開されている場合に報告される名前を指定します。 | いいえ |
Ant 1.7以降.
さまざまなリソースコレクションタイプは、連結するリソースを指定できます。
Ant 1.6以降.
タスクはネストされたFilterChainをサポートします。
Ant 1.6以降.
連結されたストリームにテキストを先頭または末尾に追加するために使用されます。
テキストはインラインまたはファイル内に記述できます。
| 属性 | 説明 | 必須 |
|---|---|---|
| filtering | このサブ要素によって提供されるテキストをフィルタリングするかどうか。 | いいえ; デフォルトはyes |
| file | 連結されたテキストの先頭または末尾に配置するファイル。 | いいえ |
| trim | 値をトリムするかどうか。 | いいえ; デフォルトはno |
| trimleading | 各行の先頭の空白をトリムするかどうか。 | いいえ; デフォルトはno |
文字列をファイルに連結する
<concat destfile="README">Hello, World!</concat>
一連のファイルをコンソールに連結する
<concat> <fileset dir="messages" includes="*important*"/> </concat>
単一のファイルを連結し、出力先ファイルが存在する場合は追記する
<concat destfile="NOTES" append="true"> <filelist dir="notes" files="note.txt"/> </concat>
一連のファイルを連結し、すべてのソースファイルよりも古い場合にのみ出力先ファイルを更新する
<concat destfile="${docbook.dir}/all-sections.xml"
force="no">
<filelist dir="${docbook.dir}/sections"
files="introduction.xml,overview.xml"/>
<fileset dir="${docbook.dir}"
includes="sections/*.xml"
excludes="introduction.xml,overview.xml"/>
</concat>
一連のファイルを連結し、Antプロパティを展開する。
<concat destfile="${build.dir}/subs">
<path>
<fileset dir="${src.dir}" includes="*.xml"/>
<pathelement location="build.xml"/>
</path>
<filterchain>
<expandproperties/>
</filterchain>
</concat>
build.xmlからprojectを含む行をフィルタリングし、ヘッダーを先頭に追加してreport.outputに出力する。
<concat destfile="${build.dir}/report.output">
<header filtering="no" trimleading="yes">
Lines that contain project
==========================
</header>
<path path="build.xml"/>
<filterchain>
<linecontains>
<contains value="project"/>
</linecontains>
</filterchain>
</concat>
多数のバイナリファイルを連結する。
<concat destfile="${build.dir}/dist.bin" binary="yes">
<fileset file="${src.dir}/scripts/dist.sh"/>
<fileset file="${build.dir}/dist.tar.bz2"/>
</concat>