Mark Wielaard wrote:
Hi,
This patch adds javax.script javascript support through rhino. CCed
build-dev since it is mainly build stuff and there doesn't seem to be
another list for scripting stuff (not that I am advocating yet another
list!)
The idea is pretty simple, if configure can detect rhino being installed
on the system already (either the rhino.jar from fedora or the js.jar
from debian) it uses that instead of the closed and unreleased sun
internal classes. The only wrinkle is that the javascript support is
written to expect the implementation on the bootclasspath, I would have
liked it to be possible to just add it to the extension dir. This is
solved by patching the hardcoded hotspot boostrap path and creating the
correct symlink in the jre lib dir.
Maybe the modules project and/or the extension/plugin ideas from icedtea
can help a bit in the future to rewrite these kind of things a little
cleaner: http://icedtea.classpath.org/wiki/PackagingExtensions
2008-06-22 Mark Wielaard <[EMAIL PROTECTED]>
* patches/icedtea-rhino.patch: New patch.
* Makefile.am: Add RHINO_JAR to environment variable lists.
(ICEDTEA_PATHCES): Add patches/icedtea-rhino.patch.
* Makefile.in: Regenerated.
* acinclude.m4 (FIND_RHINO_JAR): New.
* configure.ac: Use FIND_RHINO_JAR.
* configure: Regenerated.
Committed to icedtea6.
With this patch the jrunscript works perfectly, and the javax.script and
sun.tools.jscript jtreg tests all pass except for one. The
sun/tools/jrunscript/jrunscriptTest.sh test insists that 2 + 5 = 7.0,
while our current implementation says it is 7 (without the .0). The
tests references two bugs (6265810,6705893) which might help analyze
this, unfortunately they are closed to the public (is there anybody who
could see what these bugs were about?).
Cheers,
Mark
Hi Mark,
In my JavaOne talk Sandeep and I had worked up a hack with the same
purpose. He's been busy enough that he hadn't had a chance to turn the
hack into an official proposal like this..
Here's a couple things I see reading through your patch..
This patch puts a hard dependency on having rhino in your environment.
Maybe this is okay for IcedTea but in OpenJDK's makefiles I'd rather it
be a loose dependency (if RHINO_JAR is in the environment, that should
trigger makefile rules to include RHINO support).
A lot of the changes are in com/sun/script/javascript files to change
imports from sun.org.mozilla.xyzzy to org.mozilla.xyzzy ... we've been
following a practice for a long time of munging the package names of
imported packages, and this came from issues which arose when we
imported Xerces XML code and people started using some of the Xerces
API's ...
- David