Gary L Peskin <[EMAIL PROTECTED]> wrote:
> I have a quick question as to how the various developers do his or her
> compiles. I know that we're supposed to make it so that XalanJ will run
> under JDK 1.1.x.
>
> How do you enforce this?
Um, I admit to being lazy in this regard.
> I didn't want to change the build.xml file without talking to someone
> first. The fix here would be to use the same build file but add a
> 'target="1.1"' attribute onto each javac element...
> Because the "-target 1.1" option verifies that the build will run on JDK
> 1.1. Without it, the compiler assumes you'll be running under the same
> JDK as the compiler.
Sounds good to me. But will it really catch all the problems that could
occur when building under 1.1.x? It seems we should still do a 1.1.x
compile just to check before we release a non-developers version. (i.e. I
think it should still compile under 1.1.x if possible).
> the classes XString, XNumber, XBoolean, and XNull won't
> compile because of a cyclic class definition error. I think this is
> because of the static methods in XObject which use those classes even
> though those classes extend XObject and need it to be compiled first. I
> know that this worked before with the single static create method that
> took one argument but it doesn't seem to work now.
I moved the create methods to a new class, XObjectFactory, and delegate
from XObject#create to that class. This seems to clear up the problem, and
is arguably a bit cleaner anyway.
> Also, the latest change to NamespaceSupport2 which invokes a method on
> an anonymous class also seems to confuse the JDK 1.1.8 compiler.
Confuses me too. I admit to thinking that the anonomous class syntax is
pretty confusing. Joe probably has a good performance reason for using an
anon class here, but, for now, I moved the class to an inner class
(PrefixEnumerator). If you don't hear from me again, it's because Joe
killed me.
In addition to passing -mx64m in build.bat, these changes seem to get me a
clean build with 1.1.8.
-scott