Steps to reproduce
Inside a fresh checkout of the project:
Build the GraalVM component with mvn package --am --pl ./component.
Install the component in a GraalVM installation with gu install -L component/sl-component.jar.
Run sl language/tests/HelloWorld.sl
Expected situation
Output is something like "Hello World!"
Actual behaviour
Output is
Could not find language on /usr/bin/language/target/simplelanguage.jar. Did you run mvn package?
Analysis
I believe this is due to the fact that the sl script in the project root fails to detect it is invoked from an installed GraalVM component and so it follows the path for "local" invocations, i.e. from the project checkout.
I think it can be fixed by following the symlink (/usr/bin/sl) using readlink -f, and updating the relative paths to the language jar and the launcher jar accordingly.
Steps to reproduce Inside a fresh checkout of the project:
mvn package --am --pl ./component
.gu install -L component/sl-component.jar
.sl language/tests/HelloWorld.sl
Expected situation Output is something like "Hello World!"
Actual behaviour Output is
Analysis I believe this is due to the fact that the
sl
script in the project root fails to detect it is invoked from an installed GraalVM component and so it follows the path for "local" invocations, i.e. from the project checkout.The
sl
binary from the component is symlinked into/usr/bin
, so extracting the GraalVM version by inspecting "$SCRIPT_HOME/../release" fails.