enso/test
Pavel Marek 5a7ad6bfe4
Upgrade enso to GraalVM for jdk 21 (#7991)
Upgrade to GraalVM JDK 21.
```
> java -version
openjdk version "21" 2023-09-19
OpenJDK Runtime Environment GraalVM CE 21+35.1 (build 21+35-jvmci-23.1-b15)
OpenJDK 64-Bit Server VM GraalVM CE 21+35.1 (build 21+35-jvmci-23.1-b15, mixed mode, sharing)
```

With SDKMan, download with `sdk install java 21-graalce`.

# Important Notes
- After this PR, one can theoretically run enso with any JRE with version at least 21.
- Removed `sbt bootstrap` hack and all the other build time related hacks related to the handling of GraalVM distribution.
- `project-manager` remains backward compatible - it can open older engines with runtimes. New engines now do no longer require a separate runtime to be downloaded.
- sbt does not support compilation of `module-info.java` files in mixed projects - https://github.com/sbt/sbt/issues/3368
- Which means that we can have `module-info.java` files only for Java-only projects.
- Anyway, we need just a single `module-info.class` in the resulting `runtime.jar` fat jar.
- `runtime.jar` is assembled in `runtime-with-instruments` with a custom merge strategy (`sbt-assembly` plugin). Caching is disabled for custom merge strategies, which means that re-assembly of `runtime.jar` will be more frequent.
- Engine distribution contains multiple JAR archives (modules) in `component` directory, along with `runner/runner.jar` that is hidden inside a nested directory.
- The new entry point to the engine runner is [EngineRunnerBootLoader](https://github.com/enso-org/enso/pull/7991/files#diff-9ab172d0566c18456472aeb95c4345f47e2db3965e77e29c11694d3a9333a2aa) that contains a custom ClassLoader - to make sure that everything that does not have to be loaded from a module is loaded from `runner.jar`, which is not a module.
- The new command line for launching the engine runner is in [distribution/bin/enso](https://github.com/enso-org/enso/pull/7991/files#diff-0b66983403b2c329febc7381cd23d45871d4d555ce98dd040d4d1e879c8f3725)
- [Newest version of Frgaal](https://repo1.maven.org/maven2/org/frgaal/compiler/20.0.1/) (20.0.1) does not recognize `--source 21` option, only `--source 20`.
2023-11-17 18:02:36 +00:00
..
AWS_Tests S3 Read Access, Input Stream based reading (#7776) 2023-09-20 15:09:11 +00:00
Benchmarks Upgrade enso to GraalVM for jdk 21 (#7991) 2023-11-17 18:02:36 +00:00
Examples_Tests S3 Read Access, Input Stream based reading (#7776) 2023-09-20 15:09:11 +00:00
Exploratory_Benchmarks Compare performance of Panic / Java Exception / Dataflow error (#8130) 2023-10-24 12:03:44 +00:00
Geo_Tests All Enso objects are hasheable (#3878) 2023-01-19 10:33:25 +01:00
Google_Api_Test Parse the standard library (#3830) 2022-10-31 16:19:12 +00:00
Image_Tests Improve Non_Unique_Primary_Key error, split file format detection into read/write, improve SQLite format detection (#6604) 2023-05-09 17:15:44 +00:00
Meta_Test_Suite_Tests Remove old (Java) Regex library and replace with new (Truffle) library. (#6195) 2023-04-04 19:58:26 +00:00
micro-distribution expressionUpdates do not contain Method Pointer of operators (#7659) 2023-09-15 08:01:21 +00:00
Table_Tests Allow the creation of a constant column on an in-memory table with no rows. (#8218) 2023-11-09 14:40:51 +00:00
Tests Upgrade enso to GraalVM for jdk 21 (#7991) 2023-11-17 18:02:36 +00:00
Visualization_Tests Drop-down widgets for extension functions via UnresolvedSymbol (#7115) 2023-06-27 15:19:42 +00:00