#!/bin/bash

printError() {
  echo >&2 "ERROR:";
  echo >&2 "$0 command is not installed correctly. ";
  TROUBLESHOOTING="When installing <package_name>, did you see any errors in the log? "
  TROUBLESHOOTING="$TROUBLESHOOTING - What does (which <binary_name>) return? "
  TROUBLESHOOTING="$TROUBLESHOOTING - Please file a github issue on <package_name>'s repo."
  echo >&2 "$TROUBLESHOOTING";
}

if [ -z ${REASON_hCLI__ENVIRONMENTSOURCED__REBUILD+x} ]; then
  if [ -z ${REASON_hCLI__ENVIRONMENTSOURCED+x} ]; then
    
#
# Define $SCRIPTDIR
#

SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
  SCRIPTDIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
  SOURCE="$(readlink "$SOURCE")"
  [[ $SOURCE != /* ]] && SOURCE="$SCRIPTDIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
SCRIPTDIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"

    esyReleasePackageRoot=$(dirname "$SCRIPTDIR")
    export ESY_EJECT__PREFIX="$esyReleasePackageRoot"
    esySandboxEnv="$esyReleasePackageRoot/r/build-eject/sandbox-env"
    source "$esySandboxEnv"
    export REASON_hCLI__ENVIRONMENTSOURCED="sourced"
    export REASON_hCLI__ENVIRONMENTSOURCED__REBUILD="sourced"
  fi
  command -v $0 >/dev/null 2>&1 || {
    printError;
    exit 1;
  }
  if [ "$1" == "----where" ]; then
  which "rebuild"
else
  exec "rebuild" "$@"
fi
else
  printError;
  exit 1;
fi
