I have an ant exec task that is behaving inconsistently.
I have a list of centerid's and a "foreach" loop that calls the
following target:
<target name="compile_alert_report" description="compile detail
report for alerts">
<echo>patient detail for patients NOT on alert for center
${centerid}</echo>
<exec dir="${center.bin}" executable="${perl}" failonerror="true">
<arg line=" reportAlertDetail.pl -e ${report.enddate} -c
${centerid} -A x -a x -o ${report.xml}/${BUILDTIME}" />
</exec>
</target>
The report script (reportAlertDetail.pl) outputs some diagnostic
information, and is supposed to write the output to an xml file (in the
directory identified by the "-o" switch. (${report.xml}/${BUILDTIME} in
this instance)
The problem is that the first report or two is written as expected and
then the output (that should be written to a file) ends up in standard
output (and is also logged to the ant output under the [exec] task)
The scripts that produce the reports all work as expected (and have been
working as expected for a long time) when you call them from a shell or
a shell script (bash or csh).
I tried setting spawn="yes" on the exec task, but that that didn't do
much (except hide the stdout with all the file contents).
Does anybody have any idea what is going on or where I might look to
debug this?
/opt/ant/bin/ant -v
Apache Ant version 1.8.1 compiled on April 30 2010
Larry Mills-Gahl