Assess Graal JSR-223 Javascript engine as Nashorn replacement

Description

There's a supposed drop-in for Nashorn that's part of GraalVM, and this is just a task to test out that maven artifact as a replacement for the Nashorn engine in our existing scripting tests and use cases.

The Nashorn engine appears to be set on dropping console warnings on every execution about its being deprecated, so if we ship V4 as is, people will see them and we'll get a lot of grief over it. Oracle seems to want this to be the replacement, so it's at least worth determining how close it might be.

Environment

None

Activity

Show:

Rod Widdowson January 4, 2021 at 5:00 PM

Feels like this is done

Rod Widdowson September 22, 2020 at 2:38 PM

The inital nashorn plugin required the download of these files from graal

These are licensed under some funky [Version 2 of the GNU General Public
License with the “Classpath” Exception. |https://github.com/oracle/graal/blob/master/LICENSE]

At the time we built this there was a consideration that by downloading the files we were not distributing them. But on reflection this seems iffy.

The current belief is that we should not do the download and rather should document the need for these files to be collected into edit-webapp. We should probably deprecate the use of this plugin because of the license issues andwe must blame Oracle for tieing our hands and suggest the use of rhino - which has no license resrictions

Rod Widdowson June 10, 2020 at 2:24 PM

I am starting to push these changes into git.

The initial push includes a rhino and  nashorn engine in the TEST tree.  Further it contains some Rhino  tests in the IdP.

My long term aim here is to replace that with a pom reference (test scope) to the Nashorn and Rhino plugins, but I have to get the pom for these two nailed down to avoid accidental down-rev dependency inheritance.

Rod Widdowson June 7, 2020 at 12:15 PM

current plan here is to deploy the nashorn (& rhino) plugins as an artefact (i.e. a git repository and a build slot) and to have it them as a testr dependency for the IdP  then all the grall stuff can be pulled from the non test tree of java support.

 

At that stage I'll pull the development tree into the mainline and declare victory

Rod Widdowson June 3, 2020 at 4:17 PM

73afab4c408 in git@git.shibboleth.net:rdw/idp-plugins-scripting

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Created May 17, 2019 at 2:54 PM
Updated May 25, 2021 at 10:46 PM
Resolved January 4, 2021 at 5:00 PM