Project Manager to stores its metadata inside the project directory,
instead of maintaining the global index. This will allow users to move
and modify files inside the ~/enso directory.
Names of fields `author` and `maintainer` in the `package.yaml` file
have been changed to `authors` and `maintainers` respectively, and their
format has been modified.
Projects created in older versions may not be compatible.
1. Our builds include a version check which for stability does not rely
on build.sbt but instead on querying enso --version. Building the
engine takes a lot of time, so to save that time on failed builds,
we ensure that the launcher is built first (which is much faster)
and only if its version check succeeds, the engine build is
attempted. This is achieved by making the `build-engine` job in
`release.yml` depend on `build-launcher`.
2. Enso version is bumped to `0.1.0`.
1. This commit adds an extensive library for parsing commandline
arguments and formatting output.
2. It implements the expected CLI for the launcher.
3. It turns off parallel execution on the CI in hopes of making it
more stable.
4. It implements plugin support in the launcher.
The old version did not take Language.java into account and it did not
trigger compilation on transitive dependencies.
Still did not find a way to safely re-trigger compilation, but a run
with inconsistent state is now aborted and a message is displayed to the
user to manually re-run the last task which will fix the inconsistency
problems.
Incremental compilation of instruments may lead to runtime errors when
only some of the instruments are recompiled (because the unchanged
instruments are not registered by the Annotation Processor).
To fix this, we add a task that ensures all instruments are recompiled
when at least one of them changes.