enso/distribution/launcher
Pavel Marek 9a49a02e3f
--jvm tries to find Java executable system-wide. (#11500)
Fixes `--jvm` option, given to the native image. This was failing on my machine, because when given `--jvm` option, the runner was trying to find the `java` executable from the distribution manager's runtime (on my system located in `~/.local/share/enso/runtime`) and it used the first runtime found. But the first runtime on my system is JDK 17.

The `--jvm` option now tries to:
- Find a JDK from the distribution manager that has the same version as the JDK used for building the engine.
- If there is not an exact version match, it tries to find a runtime from distribution manager that is *newer*.
- If none, fallback to system-wide search
- System-wide search tries to find `java` from `$JAVA_HOME` and from `$PATH`. But this is just a fallback.

# Important Notes
- Added test to Engine CI jobs that pass `--jvm` argument to a native image of engine-runner
- ea3af5ffbc
- `runtime-version-manager` sbt project migrated to a JPMS module
- `engine-runner` now depends on `runtime-version-manager`.
- Removed unnecessary stuff in `runtime-version-manager` dealing with outdated `gu` Graal Updater utility.
- Extracted [GraalVersionManager](1455b025cb/lib/scala/runtime-version-manager/src/main/java/org/enso/runtimeversionmanager/components/GraalVersionManager.java) from [RuntimeVersionManager](d2e8994700/lib/scala/runtime-version-manager/src/main/scala/org/enso/runtimeversionmanager/components/RuntimeVersionManager.scala)
2024-11-18 22:44:54 +00:00
..
THIRD-PARTY --jvm tries to find Java executable system-wide. (#11500) 2024-11-18 22:44:54 +00:00
.enso.portable Automate the Enso release process (#989) 2020-07-21 17:30:01 +01:00
README.md Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00

Enso CLI

Actionables for this file:

  • This is just a draft of the file that will be included inside the launcher distribution. It should be completed when the launcher is implemented.

Installation

The Enso distribution is portable, you can put this directory wherever you want on your system. For example you can put it at ~/.enso.

It is a good idea to add the bin directory to your system PATH so that you can run Enso just by typing enso in any directory.

Usage

Actionables for this section:

  • Fill in examples showing how to use the launcher.

Distribution structure

Actionables for this section:

  • This should explain the structure of enso distribution directory, based on the documentation.