与えられたプロパティはantで不変ですが、ここで少しファンキーなことをする必要があります。そうしないと、何度も同じタイムスタンプを記録することになります。
antcallを使用すると、新鮮なセッションが得られます。これは、少し不器用ですが、プロパティを再利用できることを意味します。あなたはAntの1.8を使用している場合
<macrodef name="timestamp.echo">
<attribute name="message"/>
<sequential>
<antcall target="_timestamp.echo">
<param name="message" value="@{message}" />
</antcall>
</sequential>
</macrodef>
<target name="_timestamp.echo">
<tstamp>
<format property="current.time" pattern="dd/MM/yyyy hh:mm:ss"/>
</tstamp>
<echo message="${current.time} ${message}"/>
</target>
あなたは
<macrodef name="timestamp.echo">
<attribute name="message"/>
<sequential>
<local name="current.time" />
<tstamp>
<format property="current.time" pattern="dd/MM/yyyy hh:mm:ss"/>
</tstamp>
<echo message="${current.time} @{message}" />
</sequential>
</macrodef>
そして、ここで非常にクリーンであるローカル使用することができますが、この
を試してみてください
<target name="testTsEcho" depends="init" description="blah">
<timestamp.echo message="test" />
<sleep seconds="10" />
<timestamp.echo message="test2" />
</target>
これは、タイムスタンプをプロパティに格納するため、すべてのメッセージが同じ時刻に共有されます。いくつかのケースでは良いが、例えば役に立たない。ビルドのどの部分が時間がかかりすぎるかを確認します。OPが "各メッセージのタイムスタンプ"について言及しているので、私は実際にはこれがインテンデットの質問に対する正しい答えだとは思わない。 –
私はそのラスマスについてはあまりよく分かりません。 set timestampマクロを繰り返し呼び出すと、その時間のダンプの直後に、適切にダンプする必要があります。 – corsiKa