java support

This commit is contained in:
Brian Seymour 2018-10-05 21:11:12 -05:00
parent e050d5ae35
commit 5d8f52afd3
3 changed files with 16 additions and 6 deletions

View File

@ -41,16 +41,17 @@ func Execute(res http.ResponseWriter, req *http.Request) {
message.Decode(&inbound)
whitelist := []string{
"python", "python2", "python3",
"ruby",
"javascript", "js", "node",
"c",
"cpp", "c++",
"go",
"r",
"php",
"c#", "csharp", "cs",
"go",
"java",
"nasm", "asm",
"javascript", "js", "node",
"php",
"python", "python2", "python3",
"r",
"ruby",
}
// check if the supplied language is supported

View File

@ -50,6 +50,9 @@ case "$lang" in
"nasm" | "asm")
bin=executor_nasm
;;
"java")
bin=executor_java
;;
*)
echo "invalid language"
exit
@ -72,6 +75,7 @@ docker run \
-v $dir/executors/r:/executor_r:ro \
-v $dir/executors/php:/executor_php:ro \
-v $dir/executors/nasm:/executor_nasm:ro \
-v $dir/executors/java:/executor_java:ro \
piston \
runuser \
-l runner \

5
docker/executors/java Executable file
View File

@ -0,0 +1,5 @@
cp /*.code .
name=$(cat $1 | grep -Eo 'public class ([A-Za-z0-9]+)' | cut -d' ' -f3)
mv $1 $name.java
timeout -s KILL 10 javac $name.java
timeout -s KILL 3 java $name ${@:3}