From 71df01c00fcc6a39b9bb217a08b38a4c22640e05 Mon Sep 17 00:00:00 2001
From: Pratik Mallya <mallya@us.ibm.com>
Date: Wed, 14 Mar 2018 05:25:52 -0500
Subject: [PATCH] Simplify Dockerfile

Use multi stage Dockerfile to greatly simplify build.
---
 Dockerfile | 29 ++++++++++++++++++++++-------
 1 file changed, 22 insertions(+), 7 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 58ec83a..9a6abc1 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,10 +1,25 @@
+FROM ubuntu:16.04 AS build
+
+# Install GHC and cabal
+USER root
+WORKDIR /opt/shellCheck
+
+COPY . .
+
+RUN apt-get update && apt-get install -y \
+  ghc \
+  cabal-install
+RUN cabal update && \
+  cabal install --dependencies-only
+RUN cabal build Paths_ShellCheck && \
+  ghc -optl-static -optl-pthread -idist/build/autogen --make shellcheck && \
+  strip --strip-all shellcheck
+
+RUN mkdir -p /out/bin && \
+  cp shellcheck  /out/bin/
+
 FROM scratch
-
 LABEL maintainer="Vidar Holen <vidar@vidarholen.net>"
-
-# This file assumes ShellCheck has already been built.
-# See https://github.com/koalaman/scbuilder
-COPY shellcheck /bin/shellcheck
-
-WORKDIR /mnt
+WORKDIR /
+COPY --from=build /out /
 ENTRYPOINT ["/bin/shellcheck"]