I discovered after updating this morning that I could not build the system. The problem was that Hongbing updated hackyCore_Common last Friday to use a Java5 class (java.util.concurrent).

The bigger problem is that this did not cause the build to fail, despite the fact that our hackyCore_Build.javac presetdef sets source="1.4".

After some investigation, I discovered that the "source" parameter to javac is a grammar-level switch, not a library-level switch. For example, source=1.4 will fail the compile if you use a 1.5 grammar feature such as generics in your code, but (as we just discovered) does not fail the compile if you use a Java 1.5 library feature (example: java.util.concurrent) in your code.

The good news is that I can svn revert the hackyCore_Common module back one revision and continue with what I'm doing.

I'd like to keep the Hackystat code base 1.4 compliant for the time being, so I've reopened HACK-606 for Hongbing with two requests:
 - use the edu.oswego.util.concurrent package
- install (if necessary) and switch to the jdk1.4 compiler on hackydevsite so we can catch these problems in future via the daily build.

Cheers,
Philip

Reply via email to