BTW if you want to work the changed file (e.g. copy it...) the have 
a look at the modified selector [1].

Jan

[1] http://ant.apache.org/manual/CoreTypes/selectors.html#modified

> -----Original Message-----
> From: Mani G. Iyer [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, June 02, 2004 4:38 AM
> To: 'Ant Users List'
> Subject: RE: CheckSum Task and Properties?
> 
> 
> 
> Yanrong:
> 
> The problem is that the <istrue> condition expects the value of the
> property not the property itself.  So you will have to code something
> like:
> <istrue value ="${${f}.changed}"/>  but unfortunately this is not
> allowed in Ant, althought you can use the <propertycopy> from
> Ant-contrib to accomplish what you want.  My question to you is why do
> you need to have properties as ${f}.verified or ${f}.changed when
> something like file.verified or file.changed would do.  So you could
> code something like:
> 
> <target name="SeeIfXChanged" >
>       <checksum file="${f}" verifyProperty="file.changed"/>
>       <condition property="file.verified">
>          <istrue value="${file.changed}"/>
>       </condition>
>               <echo>Verification 02</echo>
> </target>
> <target name="ErrorMessageIfXChanged" depends="SeeIfXChanged"
> if="file.verified">
>               <echo>Verification Succeeded</echo>
> </target>
> 
> HTH.
> Mani G. Iyer
> 
> -----Original Message-----
> From: Yanrong Deng [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, June 01, 2004 9:01 PM
> To: [EMAIL PROTECTED]
> Subject: CheckSum Task and Properties?
> 
>    Mr. Mani G. Iyer helped Ms. Deng when we were using 
> properties with 
>    the checksum command to see if a value changed.  That is 
> working for 
>    us.   Thanks!
> 
>    However, I want to do the same thing where the file name is passed
>    to one ant file using the "ant" task.  We are experiencing
>    the same dificulty.
> 
>    The file ctM.xml  invokes the  ErrorMessageIfXChanged task of
> ctdemo.xml
>    However, the file name is passed  as the property "f".
> 
>    That is not working properly for us.  The "x" file has not
>    changed but ant is not displaying "Verification Succeeded." 
> 
> __________________________________________________________
>    Here is our main ant task (ctM.xml)
> 
> 
> <project default="all">
>   <target name="all">
>     <ant target="GenerateCheckSum" antfile="ctdemo.xml">
>       <property name="f" value="x"/>
>     </ant>
>   </target>
>   <target name="Verify">
>      <ant target="ErrorMessageIfXChanged" antfile="ctdemo.xml">
>         <property name="f" value="x"/>
>      </ant>
>   </target>
> </project>
> 
>    Here is the ctdemo.xml ant task which ctM  invoked:
> 
> 
> <project>
>   <target name="GenerateCheckSum">
>      <checksum file="${f}" forceoverwrite="yes"/>
>      <echo>Verification 01 </echo>
>    </target>
>    <target name="SeeIfXChanged" >
>      <checksum file="${f}" verifyProperty="${f}.changed"/>
>       <condition property="${f}.verified">
>          <istrue value="${f}.changed"/>
>       </condition>
>       <echo>Verification 02</echo>
>    </target>
>    <target name="ErrorMessageIfXChanged" depends="SeeIfXChanged" 
> if="${f}.verified">
>       <echo>Verification Succeeded</echo>
>    </target>
> </project>
> 
> 
>     Here is the shell file we run
>   
> ant -debug -buildfile ctM.xml Verify
> 
> 
> Here is its output (I abbreviated a few of the lines that are
> not relevant to this problem.)
> 
> 
> 
> Apache Ant version 1.6.0 compiled on December 18 2003
> Buildfile: ctM.xml
> Adding reference: ant.PropertyHelper
> Detected Java version: 1.4 in: /usr/java/j2sdk1.4.1_01/jre
> Detected OS: Linux
> Adding reference: ant.ComponentHelper
> Setting ro project property: ant.version -> Apache Ant version 1.6.0
> compiled 
> on December 18 2003
> Setting ro project property: ant.file ->
> /home/leffstudent/Project/ctM.xml
> Adding reference: ant.projectHelper
> Adding reference: ant.parsing.context
> Adding reference: ant.targets
> parsing buildfile /home/leffstudent/Project/ctM.xml with URI = 
> file:///home/leffstudent/Project/ctM.xml
> Setting ro project property: ant.file.null ->
> /home/leffstudent/Project/ctM.xml
> Project base dir set to: /home/leffstudent/Project
>  +Target: 
>  +Target: all
>  +Target: Verify
> Build sequence for target `Verify' is [Verify]
> Complete build sequence is [Verify, all, ]
> 
> Verify:
> Adding reference: ant.ComponentHelper
>     *** setting internal property variables here ***
> Project base dir set to: /home/leffstudent/Project
> Setting ro project property: f -> x
>       [ant] calling target ErrorMessageIfXChanged in build 
> file /home/leffstudent/Project/ctdemo.xml
> Setting ro project property: ant.file ->
> /home/leffstudent/Project/ctdemo.xml
> Adding reference: ant.projectHelper
> Adding reference: ant.parsing.context
> Adding reference: ant.targets
> parsing buildfile /home/leffstudent/Project/ctdemo.xml with URI = 
> file:///home/leffstudent/Project/ctdemo.xml
> Setting ro project property: ant.file.null -
> > /home/leffstudent/Project/ctdemo.xml
> Project base dir set to: /home/leffstudent/Project
>  +Target: 
>  +Target: GenerateCheckSum
>  +Target: SeeIfXChanged
>  +Target: ErrorMessageIfXChanged
>       [ant] Entering /home/leffstudent/Project/ctdemo.xml...
> Build sequence for target `ErrorMessageIfXChanged' is [SeeIfXChanged, 
> ErrorMessageIfXChanged]
> Complete build sequence is [SeeIfXChanged, ErrorMessageIfXChanged, 
> GenerateCheckSum, ]
> 
> SeeIfXChanged:
> Setting project property: x.changed -> true
> Condition false; not setting x.verified
>      [echo] Verification 02
> 
> ErrorMessageIfXChanged:
> Skipped because property 'x.verified' not set.
>       [ant] Exiting /home/leffstudent/Project/ctdemo.xml.
> 
> BUILD SUCCESSFUL
> Total time: 1 second
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

Reply via email to