ojspc always returns 0 on errors
- by Matt McCormick
In my Ant build.xml file, I am trying to compile JSPs using ojspc.  The files are being compiled, however, the build process is still running to completion when the JSP compilation has errors.
This is part of my build.xml:
<java fork="true" jar="${env.ORACLE_HOME}\j2ee\home\ojspc.jar" resultproperty="result">
  <jvmarg value="-Djava.compiler=NONE"/>
  <arg value="-extend"/>
  <arg value="com.orionserver.http.OrionHttpJspPage"/>
  <arg value="-batchMask"/>
  <arg value="*.jsp"/>
  <arg value="${target-directory}/build/target/ear/${module-dir-name}-jsp.war"/>
</java>
<echo level="info">Result Property: ${result}</echo>
I have tried setting the property failonerror="true" but that does not change anything.
I receive the following output:
 [java] Detected archive, now processing contents of ../build/target/ear/web-module-jsp.war...
 [java] Setting up temp area...
 [java] Expanding archive in temp area...
 [java] C:\DOCUME~1\MMCCOR~1\LOCALS~1\Temp\tmp12940\_web_2d_inf\_jsp\_password.java:60: cannot resolve symbol
 [java] symbol  : variable reqvst 
 [java] location: class _web_2d_inf._jsp._password
 [java]       out.print(reqvst.getAttribute("test"));
 [java]                 ^
 [java] 1 error
 [java] Creating D:\eclipse-workspace\jdw\build\..\build\target\ear\web-module-jsp.war ...
 [java] Removing temp area...
 [echo] Result Property: 0
...(more commands)
BUILD SUCCESSFUL
In the password.jsp file, I intentionally introduced an error to test.
How can I get the build to fail on an error?
At the Ant Java page, I am confused by:
  By default the return code of a 
  is ignored. Alternatively, you can set
  resultproperty to the name of a
  property and have it assigned to the
  result code (barring immutability, of
  course). When you set
  failonerror="true", the only possible
  value for resultproperty is 0. Any
  non-zero response is treated as an
  error and would mean the build exits.