From 2836eadb908a39f6e3fbd5f55b2b1e3a1b73518c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Guillaume=20Perr=C3=A9al?= <guillaume.perreal@inrae.fr>
Date: Sun, 10 May 2020 18:00:03 +0200
Subject: [PATCH] =?UTF-8?q?Ajoute=20un=20script=20d'ex=C3=A9cution.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .dockerignore   |  1 +
 Dockerfile      |  7 ++++---
 bin/prezbuilder | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 37 insertions(+), 3 deletions(-)
 create mode 100755 bin/prezbuilder

diff --git a/.dockerignore b/.dockerignore
index 6f01cb2..2b5e51a 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,3 +1,4 @@
 /node_modules
 /public
+/Dockerfile
 /.?*
diff --git a/Dockerfile b/Dockerfile
index b5c9d7f..762a38e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -51,10 +51,11 @@ ENV SERVER_HOST=0.0.0.0 \
     OUTPUT=/public \
     WKHTMLTOPDF_BINARY=/usr/local/bin/wkhtmltopdf
 
-RUN mkdir -p -m 0777 $OUTPUT
+RUN mkdir -p -m 0777 $OUTPUT \
+    && ln -s /opt/prezbuilder/bin/prezbuilder /usr/local/bin/prezbuilder
 
-WORKDIR /opt/prezbuilder
+WORKDIR /src
 EXPOSE 3000/tcp 35729/tcp
 
-ENTRYPOINT ["/opt/prezbuilder/node_modules/.bin/gulp"]
+ENTRYPOINT ["/usr/local/bin/prezbuilder"]
 CMD ["dev"]
diff --git a/bin/prezbuilder b/bin/prezbuilder
new file mode 100755
index 0000000..dae525a
--- /dev/null
+++ b/bin/prezbuilder
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+set -e
+
+usage() {
+  echo "Usage: $0 dev|build [src_dir [output_dir]]" >&2
+  exit 1
+}
+
+checkdir() {
+  if [[ -z $1 ]]; then
+    echo ""
+    return 0
+  fi
+  local DIR="$(readlink -f $1)"
+  if [[ ! -d "$DIR" ]]; then
+    echo "$1 is not an existing directory" >&2
+    usage
+  fi
+  echo "$DIR"
+  return 0
+}
+
+case "$1" in
+  dev|build) COMMAND="$1" ;;
+  *) usage
+esac
+
+export SRC="$(checkdir $2)"
+export OUTPUT="$(checkdir $3)"
+
+BASE="$(dirname $(readlink -f $0))/.."
+exec "$BASE/node_modules/.bin/gulp" --cwd "$BASE" "$COMMAND"
-- 
GitLab