diff --git a/server/container/openjdk/Dockerfile b/server/container/openjdk/Dockerfile index 543c149..6a134f7 100644 --- a/server/container/openjdk/Dockerfile +++ b/server/container/openjdk/Dockerfile @@ -1,10 +1,25 @@ FROM openjdk:11-jdk-slim-buster LABEL maintainer="Ryota Egusa " +ENV JAVA_HOME /usr/local/openjdk-11 + RUN apt-get update \ && apt-get install time sudo \ && apt-get clean +ENV KOTLIN_COMPILER_VERSION 1.3.41 + +RUN apt-get update \ + && apt-get install -y wget unzip \ + && wget https://github.com/JetBrains/kotlin/releases/download/v${KOTLIN_COMPILER_VERSION}/kotlin-compiler-${KOTLIN_COMPILER_VERSION}.zip -O /tmp/kotlin-compiler.zip \ + && unzip /tmp/kotlin-compiler.zip -d /usr/lib \ + && rm -f /tmp/kotlin-compiler.zip \ + && apt-get remove -y wget unzip \ + && apt-get autoremove -y \ + && apt-get clean + +ENV PATH $PATH:/usr/lib/kotlinc/bin + RUN sh -c 'echo 127.0.1.1 $(hostname) >> /etc/hosts' RUN mkdir /tmp/koj-workspace && chmod 777 /tmp/koj-workspace diff --git a/server/models/db.go b/server/models/db.go index ea6f755..98f0b29 100644 --- a/server/models/db.go +++ b/server/models/db.go @@ -165,6 +165,14 @@ func seedLanguages() { CompileCommand: "/usr/local/openjdk-11/bin/javac -d classes Main.java && /usr/local/openjdk-11/bin/jar --create --file main.jar --main-class Main -C classes .", ExecCommand: "/usr/local/openjdk-11/bin/java -XX:+UseContainerSupport -jar main.jar", }, + { + ImageName: "openjdk", + DisplayName: "Kotlin (1.3.41)", + FileName: "Main.kt", + ExeFileName: "main.jar", + CompileCommand: "JAVACMD=/usr/local/openjdk-11/bin/java /usr/lib/kotlinc/bin/kotlinc Main.kt -include-runtime -jdk-home /usr/local/openjdk-11 -d main.jar", + ExecCommand: "/usr/local/openjdk-11/bin/java -XX:+UseContainerSupport -cp main.jar MainKt", + }, } for _, l := range languages {