javax.script rhino (javascript) support added
David Herron
David.Herron at Sun.COM
Mon Jun 23 18:43:15 UTC 2008
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 <mark at klomp.org>
>
> * 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
More information about the build-dev
mailing list