#!/bin/bash -e

BINDIR=$(cd "$(dirname "$0")" && pwd -P)
me=$(basename "$0")

if [ $(id -u) -eq 0 ]; then
  echo >&2 "*** $me: running FM under superuser account is not supported."
  exit 1
fi

export DIP_HOME=$(dirname "$BINDIR")

# Load basic environment
source "$BINDIR"/env-default.sh
if [ -z "$DKUINSTALLDIR" ]; then
  echo >&2 "FATAL: DKUINSTALLDIR is not defined. Please check $BINDIR/env-default.sh"
  exit 1
fi
source "$DKUINSTALLDIR/scripts/_startup.inc.sh"

fm_set_global_env
fm_set_java_env
fm_load_env_files
fm_env_sanity_check

# Final environment setup
export DKUBIN="$BINDIR"/dku
if ! DKUDISTRIB=$("$DKUINSTALLDIR"/scripts/install/find-distrib.sh 2>/dev/null); then
  DKUDISTRIB="unknown unknown"
fi
export DKUDISTRIB

exec "$DKUJAVABIN" \
  -Ddku.fmcli \
  $DKU_JAVA_OPTS \
  $DKU_FMCLI_JAVA_OPTS \
  -XX:+CrashOnOutOfMemoryError \
  -XX:ErrorFile=$DIP_HOME/run/hs_err_pid%p.log \
  -Djava.library.path="$DKU_FMCLI_JAVA_LIBRARY_PATH" \
  -cp "$(fm_get_cp)" \
	com.dataiku.fm.cli.FMInternalCLI "$@"
