RFR: 8264795: IGV: Upgrade NetBeans platform

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

RFR: 8264795: IGV: Upgrade NetBeans platform

Roberto Castañeda Lozano-2
This change upgrades the NetBeans platform on which IGV is based to its latest version ([12.3](https://netbeans.apache.org/download/nb123/index.html)) and switches IGV's build system from Ant to Maven. The upgrade introduces support for a wide range of JDK versions (from 8 to 15, the latest version supported by NetBeans 12.3), and the switch from Ant to Maven makes the IGV build simpler, faster (first-time build is approximately 5x faster), and more stable (all dependencies are fetched directly from the Maven central repository).

The change also fixes broken unit tests in the Data module and runs them by default when building.

#### Testing

Regression-tested the following use cases manually on all combinations of (Linux, Windows, macOS) and (JDK 8, JDK 11, JDK 15):

- build
- open graph file (small.xml in [test-input.zip](https://bugs.openjdk.java.net/secure/attachment/93988/test-input.zip))
- import graphs via network (localhost)
- expand groups in outline
- open a graph
- open a clone
- zoom in and out
- search a node
- apply filters
- extract a node
- show all nodes
- select nodes corresponding to a bytecode
- view control flow
- select nodes corresponding to a basic block
- cluster nodes
- show satellite view
- compute the difference of two graphs
- change node text
- remove a group
- save groups into a file
- open a large graph file (large.xml in [test-input.zip](https://bugs.openjdk.java.net/secure/attachment/93988/test-input.zip))
- open a large graph ("After Escape Analysis" in large.xml)

Thanks to Vladimir Ivanov for helping with testing on macOS.

-------------

Commit messages:
 - Update TemplatesAction name in layer file
 - Remove template integration test
 - Turn off schema validation, since the main input files are not specifying it anyway
 - Fix test errors
 - Configure Maven to run Data unit tests
 - Update copyright years of touched files
 - Indent all XML files consistently
 - Convert all files to UNIX format
 - Add copyright headers to Maven files
 - Remove unnecessary comments
 - ... and 35 more: https://git.openjdk.java.net/jdk/compare/011f6d13...11fb43fa

Changes: https://git.openjdk.java.net/jdk/pull/3361/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3361&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8264795
  Stats: 5950 lines in 499 files changed: 2737 ins; 3110 del; 103 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3361.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3361/head:pull/3361

PR: https://git.openjdk.java.net/jdk/pull/3361
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264795: IGV: Upgrade NetBeans platform

Vladimir Kozlov-2
On Tue, 6 Apr 2021 18:34:54 GMT, Roberto Castañeda Lozano <[hidden email]> wrote:

> This change upgrades the NetBeans platform on which IGV is based to its latest version ([12.3](https://netbeans.apache.org/download/nb123/index.html)) and switches IGV's build system from Ant to Maven. The upgrade introduces support for a wide range of JDK versions (from 8 to 15, the latest version supported by NetBeans 12.3), and the switch from Ant to Maven makes the IGV build simpler, faster (first-time build is approximately 5x faster), and more stable (all dependencies are fetched directly from the Maven central repository).
>
> The change also fixes broken unit tests in the Data module and runs them by default when building.
>
> #### Testing
>
> Regression-tested the following use cases manually on all combinations of (Linux, Windows, macOS) and (JDK 8, JDK 11, JDK 15):
>
> - build
> - open graph file (small.xml in [test-input.zip](https://bugs.openjdk.java.net/secure/attachment/93988/test-input.zip))
> - import graphs via network (localhost)
> - expand groups in outline
> - open a graph
> - open a clone
> - zoom in and out
> - search a node
> - apply filters
> - extract a node
> - show all nodes
> - select nodes corresponding to a bytecode
> - view control flow
> - select nodes corresponding to a basic block
> - cluster nodes
> - show satellite view
> - compute the difference of two graphs
> - change node text
> - remove a group
> - save groups into a file
> - open a large graph file (large.xml in [test-input.zip](https://bugs.openjdk.java.net/secure/attachment/93988/test-input.zip))
> - open a large graph ("After Escape Analysis" in large.xml)
>
> Thanks to Vladimir Ivanov for helping with testing on macOS.

Great work!
After this is pushed consider to update wiki page too: https://wiki.openjdk.java.net/display/HotSpot/IdealGraphVisualizer

-------------

Marked as reviewed by kvn (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3361
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264795: IGV: Upgrade NetBeans platform

Roberto Castañeda Lozano-2
On Tue, 6 Apr 2021 20:02:10 GMT, Vladimir Kozlov <[hidden email]> wrote:

> Great work!
> After this is pushed consider to update wiki page too: https://wiki.openjdk.java.net/display/HotSpot/IdealGraphVisualizer

Thanks for reviewing, Vladimir! Yes, I plan to do that.

-------------

PR: https://git.openjdk.java.net/jdk/pull/3361
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264795: IGV: Upgrade NetBeans platform

Christian Hagedorn-3
In reply to this post by Roberto Castañeda Lozano-2
On Tue, 6 Apr 2021 18:34:54 GMT, Roberto Castañeda Lozano <[hidden email]> wrote:

> This change upgrades the NetBeans platform on which IGV is based to its latest version ([12.3](https://netbeans.apache.org/download/nb123/index.html)) and switches IGV's build system from Ant to Maven. The upgrade introduces support for a wide range of JDK versions (from 8 to 15, the latest version supported by NetBeans 12.3), and the switch from Ant to Maven makes the IGV build simpler, faster (first-time build is approximately 5x faster), and more stable (all dependencies are fetched directly from the Maven central repository).
>
> The change also fixes broken unit tests in the Data module and runs them by default when building.
>
> #### Testing
>
> Regression-tested the following use cases manually on all combinations of (Linux, Windows, macOS) and (JDK 8, JDK 11, JDK 15):
>
> - build
> - open graph file (small.xml in [test-input.zip](https://bugs.openjdk.java.net/secure/attachment/93988/test-input.zip))
> - import graphs via network (localhost)
> - expand groups in outline
> - open a graph
> - open a clone
> - zoom in and out
> - search a node
> - apply filters
> - extract a node
> - show all nodes
> - select nodes corresponding to a bytecode
> - view control flow
> - select nodes corresponding to a basic block
> - cluster nodes
> - show satellite view
> - compute the difference of two graphs
> - change node text
> - remove a group
> - save groups into a file
> - open a large graph file (large.xml in [test-input.zip](https://bugs.openjdk.java.net/secure/attachment/93988/test-input.zip))
> - open a large graph ("After Escape Analysis" in large.xml)
>
> Thanks to Vladimir Ivanov for helping with testing on macOS.

Very nice work!

src/utils/IdealGraphVisualizer/Data/src/main/java/com/sun/hotspot/igv/data/serialization/Parser.java line 154:

> 152:                             parent.addElement(group);
> 153:                         }
> 154:                     };

You could directly use `Runnable addToParent = () -> parent.addElement(group);` and also for the other ones below.

src/utils/IdealGraphVisualizer/README.md line 10:

> 8: elements.
> 9:
> 10: The tool is built on top of the NetBeans Platform, and requires Java 8 or later.

Maybe also mention here that the current NetBeans version supports up to JDK 15.

-------------

Marked as reviewed by chagedorn (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3361
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264795: IGV: Upgrade NetBeans platform

Nils Eliasson-2
In reply to this post by Roberto Castañeda Lozano-2
On Tue, 6 Apr 2021 18:34:54 GMT, Roberto Castañeda Lozano <[hidden email]> wrote:

> This change upgrades the NetBeans platform on which IGV is based to its latest version ([12.3](https://netbeans.apache.org/download/nb123/index.html)) and switches IGV's build system from Ant to Maven. The upgrade introduces support for a wide range of JDK versions (from 8 to 15, the latest version supported by NetBeans 12.3), and the switch from Ant to Maven makes the IGV build simpler, faster (first-time build is approximately 5x faster), and more stable (all dependencies are fetched directly from the Maven central repository).
>
> The change also fixes broken unit tests in the Data module and runs them by default when building.
>
> #### Testing
>
> Regression-tested the following use cases manually on all combinations of (Linux, Windows, macOS) and (JDK 8, JDK 11, JDK 15):
>
> - build
> - open graph file (small.xml in [test-input.zip](https://bugs.openjdk.java.net/secure/attachment/93988/test-input.zip))
> - import graphs via network (localhost)
> - expand groups in outline
> - open a graph
> - open a clone
> - zoom in and out
> - search a node
> - apply filters
> - extract a node
> - show all nodes
> - select nodes corresponding to a bytecode
> - view control flow
> - select nodes corresponding to a basic block
> - cluster nodes
> - show satellite view
> - compute the difference of two graphs
> - change node text
> - remove a group
> - save groups into a file
> - open a large graph file (large.xml in [test-input.zip](https://bugs.openjdk.java.net/secure/attachment/93988/test-input.zip))
> - open a large graph ("After Escape Analysis" in large.xml)
>
> Thanks to Vladimir Ivanov for helping with testing on macOS.

I have tested IGV on a High-DPI screen (4K). The screens are attached to the bug-report.

Compared to baseline the new version improved DPI scaling on both JDK8 and JDK15. Some elements still doesn't scale.

Remaining issues identified:
1) The default zoom level is to small
2) The filter view has broken scaling - the font scales but not the line height.
3) The buttons above the graph view and file list doesn't scale - they are still tiny.
4) The splash screen doesn't scale

Still this is a big improvement and the remaining issues can be solved in separate PRs.

Looks good - Reviewed!

-------------

Marked as reviewed by neliasso (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3361
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264795: IGV: Upgrade NetBeans platform [v2]

Roberto Castañeda Lozano-2
In reply to this post by Roberto Castañeda Lozano-2
> This change upgrades the NetBeans platform on which IGV is based to its latest version ([12.3](https://netbeans.apache.org/download/nb123/index.html)) and switches IGV's build system from Ant to Maven. The upgrade introduces support for a wide range of JDK versions (from 8 to 15, the latest version supported by NetBeans 12.3), and the switch from Ant to Maven makes the IGV build simpler, faster (first-time build is approximately 5x faster), and more stable (all dependencies are fetched directly from the Maven central repository).
>
> The change also fixes broken unit tests in the Data module and runs them by default when building.
>
> #### Testing
>
> Regression-tested the following use cases manually on all combinations of (Linux, Windows, macOS) and (JDK 8, JDK 11, JDK 15):
>
> - build
> - open graph file (small.xml in [test-input.zip](https://bugs.openjdk.java.net/secure/attachment/93988/test-input.zip))
> - import graphs via network (localhost)
> - expand groups in outline
> - open a graph
> - open a clone
> - zoom in and out
> - search a node
> - apply filters
> - extract a node
> - show all nodes
> - select nodes corresponding to a bytecode
> - view control flow
> - select nodes corresponding to a basic block
> - cluster nodes
> - show satellite view
> - compute the difference of two graphs
> - change node text
> - remove a group
> - save groups into a file
> - open a large graph file (large.xml in [test-input.zip](https://bugs.openjdk.java.net/secure/attachment/93988/test-input.zip))
> - open a large graph ("After Escape Analysis" in large.xml)
>
> Thanks to Vladimir Ivanov for helping with testing on macOS.

Roberto Castañeda Lozano has updated the pull request incrementally with three additional commits since the last revision:

 - Document how to build and run on a specific JDK
 - Use lambdas to define runnables
 - Document latest JDK version supported

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3361/files
  - new: https://git.openjdk.java.net/jdk/pull/3361/files/11fb43fa..e84d171e

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3361&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3361&range=00-01

  Stats: 24 lines in 2 files changed: 5 ins; 15 del; 4 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3361.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3361/head:pull/3361

PR: https://git.openjdk.java.net/jdk/pull/3361
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264795: IGV: Upgrade NetBeans platform [v2]

Roberto Castañeda Lozano-2
In reply to this post by Christian Hagedorn-3
On Wed, 7 Apr 2021 07:55:58 GMT, Christian Hagedorn <[hidden email]> wrote:

>> Roberto Castañeda Lozano has updated the pull request incrementally with three additional commits since the last revision:
>>
>>  - Document how to build and run on a specific JDK
>>  - Use lambdas to define runnables
>>  - Document latest JDK version supported
>
> src/utils/IdealGraphVisualizer/Data/src/main/java/com/sun/hotspot/igv/data/serialization/Parser.java line 154:
>
>> 152:                             parent.addElement(group);
>> 153:                         }
>> 154:                     };
>
> You could directly use `Runnable addToParent = () -> parent.addElement(group);` and also for the other ones below.

Good suggestion, thanks, done!

> src/utils/IdealGraphVisualizer/README.md line 10:
>
>> 8: elements.
>> 9:
>> 10: The tool is built on top of the NetBeans Platform, and requires Java 8 or later.
>
> Maybe also mention here that the current NetBeans version supports up to JDK 15.

Thanks, done!

-------------

PR: https://git.openjdk.java.net/jdk/pull/3361
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264795: IGV: Upgrade NetBeans platform [v2]

Roberto Castañeda Lozano-2
In reply to this post by Nils Eliasson-2
On Wed, 7 Apr 2021 08:40:02 GMT, Nils Eliasson <[hidden email]> wrote:

> I have tested IGV on a High-DPI screen (4K). The screens are attached to the bug-report.
>
> Compared to baseline the new version improved DPI scaling on both JDK8 and JDK15. Some elements still doesn't scale.
>
> Remaining issues identified:
>
>     1. The default zoom level is to small
>
>     2. The filter view has broken scaling - the font scales but not the line height.
>
>     3. The buttons above the graph view and file list doesn't scale - they are still tiny.
>
>     4. The splash screen doesn't scale
>
>
> Still this is a big improvement and the remaining issues can be solved in separate PRs.
>
> Looks good - Reviewed!

Thanks for reviewing, Nils! I will create a separate RFE for DPI scaling issues.

I also added a clarification to the README file (https://github.com/openjdk/jdk/pull/3361/commits/e84d171e12a238cf0a1905a4bc8107ac6141a540) based on our offline discussion.

-------------

PR: https://git.openjdk.java.net/jdk/pull/3361
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264795: IGV: Upgrade NetBeans platform [v2]

Roberto Castañeda Lozano-2
In reply to this post by Christian Hagedorn-3
On Wed, 7 Apr 2021 07:57:19 GMT, Christian Hagedorn <[hidden email]> wrote:

> Very nice work!

Thanks for reviewing, Christian!

-------------

PR: https://git.openjdk.java.net/jdk/pull/3361
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264795: IGV: Upgrade NetBeans platform [v2]

Christian Hagedorn-3
In reply to this post by Roberto Castañeda Lozano-2
On Wed, 7 Apr 2021 11:59:28 GMT, Roberto Castañeda Lozano <[hidden email]> wrote:

>> This change upgrades the NetBeans platform on which IGV is based to its latest version ([12.3](https://netbeans.apache.org/download/nb123/index.html)) and switches IGV's build system from Ant to Maven. The upgrade introduces support for a wide range of JDK versions (from 8 to 15, the latest version supported by NetBeans 12.3), and the switch from Ant to Maven makes the IGV build simpler, faster (first-time build is approximately 5x faster), and more stable (all dependencies are fetched directly from the Maven central repository).
>>
>> The change also fixes broken unit tests in the Data module and runs them by default when building.
>>
>> #### Testing
>>
>> Regression-tested the following use cases manually on all combinations of (Linux, Windows, macOS) and (JDK 8, JDK 11, JDK 15):
>>
>> - build
>> - open graph file (small.xml in [test-input.zip](https://bugs.openjdk.java.net/secure/attachment/93988/test-input.zip))
>> - import graphs via network (localhost)
>> - expand groups in outline
>> - open a graph
>> - open a clone
>> - zoom in and out
>> - search a node
>> - apply filters
>> - extract a node
>> - show all nodes
>> - select nodes corresponding to a bytecode
>> - view control flow
>> - select nodes corresponding to a basic block
>> - cluster nodes
>> - show satellite view
>> - compute the difference of two graphs
>> - change node text
>> - remove a group
>> - save groups into a file
>> - open a large graph file (large.xml in [test-input.zip](https://bugs.openjdk.java.net/secure/attachment/93988/test-input.zip))
>> - open a large graph ("After Escape Analysis" in large.xml)
>>
>> Thanks to Vladimir Ivanov for helping with testing on macOS.
>
> Roberto Castañeda Lozano has updated the pull request incrementally with three additional commits since the last revision:
>
>  - Document how to build and run on a specific JDK
>  - Use lambdas to define runnables
>  - Document latest JDK version supported

Marked as reviewed by chagedorn (Reviewer).

-------------

PR: https://git.openjdk.java.net/jdk/pull/3361
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264795: IGV: Upgrade NetBeans platform [v2]

Xin Liu
In reply to this post by Roberto Castañeda Lozano-2
On Wed, 7 Apr 2021 11:59:28 GMT, Roberto Castañeda Lozano <[hidden email]> wrote:

>> This change upgrades the NetBeans platform on which IGV is based to its latest version ([12.3](https://netbeans.apache.org/download/nb123/index.html)) and switches IGV's build system from Ant to Maven. The upgrade introduces support for a wide range of JDK versions (from 8 to 15, the latest version supported by NetBeans 12.3), and the switch from Ant to Maven makes the IGV build simpler, faster (first-time build is approximately 5x faster), and more stable (all dependencies are fetched directly from the Maven central repository).
>>
>> The change also fixes broken unit tests in the Data module and runs them by default when building.
>>
>> #### Testing
>>
>> Regression-tested the following use cases manually on all combinations of (Linux, Windows, macOS) and (JDK 8, JDK 11, JDK 15):
>>
>> - build
>> - open graph file (small.xml in [test-input.zip](https://bugs.openjdk.java.net/secure/attachment/93988/test-input.zip))
>> - import graphs via network (localhost)
>> - expand groups in outline
>> - open a graph
>> - open a clone
>> - zoom in and out
>> - search a node
>> - apply filters
>> - extract a node
>> - show all nodes
>> - select nodes corresponding to a bytecode
>> - view control flow
>> - select nodes corresponding to a basic block
>> - cluster nodes
>> - show satellite view
>> - compute the difference of two graphs
>> - change node text
>> - remove a group
>> - save groups into a file
>> - open a large graph file (large.xml in [test-input.zip](https://bugs.openjdk.java.net/secure/attachment/93988/test-input.zip))
>> - open a large graph ("After Escape Analysis" in large.xml)
>>
>> Thanks to Vladimir Ivanov for helping with testing on macOS.
>
> Roberto Castañeda Lozano has updated the pull request incrementally with three additional commits since the last revision:
>
>  - Document how to build and run on a specific JDK
>  - Use lambdas to define runnables
>  - Document latest JDK version supported

Thank you for modernizing IGV. I manage to import this project to IntelliJ. The process is hassle-free!

I also ran using jdk8/jdk11 on macOS. I haven't identified any problem so far.

src/utils/IdealGraphVisualizer/Filter/pom.xml line 93:

> 91:         <profile>
> 92:             <activation>
> 93:                 <jdk>[15,)</jdk>

Does this mean that module `Filter` will depend on external nashorn after jdk15?

I know that jdk doesn't remove nashorn util jdk15, but does it make sense that IGV always picks up external nashorn. My concern is "javascript" in jdk8/11 may be not well-maintained and leave vulnerability behind.

-------------

Marked as reviewed by xliu (no project role).

PR: https://git.openjdk.java.net/jdk/pull/3361
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264795: IGV: Upgrade NetBeans platform [v2]

Yi Yang
On Fri, 9 Apr 2021 23:07:39 GMT, Xin Liu <[hidden email]> wrote:

>> Roberto Castañeda Lozano has updated the pull request incrementally with three additional commits since the last revision:
>>
>>  - Document how to build and run on a specific JDK
>>  - Use lambdas to define runnables
>>  - Document latest JDK version supported
>
> Thank you for modernizing IGV. I manage to import this project to IntelliJ. The process is hassle-free!
>
> I also ran using jdk8/jdk11 on macOS. I haven't identified any problem so far.

Nice work. It works on Windows home pc. 🚀

-------------

PR: https://git.openjdk.java.net/jdk/pull/3361
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264795: IGV: Upgrade NetBeans platform [v2]

Roberto Castañeda Lozano-2
In reply to this post by Xin Liu
On Fri, 9 Apr 2021 23:07:39 GMT, Xin Liu <[hidden email]> wrote:

> Thank you for modernizing IGV. I manage to import this project to IntelliJ. The process is hassle-free!
>
> I also ran using jdk8/jdk11 on macOS. I haven't identified any problem so far.

Thanks for checking, Xin!

-------------

PR: https://git.openjdk.java.net/jdk/pull/3361
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264795: IGV: Upgrade NetBeans platform [v2]

Roberto Castañeda Lozano-2
In reply to this post by Roberto Castañeda Lozano-2
On Wed, 7 Apr 2021 11:59:28 GMT, Roberto Castañeda Lozano <[hidden email]> wrote:

>> This change upgrades the NetBeans platform on which IGV is based to its latest version ([12.3](https://netbeans.apache.org/download/nb123/index.html)) and switches IGV's build system from Ant to Maven. The upgrade introduces support for a wide range of JDK versions (from 8 to 15, the latest version supported by NetBeans 12.3), and the switch from Ant to Maven makes the IGV build simpler, faster (first-time build is approximately 5x faster), and more stable (all dependencies are fetched directly from the Maven central repository).
>>
>> The change also fixes broken unit tests in the Data module and runs them by default when building.
>>
>> #### Testing
>>
>> Regression-tested the following use cases manually on all combinations of (Linux, Windows, macOS) and (JDK 8, JDK 11, JDK 15):
>>
>> - build
>> - open graph file (small.xml in [test-input.zip](https://bugs.openjdk.java.net/secure/attachment/93988/test-input.zip))
>> - import graphs via network (localhost)
>> - expand groups in outline
>> - open a graph
>> - open a clone
>> - zoom in and out
>> - search a node
>> - apply filters
>> - extract a node
>> - show all nodes
>> - select nodes corresponding to a bytecode
>> - view control flow
>> - select nodes corresponding to a basic block
>> - cluster nodes
>> - show satellite view
>> - compute the difference of two graphs
>> - change node text
>> - remove a group
>> - save groups into a file
>> - open a large graph file (large.xml in [test-input.zip](https://bugs.openjdk.java.net/secure/attachment/93988/test-input.zip))
>> - open a large graph ("After Escape Analysis" in large.xml)
>>
>> Thanks to Vladimir Ivanov for helping with testing on macOS.
>
> Roberto Castañeda Lozano has updated the pull request incrementally with three additional commits since the last revision:
>
>  - Document how to build and run on a specific JDK
>  - Use lambdas to define runnables
>  - Document latest JDK version supported

> Nice work. It works on Windows home pc. rocket

Thanks for checking, Yang!

-------------

PR: https://git.openjdk.java.net/jdk/pull/3361
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264795: IGV: Upgrade NetBeans platform [v2]

Roberto Castañeda Lozano-2
In reply to this post by Xin Liu
On Fri, 9 Apr 2021 22:39:09 GMT, Xin Liu <[hidden email]> wrote:

> Does this mean that module Filter will depend on external nashorn after jdk15?

Yes (including JDK 15).

> I know that jdk doesn't remove nashorn util jdk15, but does it make sense that IGV always picks up external nashorn. My concern is "javascript" in jdk8/11 may be not well-maintained and leave vulnerability behind.

I assume potential issues in "built-in" Nashorn are addressed in JDK 8-14 as for any other OpenJDK component. Besides, [standalone (external) Nashorn only works on JDK >= 11](https://github.com/szegedi/nashorn/wiki/Using-Nashorn-with-different-Java-versions), and I think it makes sense that IGV stills support JDK 8 for minimal disruption (this was the only JDK version supported before this upgrade).

-------------

PR: https://git.openjdk.java.net/jdk/pull/3361