Печать Ant целевого времени выполнения
Я хочу напечатать время выполнения для каждой отдельной цели Ant и ее зависимых целей.
<target name="target1" depends="target2, target3">
....
</target>
Когда запуск должен показывать следующий вывод
Target 2 - x seconds
Target 3 - y seconds
Target 1 - z seconds
Любые предложения о том, как достичь этого?
Ответы
Ответ 1
Так как Ant 1.8.0, вы можете использовать profilelogger, чтобы сделать это.
ant -logger org.apache.tools.ant.listener.ProfileLogger target
Производит вывод, например
Цель aTarget: начало Чт 22 января 09:01:00 CET 2009
echo: начало Чт янв 22 09:01:00 CET 2009 [эхо] эхо-задача
echo: finishedThu 22 января 09:01:00 CET 2009 (250 мс)
zip: начало Чт 22 января 09:01:00 CET 2009 [zip] Создание zip:...\my.zip
zip: finishedThu 22 января 09:01:01 CET 2009 (1313ms)
Цель aTarget: finishedThu Jan 22 09:01:01 CET 2009 (1719 мс)
Ответ 2
Используйте один из слушателей из коллекций задач Ant:
Или проверьте их источники и сканируйте свой собственный слушатель.
Ответ 3
Если вы используете ant -contrib, тогда есть задача секундомера. Поместите ее вверху и внизу каждой цели, и она сообщит об истекшем и общем времени.
http://ant-contrib.sourceforge.net/tasks/tasks/index.html
Ответ 4
Существует задача TStamp
, которую вы можете использовать для разметки ваших других задач.
Смотрите здесь: http://ant.apache.org/manual/Tasks/tstamp.html
Существует некоторое расширение/аддон, который сделает все это для вас, не делая этого. Будет царапать для него, если вначале никто не сталкивается с этим.
Ответ 5
Пользовательские регистраторы не сложно записать.