ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Prashant Reddy <prash...@pramati.com>
Subject Re: AW: Fail build when 'replace' task cannot find expected number oftokens
Date Tue, 05 Feb 2008 13:40:15 GMT
Ok my bad. replace does change the timestamp if the token is replaced.

I was creating the source.txt just before the replace, which also gave
temp.txt same timestamp.

<?xml version="1.0" encoding="UTF-8"?>
<project name="test-replace" default="test">
    <target name="test">
        <!--<echo file="source.txt" message="token"/>-->
        <copy file="source.txt" tofile="temp.txt"
preservelastmodified="true"/>
        <replace file="temp.txt" token="token" value="replaced"/>
        <condition property="not.replaced">
            <not>
                <uptodate srcfile="source.txt"
targetfile="temp.txt"></uptodate>
            </not>
        </condition>
        <echo message=" not.replaced : ${not.replaced}"/>
        <fail if="not.replaced" message="Not replaced"/>
        <delete file="temp.txt"/>
    </target>
</project>


On Tue, 2008-02-05 at 18:24 +0530, Prashant Reddy wrote:
> Thanks for a good idea. nice and simple.
> 
> Quick check with following build.xml reveals that the replace does not
> modify timestamp even when token is replaced. However this approach will
> not catch scenario where 1 instance was replaced when 2 were expected. 
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <project name="test-replace" default="test">
>     <target name="test">
> 	<echo file="source.txt" message="token"/>
>         <copy file="source.txt" tofile="temp.txt"
> preservelastmodified="true"/>
>         <replace file="temp.txt" token="token" value="replaced"/>
>         <condition property="not.replaced">
>             <not>
>                 <uptodate srcfile="source.txt"
> targetfile="temp.txt"></uptodate>
>             </not>
>         </condition>
>         <fail if="not.replaced" message="Not replaced"/>
>     </target>
> </project>
> 
> $ ls -lt
> total 12
> -rw-r--r-- 1 prashant prashant   5 2008-02-05 18:22 source.txt
> -rw-r--r-- 1 prashant prashant   8 2008-02-05 18:22 temp.txt
> -rw-r--r-- 1 prashant prashant 569 2008-02-05 18:22 build.xml
> 
> -Prashant
> 
> On Tue, 2008-02-05 at 13:27 +0100, Knuplesch, Juergen wrote:
> > Maybe you could copy the file without changing of the timestamp (attribute preservelastmodified).
> > Then do the replace on your file.
> > Then test via <uptodate> if a change happened.
> > Delete the copy
> > 
> > This will only work, if replace does not change the timestamp, in case of no changes.
> > 
> > Just an idea...
> > 
> 
> 
> ---------------------------------------------------------------------
> 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