diff --git a/Dockerfile b/Dockerfile index dd045e7..af09e01 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,12 +9,17 @@ ENV SBT_HOME=/usr/local/sbt ENV PATH=${SBT_HOME}/bin:${PATH} # Install required tools and the specific version of SBT +# The .tgz for 0.13.11 is missing from GitHub releases. We'll install it manually. RUN apt-get update && \ apt-get install -y curl && \ - curl -L -o sbt.tgz https://github.com/sbt/sbt/releases/download/v${SBT_VERSION}/sbt-${SBT_VERSION}.tgz && \ - tar -xzf sbt.tgz -C /usr/local && \ - rm sbt.tgz && \ - apt-get purge -y --auto-remove curl + mkdir -p "${SBT_HOME}/bin" && \ + curl -L -o "${SBT_HOME}/bin/sbt-launch.jar" "https://repo1.maven.org/maven2/org/scala-sbt/sbt-launch/${SBT_VERSION}/sbt-launch-${SBT_VERSION}.jar" && \ + echo '#!/bin/sh' > "${SBT_HOME}/bin/sbt" && \ + echo 'SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"' >> "${SBT_HOME}/bin/sbt" && \ + echo 'java $SBT_OPTS -jar `dirname $0`/sbt-launch.jar "$@"' >> "${SBT_HOME}/bin/sbt" && \ + chmod 0755 "${SBT_HOME}/bin/sbt" && \ + apt-get purge -y --auto-remove curl && \ + rm -rf /var/lib/apt/lists/* WORKDIR /app