Assess Graal JSR-223 Javascript engine as Nashorn replacement
Description
Environment
is related to
Activity
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
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.