applyタスク

<apply>

特定のファイルセットに対して外部コマンドを実行します。 選択したファイルは引数としてコマンドに渡されます。

ExecOn タスクを使用しても apply と同じ効果が得られますが、ExecOn は過去の互換性のためだけに用意されており推奨されません。

属性

executable
[必須] 実行対象のコマンドです。引数を指定する場合は <arg> を使用してください。
dest
〓対象のファイルが置いてあると想定されるディレクトリ。〓
デフォルト: true
spawn   (Ant 1.6 以降)
実行対象のコマンドを非同期で起動するかどうかを設定します。非同期で起動した場合、標準入出力は共有されません。
デフォルト: false
dir
実行するコマンドのディレクトリ。
デフォルト: 現在のカレントディレクトリ
relative
コマンドの引数にするファイル名を相対パスで渡すかどうかを設定します。
デフォルト: false
forwardslash
Windows のようなシステムのファイルセパレータが / でない環境で、パスを / で区切って渡すかどうかを設定します (ファイルセパレータが / の環境では無視されます)。
デフォルト: false
os
このコマンドを実行できる OS を列挙します。
デフォルト: 全てのOS
output
実行コマンドの出力をリダイレクトするファイル名。標準エラーの出力先が設定されていない場合には、標準エラーの出力結果もこのファイルに出力されます。
デフォルト: なし
error   (Ant 1.6 以降)
実行コマンドの標準エラー出力をリダイレクトするファイル名。
デフォルト: なし
logError   (Ant 1.6 以降)
標準エラーへの出力を Ant のログで表示するかどうかを設定します。
デフォルト: なし
append
ファイルが既に存在した場合に既存ファイルに追加するか上書きするかを設定します。
デフォルト: false
outputproperty
コマンドの出力を保存するプロパティの名前。
デフォルト: なし
errorproperty   (Ant 1.6 以降)
コマンドの標準エラー出力を保存するプロパティの名前。
デフォルト: なし
input   (Ant 1.6 以降)
実行するコマンドに標準入力として渡すファイル名です。 inputstring 属性とどちらか片方しか指定できません。
デフォルト: なし
inputstring   (Ant 1.6 以降)
実行するコマンドに標準入力として渡す文字列です。 input 属性とどちらか片方しか指定できません。
デフォルト: なし
resultproperty
コマンドのリターンコードが格納されるプロパティ名です。
デフォルト: なし
timeout
指定された時間 (ミリ秒) 以内にコマンドが終了しなければ停止します。
デフォルト: なし
failonerror
コマンドがリターンコード 0 以外で終了した場合にビルドプロセスを終了します。
デフォルト: false
failifexecutionfails
コマンドが起動できない場合にビルドを停止します。
デフォルト: true
skipemptyfilesets
ソースファイルが一つもなかったり全てターゲットファイルのほうが新しかった場合にコマンドを起動するかどうかを設定します。
デフォルト: false
parallel
全てのファイルを引数に指定して一度だけコマンドを実行するかを設定します。 false の場合、ファイルごとにコマンドが実行されます。
デフォルト: false
type
file, dir または both のいずれか。 file または dir を指定した場合、ファイルセットの中からそれらのみが渡されます。
デフォルト: file
newenvironment
新しい環境変数が指定された場合に古い環境を propagate しません。
デフォルト: file
vmlauncher
可能であれば Java VM 実行の機構を使ってコマンドを実行します。
デフォルト: true
resolveExecutable   (Ant 1.6 以降)
true の場合、プロジェクトの基準ディレクトリをまず探します。 Unix システムでユーザのパスコマンドの実行を許可したい場合 false を設定します。
デフォルト: false
maxparallel   (Ant 1.6 以降)
一度に渡すソースファイルの上限。 0 以下の値を指定すると無制限になります。
デフォルト: 無制限
addsourcefile   (Ant 1.6 以降)
ソースファイルの名前を自動的にコマンドに追加するかどうかを設定します。
デフォルト: true
verbose   (Ant 1.6 以降)
実行終了後にサマリーを出力するかどうかを設定します。
デフォルト: false
ignoremissing   (Ant 1.6.2 以降)
filelist で指定されたファイルが存在しなかった場合に無視するかどうかを設定します。
デフォルト: true
force   (Ant 1.6.3 以降)
ターゲットファイルに対するタイムスタンプ比較を無視するかどうかを設定します。
デフォルト: false

下位の要素

<fileset>
外部コマンドに渡すファイルをパターンで定義します。
<filelist>   (Ant 1.6 以降)
外部コマンドに渡すファイルをリストで定義します。
<dirset>   (Ant 1.6 以降)
このタスクに渡すディレクトリのセットを定義します。
<mapper>
単一の <mapper> は、依存性チェックのための dest 属性からの相対パスのターゲットファイルを記述します。 もし dest 属性が指定されているなら、マッパーによって返される相対パス名を解決するための基準ディレクトリとして使用されます。最低 1 つ以上の <fileset> または <filelist> が必要です。
<arg>
コマンドに渡す引数を設定します。
<srcfile>
コマンド引数のどこにソースファイルを埋め込むかを指定するために使用します。 <arg> との位置関係で指定します。 デフォルトでは末尾に単純に連結されます。
<targetfile>
<srcfile> と同様にターゲットファイル名を引数のどこに埋め込むかを指定します。
<env>
環境変数の値をコマンド引数に埋め込む場合に使用します。
<redirector>   (Ant 1.6.2 以降)
I/O リダイレクタを指定します。

サンプル

*.o ファイルよりも *.c ファイルの方が新しい場合、全ての *.c ファイルに対して cc -c -o TARGETFILE SOURCEFILE を実行します。

<apply executable="cc" dest="src/C" parallel="false">
  <arg value="-c"/>
  <arg value="-o"/>
  <targetfile/>
  <srcfile/>
  <fileset dir="src/C" includes="*.c"/>
  <mapper type="glob" from="*.c" to="*.o"/>
</apply>