#!/usr/bin/env bash
set -euo pipefail
DIR="$(cd "$(dirname "$0")" && pwd)"
OS_NAME="$(uname -s 2>/dev/null || true)"
IS_WINDOWS=0
CP_SEP=":"
case "${OS_NAME}" in
  CYGWIN*|MINGW*|MSYS*) IS_WINDOWS=1; CP_SEP=";" ;;
esac
native_path() {
  if [ "${IS_WINDOWS}" = "1" ] && command -v cygpath >/dev/null 2>&1; then
    cygpath -m "${1}"
  else
    printf '%s' "${1}"
  fi
}
if [ "${IS_WINDOWS}" = "1" ] && [ -x "${DIR}/vlxjre/bin/java.exe" ]; then
  JAVA="${DIR}/vlxjre/bin/java.exe"
elif [ -x "${DIR}/vlxjre/bin/java" ]; then
  JAVA="${DIR}/vlxjre/bin/java"
elif [ -n "${APP_JRE_HOME:-}" ]; then
  JAVA="${APP_JRE_HOME}/bin/java"
else
  echo "P4JX runtime JRE not found; rebuild the application package." >&2
  exit 1
fi
CP="$(native_path "${DIR}/app.p4jx")"
JVM_OPTS=()
if [ -n "${APP_JAVA_OPTS:-}" ]; then
  # shellcheck disable=SC2206
  JVM_OPTS+=(${APP_JAVA_OPTS})
fi
exec "${JAVA}" ${JVM_OPTS[@]+"${JVM_OPTS[@]}"} -cp "${CP}" io.p4jx.enc.ui.GuiMainKt "$@"
