#!/bin/sh

LIBEXEC="$(cd "$(dirname "$0")" && pwd)"
. "${LIBEXEC}/base.sh"

# shellcheck disable=SC2034
usage=$(cat <<EOF
Build a Charliecloud image specified by \$PWD/Dockerfile and unpack it.
Equivalent to ch-build, ch-docker2tar, ch-tar2dir sequence but somewhat less
flexible.

Usage:

  $ $(basename "$0") CONTEXT DEST [ARGS ...]

Arguments:

  CONTEXT  Docker context directory
  DEST     directory in which to place image tarball and directory
  ARGS     additional arguments passed to ch-build
EOF
)

parse_basic_args "$@"

if [ "$#" -lt 2 ]; then
    usage
fi

CONTEXT="$1"
DEST="$2"
shift 2

TAG=$(basename "$PWD")

set -x

"$CH_BIN"/ch-build -t "$TAG" "$CONTEXT" "$@"
"$CH_BIN"/ch-docker2tar "$TAG" "$DEST"
"$CH_BIN"/ch-tar2dir "$DEST/$TAG.tar.gz" "$DEST"
rm "$DEST/$TAG.tar.gz"
