2

Eclipseで実行するAntスクリプトがあり、次のようにコンソールに出力されます。

buildStuff:
     [echo] Building <project>
doStuff:
syncStuff:
     [sync] Copying 1 file to <directory>
doOtherStuff:
callWebservice:
     [http] HTTP Request
     [http] ********************
     [http] URL:        <url>
     [http] Method:     GET
     [http] HTTP Response
     [http] ********************
     [http] Status:     200
     [echo] [callWebservice] Success


この出力の一部/すべてをantスクリプト内のプロパティに入れたいと思います。

execタスクを使用して、「outputproperty」属性を指定できますが、これはantcallタスクでは機能しませ

では、ant内からコンソール出力にアクセスまたはリダイレクトするにはどうすればよいですか?

4

1 に答える 1

4

OK、うまくいくものを見つけました...

記録タスクは、出力をリッスンしてファイルに送信できます。

どうやらそれは相対パスを許可していません-ファイルはビルドスクリプトと同じディレクトリに作成されます(basedirの値に関係なく)。

次に、loadfileタスクを使用してこれをプロパティに入れ、その後削除してクリーンアップすることができます。

レコーダの出力をプロパティに直接送信する方がよいでしょうが、何らかの理由でこれはオプションではないようです。

要約すると、これは機能しました:

<record name="${CurProject}.status" />

<echo>Building ${CurProject}</echo>
etc...

<record name="${CurProject}.status" action="stop" />
<loadfile srcFile="build/${CurProject}.status" property="Status" />
<delete file="build/${CurProject}.status" />
于 2012-06-01T14:24:00.243 に答える