Index: greenstone3/trunk/build.xml
===================================================================
--- greenstone3/trunk/build.xml	(revision 20824)
+++ greenstone3/trunk/build.xml	(revision 20826)
@@ -800,5 +800,5 @@
     <property name="tomcat.path" refid="local.tomcat.path"/>
     <property name="catalina.opts" value="-Djava.util.prefs.syncInterval=2000000 -DGSDL3HOME=$GSDL3HOME -DGSDLOS=$GSDLOS -DPATH=$PATH -Xmx400M"/>
-    <exec executable="${catalina.home}/bin/startup.sh" os="${os.unix}" dir="${catalina.home}/bin" spawn="false">
+    <exec executable="${catalina.home}/bin/startup.sh" os="${os.unix}" dir="${catalina.home}/bin" spawn="false" failonerror="true">
       <!--<env key="GSDLOS" value="linux"/> do we need this?? -->
       <env key="GSDL3HOME" value="${basedir}"/>
@@ -811,5 +811,5 @@
       <env key="WNHOME" path="${wn.home}"/>
     </exec>
-    <exec executable="${catalina.home}/bin/startup.bat" os="${os.windows}" dir="${catalina.home}/bin" spawn="true">
+    <exec executable="${catalina.home}/bin/startup.bat" os="${os.windows}" dir="${catalina.home}/bin" spawn="true" failonerror="true">
       <env key="GSDLOS" value="windows"/>
       <env key="GSDL3HOME" value="${basedir}"/>
@@ -832,8 +832,8 @@
   <!-- shouldn't this test whether anything is running first? -->
   <target name="stop-tomcat" description="Shutdown only Tomcat" depends="init" if="tomcat.islocal">
-    <exec executable="${catalina.home}/bin/shutdown.sh" os="${os.unix}" dir="${catalina.home}/bin" spawn="false">
+    <exec executable="${catalina.home}/bin/shutdown.sh" os="${os.unix}" dir="${catalina.home}/bin" spawn="false" failonerror="true">
       <env key="CATALINA_HOME" value="${catalina.home}"/>
     </exec>
-    <exec executable="${catalina.home}/bin/shutdown.bat" os="${os.windows}" dir="${catalina.home}/bin" spawn="false">
+    <exec executable="${catalina.home}/bin/shutdown.bat" os="${os.windows}" dir="${catalina.home}/bin" spawn="false" failonerror="true">
       <env key="CATALINA_HOME" value="${catalina.home}"/>
     </exec>
@@ -1460,8 +1460,8 @@
     <!-- linux -->
     <exec executable="clean.sh" os="${os.unix}" dir="${gli.home}"
-      resolveExecutable="true"/>
+      resolveExecutable="true" failonerror="true"/>
     <!-- windows -->
     <exec executable="clean.bat" os="${os.windows}" dir="${gli.home}"
-      resolveExecutable="true"/>
+      resolveExecutable="true" failonerror="true"/>
   </target>
  
@@ -1471,27 +1471,27 @@
 
     <!-- linux -->
-    <exec executable="makegli.sh" os="${os.unix}" dir="${gli.home}" resolveExecutable="true"/>
+    <exec executable="makegli.sh" os="${os.unix}" dir="${gli.home}" resolveExecutable="true" failonerror="true"/>
     <!--remote gli-->
     <exec executable="makejar.sh" os="${os.unix}" dir="${gli.home}"
-      resolveExecutable="true"/>
+      resolveExecutable="true" failonerror="true"/>
     <!-- windows -->
-    <exec executable="makegli.bat" os="${os.windows}" dir="${gli.home}" resolveExecutable="true"/>
+    <exec executable="makegli.bat" os="${os.windows}" dir="${gli.home}" resolveExecutable="true" failonerror="true"/>
     <!--remote gli-->
     <exec executable="makejar.bat" os="${os.windows}" dir="${gli.home}"
-      resolveExecutable="true"/> 
+      resolveExecutable="true" failonerror="true"/> 
     <copy file="${gli.home}/GLIServer.jar" todir="${gs2build.home}/bin/java" />
   </target>
 
   <target name="gli" description="Run the Greenstone Librarian Interface" depends="init" if="collection.building.enabled">
-    <exec executable="${basedir}/gli/gli.sh" os="${os.linux},${os.solaris}" dir="${basedir}/gli" spawn="true">
+    <exec executable="${basedir}/gli/gli.sh" os="${os.linux},${os.solaris}" dir="${basedir}/gli" spawn="true" failonerror="true">
       <env key="gsdl3path" path="${basedir}"/>
       <env key="gsdlpath" path="${gs2build.home}"/>
     </exec>
-    <exec executable="${basedir}/gli/gli.sh" os="${os.mac}" dir="${basedir}/gli" spawn="true">
+    <exec executable="${basedir}/gli/gli.sh" os="${os.mac}" dir="${basedir}/gli" spawn="true" failonerror="true">
       <env key="gsdl3path" path="${basedir}"/>
       <env key="gsdlpath" path="${gs2build.home}"/>
       <env key="DYLD_LIBRARY_PATH" path="${env.DYLD_LIBRARY_PATH}:${gdbm.home}/lib"/>
     </exec>
-    <exec executable="${basedir}/gli/gli.bat" os="${os.windows}" dir="${basedir}/gli" spawn="true">
+    <exec executable="${basedir}/gli/gli.bat" os="${os.windows}" dir="${basedir}/gli" spawn="true" failonerror="true">
       <env key="GSDL3PATH" path="${basedir}"/>
       <env key="GSDLPATH" path="${gs2build.home}"/>
@@ -1621,5 +1621,5 @@
 
     <!-- run the setup script -->
-    <!-- <exec executable="${compile.windows.c++.setup}" os="${os.windows}"/>-->
+    <!-- <exec executable="${compile.windows.c++.setup}" os="${os.windows}" failonerror="true"/>-->
       <!--Above does not work: even though vcvars.bat executes, the env changes it makes don't get saved. Need user to run vcvars.bat first before calling ant--> 
       <exec executable="nmake" dir="${build.src.home}" os="${os.windows}" failonerror="true">
