#!/bin/sh
# Copyright 2022 Clayton Craft <clayton@craftyguy.net>
# SPDX-License-Identifier: GPL-3.0-or-later

help() {
	echo "*** This is meant for local testing only! ***"
	echo "Build/run command locally, optionally with delve (by setting DEBUG)"
	printf "\t./run <superd | superctl> [...]\n"
}

if [ -z "$1" ]; then
	help
	exit 1
elif [ "$1" = "-h" ]; then
	help
	exit 0
fi

__dir="$(pwd)/home"
export XDG_RUNTIME_DIR="$__dir/runtime_dir"
export XDG_CONFIG_HOME="$__dir/config"
export XDG_STATE_HOME="$__dir"

for d in "$XDG_RUNTIME_DIR" "$XDG_CONFIG_HOME" "$XDG_STATE_HOME"; do
	[ -d "$d" ] && continue
	echo "* Creating $d"
	mkdir -p "$d"
done

export | grep 'XDG_RUNTIME_DIR\|XDG_CONFIG_HOME\|XDG_STATE_HOME'

cmd="./cmd/$1"
shift

if [ -n "$DEBUG" ]; then
	cmd="dlv debug $cmd --"
else
	cmd="go run -race $cmd"
fi

echo "Log is at: $XDG_STATE_HOME/superd.log"

eval "$cmd $*"
