Java Mailing List Archive

Apache Ant Archive

» Ant Users List
» Ant Developers List
TImestamping in ANT

TImestamping in ANT

2007-07-19       - By Wascally Wabbit
Reply:     1     2     3     4     5     6     7     8     9     10     >>  


The assign task is already defined for you as part of the
AntXtras antlib. The easiest thing to do is to load the
entire antlib and experiment. *See the Quick Start and
User Guide for additional information*.

Example (assuming at least Ant 1.6.5, and AntXtras bin download
to some local directory '${antextensions.d}/antx'):


  <path id="antx.classpath">
    <fileset dir="${antextensions.d}/antx">
      <include name="lib/*.jar"/>

  <taskdef resource="com/idaremedia/antx/install/antlib.xml"

[In any target or macrodef]
   <assign var="duration" value="now"/>
   <assign var="duration" value="-now" .../>

-The Wabbit

dkhanna01 wrote:
> Hi
> I downloaded the antxtras unility from the site but the two jar files in
> that does not contain class file for assign task. SO when I try to run my
> script after adding assing task it gave an error that " Problem: failed to
> create task or type assign"
> THanks
> Wascally Wabbit wrote:
>> dkhanna01 wrote:
>>> I need to find out the time taken by each of the process/target in our
>>> build.xml file. Now for doing this I have use ANT tstamp task to
>>> calculate
>>> the start time and end time of the process. Now my question is how do I
>>> find
>>> out the total time taken by the process, I mean is there any way to
>>> calculate difference between "End time" and "Start time"
>>> Thanks
>> If you can use thirdparty libraries you can use the AntXtra's
>> <assign> task like so:
>> <target name="compile" depends="-init" description="Compile stuff">
>>    <assign var="time" value="now"/>
>>    ...[all your compiling tasks here]
>>    <assign var="time" value="-now" transform="duration"
>>       copyproperty="compile.duration"/>
>>    <echo level="info" message="compile took ${compile.duration}"/>
>> </target>
>> If you want to do this for lots of your targets you can leverage
>> macrodefs to do this for every target using something like:
>> <macrodef name="timedtarget">
>>    <attribute name="name">
>>    <attribute name="functions"/>
>>    <sequential>
>>      <assign var="time_" value="now"/>
>>      <callinline targets="@{functions}"/> <!--do NOT switch projects-->
>>      <assign var="time_" value="-now" transform="duration"
>>         copyproperty="@{name}.duration"/>
>>      <echo level="info" message="@{name} took ${@{name}.duration}"/>
>>    </sequential>
>> </macrodef>
>> Then use it like so:
>> <target name="-compile">
>>     ...[all your compiling work here in private target]
>> </target>
>> <target name="compile" depends="-init" description="Compile stuff">
>>    <timetarget name="compile" functions="-compile"/>
>> </target>
>> AntXtras is at:
>> Hope that helps.
>> -The Wabbit
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@(protected)
>> For additional commands, e-mail: user-help@(protected)

To unsubscribe, e-mail: user-unsubscribe@(protected)
For additional commands, e-mail: user-help@(protected)

©2008 - Jax Systems, LLC, U.S.A.