Add support for debugging Nashorn 15.4 for OpenJDK >= 15
Description
Netbeans does support debugging of legacy Nashorn JavaScript engine bundled with OpenJDK < 15.0. It does not support the the most recent Nashorn 15.4 extracted from OpenJDK, that has different package name.
Request is to add debug support for the Nashorn 15.4.
Use case/motivation
Citing from Wikipedia: With the release of Java 11, Nashorn was deprecated citing challenges to maintenance, and has been removed from JDK 15 onwards - https://openjdk.org/jeps/372
Nashorn development continues on GitHub as a standalone OpenJDK project. Because it has renamed the package name(s), the support located in below mentioned modules does not work:
- org-netbeans-modules-debugger-jpda.jar
- org-netbeans-modules-debugger-jpda-js.jar
Quick and dirty renaming of constants describing the new package of Nashorn works for me. Question is if the Netbeans maintainers are willing to accept the fix. Bellow you can find the dirty patch: nashorn-15.patch
I'd like to open discussion if and how the support can be added into Netbeans: a) just polish attached patch, discarding the support for the old Nashorn b) maintain support for both Nashorn engines at the same time - automatic detection c) maintain support for both Nashorn engines at the same time - by turning an option in preferences d) any other suggestion?
Thank you, Libor
Related issues
No response
Are you willing to submit a pull request?
Yes
I would try to go down way (b). That way the discussion whether or not to drop $featureX in favor of $featureY does not need to happen. The interesting question is: How ugly can it get and what should be supported? Could nashorn-jdk and nashorn-standalone coexist in a single VM and if so, is it possible to modify the routines, to cover both cases?
@matthiasblaesing, I missed your question, sorry about that.
The interesting question is: How ugly can it get and what should be supported?
Ugly ... it depends on personal subjective feelings, only those constants will be doubled, not a big deal.
Could nashorn-jdk and nashorn-standalone coexist in a single VM
I guess so, they have different name space (package)
is it possible to modify the routines, to cover both cases?
Yes, it is.
Based on the question I deduct the fix for new Nashorn has a chance to be accepted, I'll prepare fix that supports both engines in one source code.
@cz6ace your interpretation is correct. Thanks for taking this on.