Concat

説明

1つ以上のリソースを連結して、単一のファイルまたはコンソールに出力します。リソースリストが空で、ignoreemptytrueでない限り、出力先ファイルが存在しない場合は作成されます。

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以降。このプロパティの有効な値は次のとおりです。
  • cr: 単一のCR
  • lf: 単一のLF
  • crlf: CRLFのペア
  • mac: 単一のCR
  • unix: 単一のLF
  • dos: CRLFのペア
いいえ; デフォルトはプラットフォームに依存: Unixの場合はlf、DOSファミリー(Windowsを含む)の場合はcrlf、Mac OS 9以前の場合はcr
binary Ant 1.6.2以降この属性がtrueに設定されている場合、タスクはファイルをバイト単位で連結します。この属性がfalseの場合、concatは通常、文字エンコーディングの問題によりバイナリファイルでは機能しません。このオプションがtrueに設定されている場合、destfile属性を設定する必要があり、タスクはネストされたテキストを使用できません。また、属性encodingoutputencodingfilelastlineは使用できません。 いいえ; デフォルトはfalse
filterbeforeconcat この属性がtrueに設定されている場合、タスクはfixlastlineを適用した後、各入力にフィルターチェーンを適用します。この属性がfalseの場合、concatは連結済みの入力に対してのみフィルターチェーンを1回適用します。headerfooterのフィルタリングは、この設定の影響を受けません。Ant 1.10.10以降 いいえ; デフォルトはfalse
ignoreempty Ant 1.8.0以降ソースリソースリストが空の場合に、destfileで指定されたファイルを作成するかどうかを指定します。 いいえ; デフォルトはtrue
resourcename Ant 1.8.3以降このタスクがリソースとして公開されている場合に報告される名前を指定します。 いいえ

ネストされた要素として指定されたパラメータ

リソースコレクション

Ant 1.7以降.

さまざまなリソースコレクションタイプは、連結するリソースを指定できます。

filterchain

Ant 1.6以降.

タスクはネストされたFilterChainをサポートします。

header, footer

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>