#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
source "$PLUGIN_AVAILABLE_PATH/config/functions"

dokku_receive_cmd() {
  declare desc="receives an app kicks off deploy process"
  local cmd="receive"
  local APP="$2"; local IMAGE=$(get_app_image_name "$APP"); local IMAGE_SOURCE_TYPE="$3"; local TMP_WORK_DIR="$4"
  if [[ -z "$DOKKU_SKIP_CLEANUP" ]]; then
    dokku_log_info1 "Cleaning up..."
    docker_cleanup
  else
    dokku_log_info1 "DOKKU_SKIP_CLEANUP set. Skipping dokku cleanup"
  fi
  dokku_log_info1 "Building $APP from $IMAGE_SOURCE_TYPE..."
  config_set --no-restart "$APP" DOKKU_APP_TYPE="$IMAGE_SOURCE_TYPE" &> /dev/null
  dokku build "$APP" "$IMAGE_SOURCE_TYPE" "$TMP_WORK_DIR"
  release_and_deploy "$APP"
}

dokku_receive_cmd "$@"
