Hi,
I am having an issue trying to execute the cvs command in an Ant script
using the built in <cvs> task element. In using this, I didn't know how
to place the status information into a property. So, I decided to use the
<exec> task element. Below is the code I am executing:
<if>
<or>
<equals arg1="${os.name}" arg2="Windows 2000"/>
<equals arg1="${os.name}" arg2="Windows XP"/>
</or>
<then>
<exec executable="cmd" failonerror="true"
outputproperty="build.xml.version.line">
<arg line='/c "cvs status
${quote}${app.lar.source.clientpath}/${prop.cust.xml.basename}.xml${quote}
| findstr Working | findstr revision"'/>
</exec>
</then>
<else>
<exec executable="cvs" failonerror="true"
outputproperty="build.xml.version.line">
<arg line="-d${common.setup.cvsRoot} status
${app.lar.source.clientpath/${prop.cust.xml.basename}.xml | grep
'Working'"/>
</exec>
</else>
</if>
<propertyregex property="build.xml.version"
input="${build.xml.version.line}"
regexp="([0-9\.]*)$"
select="\1"
casesensitive="false"
/>
<echo message="XML file version info LINE =
'${build.xml.version.line}'"/>
<echo message="XML file version info = '${build.xml.version}'"/>
When I run the code, I get the following error:
cvs.get.wfversion:
[echo] 2008/07/25 09:00:22 Get CVS version information to
generate the wfversion value.
[echo] CVS Get the XML file version info:
'${common.setup.source.clientpath}/Demo/Demo/Demo.xml'
BUILD FAILED
/scratch/srm/customer/build/CVSTest_ray/CustomerLar_build.xml:1364:
Following error occured while executing this line
/scratch/srm/customer/build/CVSTest_ray/CustomerLar_build.xml:498: exec
returned: 1
I have been looking at the Ant book I purchased (Pro Apache Ant) and
several websites for error codes returned from the <exec> task element,
but have come up short. As stated earlier, when I tried to use the <cvs>
task element, I get stuck when I try to place the information into
property. Below is the code using the <cvs> task:
<if>
<or>
<equals arg1="${os.name}" arg2="Windows 2000"/>
<equals arg1="${os.name}" arg2="Windows XP"/>
</or>
<then>
<exec executable="cmd" failonerror="true"
outputproperty="build.xml.version.line">
<arg line='/c "cvs status
${quote}${app.lar.source.clientpath}/${prop.cust.xml.basename}.xml${quote}
| findstr Working | findstr revision"'/>
</exec>
</then>
<else>
<cvs
cvsRoot="${common.setup.cvsRoot}"
command="status
${app.lar.client.path}/${app.lar.client.source.filename} | grep 'Working'"
failonerror="true"
/>
</else>
</if>
<propertyregex property="build.xml.version"
input="${build.xml.version.line}"
regexp="([0-9\.]*)$"
select="\1"
casesensitive="false"
/>
<echo message="XML file version info LINE =
'${build.xml.version.line}'"/>
<echo message="XML file version info = '${build.xml.version}'"/>
At this point, I didn't know how to put the info returned into a property.
I know I could send it to a temp file, but I didn't want to add another
step into the process. Any help would be greatly appreciated.
Thanks,
Ray Harper, Jr.
Software Engineer II
Wachovia Corporation
1525 West WT Harris Blvd. Charlotte, NC, 28270
Tel: 704-427-1717 ? Fax: 704-427-3234 ? Mailcode: NC1077
CONFIDENTIALITY NOTICE:
The information accompanying this email transmission may contain
confidential or legally privileged information that is intended only for
the use of the individual or entity named in this message. If you are not
the intended recipient, you are hereby notified that any disclosure,
copying, distribution or reliance upon the contents of this email is
strictly prohibited. If you receive this email in error, please notify the
sender immediately.