enso/engine
Pavel Marek 96082c3bae
Remove akka from runtime (#8953)
There are two projects transitively required by `runtime`, that have akka dependencies:
- `downloader`
- `connected-lock-manager`

This PR replaces the `akka-http` dependency in `downloader` by HttpClient from JDK, and splits `connected-lock-manager` into two projects such that there are no akka classes in `runtime.jar`.

# Important Notes
- Simplify the `downloader` project - remove akka.
- Add HTTP tests to the `downloader` project that uses our `http-test-helper` that is normally used for stdlib tests.
- It required few tweaks so that we can embed that server in a unit test.
- Split `connected-lock-manager` project into two projects - remove akka from `runtime`.
- **Native image build fixes and quality of life improvements:**
- Output of `native-image` is captured 743e167aa4
- The output will no longer be intertwined with the output from other commands on the CI.
- Arguments to the `native-image` are passed via an argument file, not via command line - ba0a69de6e
- This resolves an issue on Windows with "Command line too long", for example in https://github.com/enso-org/enso/actions/runs/7934447148/job/21665456738?pr=8953#step:8:2269
2024-02-19 16:39:05 +00:00
..
interpreter-dsl-test/src/test/java/org/enso/interpreter/dsl/test Update java formatter sbt plugin (#8543) 2023-12-15 14:45:23 +00:00
language-server Revert "Synchronize suggestions loading after the reconnect (#9043)" (#9072) 2024-02-15 13:39:56 +00:00
launcher/src All unit tests use the same testing logging provider (#8593) 2023-12-21 13:45:33 +00:00
polyglot-api/src Add support for positionalArgumentsExpressions of text visualizations (#9052) 2024-02-13 23:08:30 +00:00
runner Remove akka from runtime (#8953) 2024-02-19 16:39:05 +00:00
runtime Remove akka from runtime (#8953) 2024-02-19 16:39:05 +00:00
runtime-benchmarks/src/main Equality with conversions (#9070) 2024-02-19 17:18:56 +01:00
runtime-compiler/src/main Introduce hash seed to invaldiate caches (#9082) 2024-02-16 23:43:30 +00:00
runtime-fat-jar/src/main/java Edits are processed in the order of submission (#8787) 2024-01-22 23:05:41 +00:00
runtime-instrument-common/src Keep single execute expression job in the queue (#9077) 2024-02-19 09:18:04 +00:00
runtime-instrument-id-execution/src/main/java/org/enso/interpreter/instrument Update java formatter sbt plugin (#8543) 2023-12-15 14:45:23 +00:00
runtime-instrument-repl-debugger/src/main/java/org/enso/interpreter/instrument Introducing engine/runtime-compiler project (#8197) 2023-11-01 12:42:34 +01:00
runtime-instrument-runtime-server/src/main/java/org/enso/interpreter/instrument Edits are processed in the order of submission (#8787) 2024-01-22 23:05:41 +00:00
runtime-integration-tests/src/test Equality with conversions (#9070) 2024-02-19 17:18:56 +01:00
runtime-language-arrow/src Arrow language (#8512) 2024-01-12 18:19:36 +00:00
runtime-language-epb/src Update java formatter sbt plugin (#8543) 2023-12-15 14:45:23 +00:00
runtime-parser/src Introduce hash seed to invaldiate caches (#9082) 2024-02-16 23:43:30 +00:00
runtime-test-instruments/src/main/java Binary operator resolution based on that value (#8779) 2024-01-27 08:38:47 +01:00
README.md Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00

The Enso Engine

The Enso engine is the codebase responsible for compiling and executing Enso code, as well as providing language server functionality to users of the language. It is subdivided into two major components:

  • Language Server: The Enso language service.
  • Polyglot API: The truffle-boundary safe API for communication between the language server and the runtime.
  • Runner: The command-line interface for Enso.
  • Runtime: The compiler and interpreter for Enso.