ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fox, Cheri" <cheri....@thomson.com>
Subject RE: How to echo date-time to log file? - related question
Date Thu, 16 Sep 2004 12:11:23 GMT
In a related question:  I am trying to echo a version parameter to a file.  
<target name="echo.version">
	<echo file="${VERSION.FILE}" append="false">
	${version}
	</echo>
</target>

The file is put in a local directory using a vssget command.  I am getting
an error message:

P:\DeploymentTools\ant\spain_build.xml:73: Following error occured while
executing this line
P:\DeploymentTools\ant\spain_build.xml:156: java.io.FileNotFoundException:
P:\DeploymentTools\SpainWar\WebContent\version.jsp (Access is denied)

I am guessing this occurs because the file is not checked out.  Is there
another way to update this file or is doing a checkout for this file my only
option?

Cheri
-----Original Message-----
From: Peter Reilly [mailto:peterreilly@apache.org]
Sent: Tuesday, September 14, 2004 10:03 AM
To: Ant Users List
Subject: Re: How to echo date-time to log file?

Using macrodef instead of antcall will not work here due to the
immutablity of properties.

If one assumes that all the messages are different one could write a macro
like:

<macrodef name="timestamp">
   <attribute name="file"/>
   <attribute name="message"/>
   <sequential>
     <tstamp>
       <format property="logtime-@{message}" pattern="yyyy.MM.dd :
HH:mm:ss z"/>
     </tstamp>
     <echo file="@{logfile}" message="${logtime-@{message}} ::
@{message}" append="yes"/>
   </sequential>
</macrodef>

but it would be more clear and correct to use a local property:
(see http://issues.apache.org/bugzilla/show_bug.cgi?id=23942)

<macrodef name="timestamp">
   <attribute name="file"/>
   <attribute name="message"/>
   <sequential>
     <local name="logtime"/>
     <tstamp>
       <format property="logtime" pattern="yyyy.MM.dd : HH:mm:ss z"/>
     </tstamp>
     <echo file="@{logfile}" message="${logtime} :: @{message}"
append="yes"/>
   </sequential>
</macrodef>

Peter

Vadim Kazakov wrote:

>You could use the new macrodef task to create a macro instead of using
>antcall
>
>-----Original Message-----
>From: Daniels, Doug [mailto:Doug.Daniels@gdc4s.com]
>Sent: September 14, 2004 8:24 AM
>To: Ant Users List
>Subject: RE: How to echo date-time to log file?
>
>Here's an idea:
>
>You create a target in your build file called TimeStamp. Then to use
>this task you make <antcall..>'s to it and pass in the LogFile, and the
>Message properties to it. This allows you to have a generic logging
>timestamp task that can log messages to files with a timestamp.
>
>Maybe someone has an idea of extending this, using macrodef, or
>whatever, I haven't really looked at that part of ant yet. Here is an
>example build file to give you an idea of how it can be used:
>
><project default="buildPartX">
>
>
>       <target name="timestamp">
>
>
>               <tstamp>
>              
>                       <format property="logtime" pattern="yyyy.MM.dd
>':' HH:mm:ss z" />
>                      
>               </tstamp>
>
>               <echo file="${LogFile}" message="${logtime} ::
>${Message}" append="true" />
>
>       </target>
>
>
>       <target name="buildPartX">
>
>               <!-- Define various log files to log to -->
>               <property name="BuildLog" value="build.log"/>
>               <property name="OtherLog" value="other.log"/>
>
>               <!--Do some work then print message with time -->
>
>               <antcall target="timestamp">
>                       <param name="LogFile" value="${BuildLog}"/>
>                       <param name="Message" value="I just finished
>this part of the build" />
>               </antcall>
>
>
>               <!-- Do some more work and print another message to a
>different log -->
>               <sleep seconds="2"/>
>
>               <antcall target="timestamp">
>                       <param name="LogFile" value="${OtherLog}"/>
>                       <param name="Message" value="I just finished
>another part of the build" />
>               </antcall>
>
>       </target>
>
></project>
>
>
>
>-----Original Message-----
>From: Patrick Surry [mailto:Patrick.Surry@quadstone.com]
>Sent: Tuesday, September 14, 2004 9:10 AM
>To: Ant Users List
>Subject: How to echo date-time to log file?
>
>
>""
>
>This seems like a stupid question (and probably is!) but I can't seem to
>find
>what I'm looking for anywhere obvious.  I have a build that takes a long
>time,
>and would like to be able to record the current date/time at various
>points
>throughout the build.  Just like you get when you run in 'verbose' mode
>but
>without all the extra verbosity.  Ideally I'd want something like a
>'timestamp'
>attribute in the echo task, so I could do things like:
>
><echo timestamp="true" message="Starting job..."/>
>...
><echo timestamp="true" message="Finished job."/>
>
>Are there any obvious solutions to this - running an exec with a 'time'
>command
>seems like a hack, <tstamp/> doesn't really do what I want; the
>ant-contrib
><stopwatch/> doesn't give absolute times, just differences; the
><record/> task
>probably could change log verbosity to force ant-generated timestamps at
>
>different points but again seems roundabout/overkill.
>
>Patrick
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>For additional commands, e-mail: user-help@ant.apache.org
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>For additional commands, e-mail: user-help@ant.apache.org
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>For additional commands, e-mail: user-help@ant.apache.org
>
>
>
> 
>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message