diff --git a/config/languages.json b/config/languages.json index 2a18b45..2fd5b1e 100644 --- a/config/languages.json +++ b/config/languages.json @@ -222,6 +222,13 @@ "rust" ] }, + { + "name": "scala", + "aliases": [ + "scala", + "sc" + ] + }, { "name": "swift", "aliases": [ diff --git a/lxc/executors/scala b/lxc/executors/scala new file mode 100755 index 0000000..8eba78d --- /dev/null +++ b/lxc/executors/scala @@ -0,0 +1,4 @@ +#!/bin/bash + +cp code.code interim.scala +timeout -s KILL 10 xargs -a args.args -d '\n' scala interim.scala < stdin.stdin diff --git a/lxc/tests/_run b/lxc/tests/_run index 676b8cb..e063d4f 100755 --- a/lxc/tests/_run +++ b/lxc/tests/_run @@ -60,6 +60,8 @@ echo -n 'testing ruby = ' ../../cli/execute ruby ruby.rb echo -n 'testing rust = ' ../../cli/execute rust rust.rs +echo -n 'testing scala = ' +../../cli/execute scala scala.scala echo -n 'testing swift = ' ../../cli/execute swift swift.swift echo -n 'testing typescript = ' diff --git a/lxc/tests/scala.scala b/lxc/tests/scala.scala new file mode 100644 index 0000000..4083d74 --- /dev/null +++ b/lxc/tests/scala.scala @@ -0,0 +1,3 @@ +@main def run(): Unit = { + println("good") +} diff --git a/lxc/util/versions b/lxc/util/versions index ee139c8..f280210 100755 --- a/lxc/util/versions +++ b/lxc/util/versions @@ -125,6 +125,10 @@ echo 'rust' lxc-attach --clear-env -n piston -- /bin/bash -l -c "rustc --version" echo '---' +echo 'scala' +lxc-attach --clear-env -n piston -- /bin/bash -l -c "scala -version" +echo '---' + echo 'swift' lxc-attach --clear-env -n piston -- /bin/bash -l -c "swift --version" echo '---' diff --git a/readme.md b/readme.md index 613b980..24fb0f8 100644 --- a/readme.md +++ b/readme.md @@ -284,6 +284,7 @@ Content-Type: application/json `python3`, `ruby`, `rust`, +`scala`, `swift`, `typescript`, `zig`, diff --git a/var/install.txt b/var/install.txt index bc7eae9..d332d25 100644 --- a/var/install.txt +++ b/var/install.txt @@ -102,6 +102,15 @@ tar -xzf rust-1.49.0-x86_64-unknown-linux-gnu.tar.gz cd rust-1.49.0-x86_64-unknown-linux-gnu ./install.sh +# install scala +# final binary: /opt/scala/scala3-3.0.0-M3/bin/scala +# get version: /opt/scala/scala3-3.0.0-M3/bin/scala -version +cd /opt && mkdir scala && cd scala +wget https://github.com/lampepfl/dotty/releases/download/3.0.0-M3/scala3-3.0.0-M3.tar.gz +tar -xzf scala3-3.0.0-M3.tar.gz +echo 'export PATH=$PATH:/opt/scala/scala3-3.0.0-M3/bin' >> /opt/.profile +source /opt/.profile + # install swift # final binary: /opt/swift/swift-5.1.5-RELEASE-ubuntu18.04/usr/bin/swift # get version: /opt/swift/swift-5.1.5-RELEASE-ubuntu18.04/usr/bin/swift --version @@ -130,6 +139,8 @@ cd /opt && mkdir java && cd java wget https://download.java.net/java/GA/jdk14/076bab302c7b4508975440c56f6cc26a/36/GPL/openjdk-14_linux-x64_bin.tar.gz tar -xzf openjdk-14_linux-x64_bin.tar.gz echo 'export PATH=$PATH:/opt/java/jdk-14/bin' >> /opt/.profile +# Scala will complain if JAVA_HOME isn't set +echo 'export JAVA_HOME=/opt/java/jdk-14' >> /opt/.profile source /opt/.profile # install jelly