#!/bin/sh
cd "$(dirname "$0")"

BASE="${PWD}/../"
IMAGE="m1k1o/neko"

build_client() {
  docker build -t neko-dev-client -f base/Dockerfile --target client "${BASE}"
  docker run --rm \
    --user "$(id -u):$(id -g)" \
    -v "${BASE}client/dist:/tmp/dist" \
    neko-dev-client sh -c "rm -rf /tmp/dist/*; cp -r /src/dist/* /tmp/dist"
}

build_server() {
  docker build -t neko-dev-server -f base/Dockerfile --target server "${BASE}"
  docker run --rm \
    --user "$(id -u):$(id -g)" \
    -v "${BASE}server/bin:/tmp/bin" \
    neko-dev-server sh -c "rm -rf /tmp/bin/neko; cp /src/bin/neko /tmp/bin"
}

build_base() {
  docker build -t "${IMAGE}:base" -f base/Dockerfile "${BASE}"
}

build() {
  docker build -t "${IMAGE}:$1" -f "$1/Dockerfile" "$1/"
}

case $1 in
  client) build_client;;
  server) build_server;;
  base) build_base;;
  *) build "$1";;
esac
