I want to print the execution time taken for each individual Ant target and its dependent targets.
<target name="target1" depends="target2, target3"> .... </target>
When run should show following output
Target 2 - x seconds Target 3 - y seconds Target 1 - z seconds
Any suggestions on how to achieve this?
Since Ant 1.8.0 you can use a profilelogger to do this.
ant -logger org.apache.tools.ant.listener.ProfileLogger target
Produces output like
Target aTarget: started Thu Jan 22 09:01:00 CET 2009
echo: started Thu Jan 22 09:01:00 CET 2009 [echo] echo-task
echo: finishedThu Jan 22 09:01:00 CET 2009 (250ms)
zip: started Thu Jan 22 09:01:00 CET 2009 [zip] Building zip: ...\my.zip
zip: finishedThu Jan 22 09:01:01 CET 2009 (1313ms)
Target aTarget: finishedThu Jan 22 09:01:01 CET 2009 (1719ms)
Use one of the listeners from Ant add-on task collections:
-listener net.sf.antcontrib.perf.AntPerformanceListener
Or check their sources, and roll your own listener.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With