This is great news! Thanks for the detailed writeup, as it is very encouraging
to see a project that was designed purely for 1.5 was able to be so quickly
transformed to run on 1.4.
Please keep us posted with any additional issues that arise.
Don
Tim Fennell wrote:
Hi All,
I remember a while back that there was quite a bit of discussion which
Java version to make the primary version supported by SAF2 and if it's
5, then how to support 1.4. Retrotranslator was mentioned as one of the
ways to support 1.4 without having to stay source-compatible.
I'd like to say that based on recent experience I think that's an
extremely viable option. I've been trying out Retrotranslator to make
build of Stripes that works on Java 1.4. Keep in mind that Stripes,
being a new framework, was built exclusively on 1.5, and with the
explicit goal of leveraging features like annotations, generics and
varargs. It took me about 15 minutes from downloading Retrotranslator
to having a working build of Stripes[1] + the example applications that
I could run under JDK 1.4. That's just freaking impressive!
There are some features it doesn't support, but they are mostly minor
(as far as they impact me anyway). All the annotations, and just as
importantly, generics type-guessing code works beautifully. I had to
make a couple of minor changes in Stripes (specifically changing a
couple of calls to ThreadLocal.remove() to ThreadLocale.set(null)), and
there are a couple more changes that are needed to be 100% compatible
(involving parsing of the Big* numbers).
It's clear to me though that with a little up front consideration you
could leverage as much of Java 5 as you wanted, and still produce a JDK
1.4 binary-compatible build with ease. Hopefully this could be a
workable strategy for SAF2.
-t
[1] http://stripes.mc4j.org/confluence/display/stripes/Java+1.4+and+Stripes
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]