I have to update a database one way or another based on project success or 
failure.  So I'm messing around with the <exec> task with errorproperty 
attribute.  I'm trying to make it so that failure will test one way vs. success 
testing another.  The best thing I can come up with is the following:

<----------------------------------------------------------------->
Build File 1:

<project name="test" default="test">
 <taskdef resource="net/sf/antcontrib/antlib.xml"/>
 <target name="test">
    <exec dir="." executable="cmd.exe" errorproperty="returncode">
      <arg line="/c ant -f test2.xml -Dgood=${good}"/>
    </exec>
    <echo message="returncode is: ${returncode}"/>
   
    <if>
      <equals arg1="${returncode}" arg2="" />
      <then>
        <echo message="It succeeded"/>
      </then>
      <else>
        <echo message="It failed"/>
      </else>
    </if>
 </target>
</project>

Build File 2:

<project name="test2" default="test">
 <taskdef resource="net/sf/antcontrib/antlib.xml"/>
 <target name="test">
   <if>
   <equals arg1="${good}" arg2="true" />
     <then>
       <echo message="Good!"/>
     </then>
     <else>
       <echo message="Bad"/>
       <fail/>
     </else>
   </if>
 </target>
</project>

</----------------------------------------------------------------->

So if I pass >ant -f test.xml -Dgood="true"
I end up in the success code.  Or if I pass >ant -f test.xml 
-Dgood="anythingElse"
I end up in the failure code.

Does anyone have a more graceful way to do this?

Thanks,
Eric

Reply via email to