From aeda95a2157086b844a89d9c8e46b77a393870fb Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 24 Apr 2021 17:59:06 +1200 Subject: [PATCH 01/14] add .code extension to files without file names --- api/src/executor/job.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/src/executor/job.js b/api/src/executor/job.js index c0cd1a6..f7adec2 100644 --- a/api/src/executor/job.js +++ b/api/src/executor/job.js @@ -21,7 +21,7 @@ class Job { this.uuid = uuidv4(); this.runtime = runtime; this.files = files.map((file,i) => ({ - name: file.name || `file${i}`, + name: file.name || `file${i}.code`, content: file.content })); From c6e78fa0730cfb2dfdcc6268892745ca40a68424 Mon Sep 17 00:00:00 2001 From: Thomas Hobson Date: Sat, 24 Apr 2021 19:35:14 +1200 Subject: [PATCH 02/14] test script --- packages/test.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100755 packages/test.sh diff --git a/packages/test.sh b/packages/test.sh new file mode 100755 index 0000000..9f30237 --- /dev/null +++ b/packages/test.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +AUTH_HEADER="Authorization: $API_KEY" + +for test_file in */*/test.* +do + IFS='/' read -ra test_parts <<< "$test_file" + language=${test_parts[0]} + lang_ver=${test_parts[1]} + + test_src=$(python3 -c "import json; print(json.dumps(open('$test_file').read()))") + + json='{"language":"'$language'","version":"'$lang_ver'","files":[{"content":'$test_src'}]}' + + result=$(curl -s -XPOST -H "Content-Type: application/json" -d "$json" https://emkc.org/api/v2/piston/execute -H $AUTH_HEADER) + + echo "==$test_file: $language-$lang_ver==" + #jq '.' <<<"$result" + jq -r '.compile.output + .run.output' <<<$result +done From f72c51d614857cefa739bff3466d79c24b91f124 Mon Sep 17 00:00:00 2001 From: Thomas Hobson Date: Sat, 24 Apr 2021 19:44:50 +1200 Subject: [PATCH 03/14] dotnet add cs extension --- packages/dotnet/5.0.201/compile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/dotnet/5.0.201/compile b/packages/dotnet/5.0.201/compile index 1500acb..8bfcc27 100644 --- a/packages/dotnet/5.0.201/compile +++ b/packages/dotnet/5.0.201/compile @@ -3,10 +3,13 @@ export DOTNET_CLI_HOME=$PWD export HOME=$PWD +rename 's/$/\.cs/' "$@" # Add .cs extension + dotnet build --help > /dev/null # Shut the thing up dotnet new console -o . --no-restore rm Program.cs + dotnet restore --source $DOTNET_ROOT/.nuget/packages dotnet build --no-restore \ No newline at end of file From dfdf8ce76e396790b6f399011fe898cfecf407b6 Mon Sep 17 00:00:00 2001 From: Thomas Hobson Date: Sat, 24 Apr 2021 19:46:36 +1200 Subject: [PATCH 04/14] gcc add extensions --- packages/gcc/10.2.0/compile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/gcc/10.2.0/compile b/packages/gcc/10.2.0/compile index acc9ae4..8ef8ec5 100644 --- a/packages/gcc/10.2.0/compile +++ b/packages/gcc/10.2.0/compile @@ -5,16 +5,16 @@ case "${PISTON_ALIAS}" in gcc | c) - gcc -std=c11 "$@" -lm + rename 's/$/\.c/' "$@" # Add .c extension + gcc -std=c11 *.c -lm ;; g++ | c++ | cpp) - g++ -std=c++17 "$@" - ;; - gccgo | go) - gccgo "$@" + rename 's/$/\.cpp/' "$@" # Add .cpp extension + g++ -std=c++17 *.cpp ;; gdc | d) - gdc "$@" + rename 's/$/\.d/' "$@" # Add .d extension + gdc *.d ;; *) echo "How did you get here? (${PISTON_ALIAS})" From d851515f37617de66840c54a807341628693a727 Mon Sep 17 00:00:00 2001 From: Thomas Hobson Date: Sat, 24 Apr 2021 19:51:33 +1200 Subject: [PATCH 05/14] api: install rename in container --- api/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/Dockerfile b/api/Dockerfile index 40ecb71..72eb257 100644 --- a/api/Dockerfile +++ b/api/Dockerfile @@ -10,7 +10,7 @@ RUN for i in $(seq 1001 1500); do \ RUN apt-get update && \ apt-get install -y libxml2 gnupg tar coreutils util-linux libc6-dev \ binutils build-essential locales libpcre3-dev libevent-dev libgmp3-dev \ - libncurses6 libncurses5 libedit-dev libseccomp-dev && \ + libncurses6 libncurses5 libedit-dev libseccomp-dev rename && \ rm -rf /var/lib/apt/lists/* RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen From 594ee7d436426d2d0bae3693fc5fd3ec4dc8a83b Mon Sep 17 00:00:00 2001 From: Thomas Hobson Date: Sat, 24 Apr 2021 20:08:42 +1200 Subject: [PATCH 06/14] zig extension --- packages/zig/0.7.1/compile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/zig/0.7.1/compile b/packages/zig/0.7.1/compile index af7e9eb..b666371 100644 --- a/packages/zig/0.7.1/compile +++ b/packages/zig/0.7.1/compile @@ -1,4 +1,6 @@ #!/usr/bin/env bash # optimizing for small programs -zig build-exe -O ReleaseSmall --color off --cache-dir . --global-cache-dir . --name out "$@" +rename 's/$/\.zig/' "$@" # Add .zig extension + +zig build-exe -O ReleaseSmall --color off --cache-dir . --global-cache-dir . --name out *.zig From ecfdfa52de2983381b97684dba90ebad0af950d5 Mon Sep 17 00:00:00 2001 From: Thomas Hobson Date: Sat, 24 Apr 2021 20:08:48 +1200 Subject: [PATCH 07/14] vlang extension --- packages/vlang/0.1.13/run | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/vlang/0.1.13/run b/packages/vlang/0.1.13/run index d8fa7b2..18b6c05 100644 --- a/packages/vlang/0.1.13/run +++ b/packages/vlang/0.1.13/run @@ -5,4 +5,9 @@ export VMODULES="$PWD" export TMPDIR="$PWD" # Put instructions to run the runtime -v run "$@" \ No newline at end of file + +rename 's/$/\.v/' "$@" # Add .v extension + +filename=$1.v +shift +v run $filename "$@" \ No newline at end of file From 8923fbd5cfdb4e7fc1e9e3cdbdbc75d03be98c22 Mon Sep 17 00:00:00 2001 From: Thomas Hobson Date: Sat, 24 Apr 2021 20:09:17 +1200 Subject: [PATCH 08/14] typescript extension --- packages/typescript/4.2.3/compile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/typescript/4.2.3/compile b/packages/typescript/4.2.3/compile index fdf5f19..d674bb0 100644 --- a/packages/typescript/4.2.3/compile +++ b/packages/typescript/4.2.3/compile @@ -2,4 +2,6 @@ # Put instructions to compile source code, remove this file if the language does not require this stage -tsc "$@" \ No newline at end of file +rename 's/$/\.ts/' "$@" # Add .ts extension + +tsc *.ts \ No newline at end of file From ceb902349f0ed3366336f688cd015a55d4749a47 Mon Sep 17 00:00:00 2001 From: Thomas Hobson Date: Sat, 24 Apr 2021 20:09:25 +1200 Subject: [PATCH 09/14] scala extension --- packages/scala/3.0.0/run | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/scala/3.0.0/run b/packages/scala/3.0.0/run index e8bd3c2..f8ff8a1 100644 --- a/packages/scala/3.0.0/run +++ b/packages/scala/3.0.0/run @@ -1,4 +1,4 @@ #!/usr/bin/env bash # Put instructions to run the runtime -scala -color never "$@" +scala "$@" From af91e66d64c955021ef692031c4f04412948729a Mon Sep 17 00:00:00 2001 From: Thomas Hobson Date: Sat, 24 Apr 2021 20:09:33 +1200 Subject: [PATCH 10/14] haskell extension --- packages/haskell/9.0.1/compile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/haskell/9.0.1/compile b/packages/haskell/9.0.1/compile index 2dd42e9..18e268b 100644 --- a/packages/haskell/9.0.1/compile +++ b/packages/haskell/9.0.1/compile @@ -1,5 +1,6 @@ #!/usr/bin/env bash # Compile haskell file(s) -ghc -dynamic -v0 -o out "$@" +rename 's/$/\.hs/' "$@" # Add .hs extension +ghc -dynamic -v0 -o out *.hs chmod +x out From d2c36d8a547ff50f45bdcd7cf10a5741cadd499b Mon Sep 17 00:00:00 2001 From: Thomas Hobson Date: Sat, 24 Apr 2021 20:09:39 +1200 Subject: [PATCH 11/14] java extension --- packages/java/15.0.2/run | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/java/15.0.2/run b/packages/java/15.0.2/run index 0837ba4..505e4e4 100644 --- a/packages/java/15.0.2/run +++ b/packages/java/15.0.2/run @@ -1,4 +1,7 @@ #!/usr/bin/env bash # Put instructions to run the runtime -java "$@" +mv $1 $1.java +filename=$1.java +shift +java $filename "$@" From a1209cdfd54e317b57b8920a862f946bdce48e36 Mon Sep 17 00:00:00 2001 From: Thomas Hobson Date: Sat, 24 Apr 2021 20:09:51 +1200 Subject: [PATCH 12/14] kotlin extension --- packages/kotlin/1.4.31/compile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/kotlin/1.4.31/compile b/packages/kotlin/1.4.31/compile index d042c39..027ade0 100644 --- a/packages/kotlin/1.4.31/compile +++ b/packages/kotlin/1.4.31/compile @@ -1,4 +1,7 @@ #!/usr/bin/env bash # Put instructions to compile source code, remove this file if the language does not require this stage -kotlinc "$@" -include-runtime -d code.jar \ No newline at end of file + +rename 's/$/\.kt/' "$@" # Add .kt extension + +kotlinc *.kt -include-runtime -d code.jar \ No newline at end of file From 5e9b9c888ebf19a0eaa849870ca9f78cee1d108f Mon Sep 17 00:00:00 2001 From: Thomas Hobson Date: Sat, 24 Apr 2021 20:09:59 +1200 Subject: [PATCH 13/14] ocaml extension --- packages/ocaml/4.12.0/compile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/ocaml/4.12.0/compile b/packages/ocaml/4.12.0/compile index c1d3e6a..39ddd0b 100644 --- a/packages/ocaml/4.12.0/compile +++ b/packages/ocaml/4.12.0/compile @@ -1,3 +1,5 @@ #!/bin/bash -ocamlc -o out "$@" +rename 's/$/\.ml/' "$@" # Add .ml extension + +ocamlc -o out *.ml From 03c64cfecfc45650b71eba1ad75523dd2143c219 Mon Sep 17 00:00:00 2001 From: Thomas Hobson Date: Sat, 24 Apr 2021 20:10:07 +1200 Subject: [PATCH 14/14] ponylang extension --- packages/ponylang/0.39.0/compile | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/ponylang/0.39.0/compile b/packages/ponylang/0.39.0/compile index a412613..b0538df 100644 --- a/packages/ponylang/0.39.0/compile +++ b/packages/ponylang/0.39.0/compile @@ -1,4 +1,5 @@ #!/usr/bin/env bash # Compile pony file(s) +rename 's/$/\.pong/' "$@" # Add .pony extension ponyc -b out \ No newline at end of file