#!/usr/bin/env bash

# find the current directory
SCRIPT="$0"

# if SCRIPT is a series of symbolic links; loop to get the concrete path
while [ -h "$SCRIPT" ] ; do
  ls=`ls -ld "$SCRIPT"`
  link=`expr "$ls" : '.*-> \(.*\)$'`
  if expr "$link" : '/.*' > /dev/null; then
    SCRIPT="$link"
  else
    SCRIPT=`dirname "$SCRIPT"`/"$link"
  fi
done
PRGDIR=`dirname "$SCRIPT"`
# make PRGDIR absolute
PRGDIR=`cd "$PRGDIR"; pwd`

# set the parent directory as HAZELCAST_HOME.
export HAZELCAST_HOME=${HAZELCAST_HOME:-$(cd "$PRGDIR/.." >/dev/null; pwd -P)}

if [ $JAVA_HOME ] ; then
    RUN_JAVA=$JAVA_HOME/bin/java
else
    RUN_JAVA=`command -v java 2>/dev/null`
fi

if [ -z $RUN_JAVA ] ; then
    echo "Error: JRE not found. Please install JRE 8 or higher in your PATH or set JAVA_HOME appropriately"
    exit 1
fi

export CLASSPATH="$HAZELCAST_HOME/lib/hazelcast-command-line-4.2021.06.jar:$HAZELCAST_HOME/lib/hazelcast-all-4.2.1.jar:$HAZELCAST_HOME/bin/download:$HAZELCAST_HOME/bin/download/hazelcast-download.properties"

HZ_CMD="${RUN_JAVA} -cp ${CLASSPATH} ${JAVA_OPTS} -Dhazelcast.commandline.workingdirectory=${HAZELCAST_HOME} com.hazelcast.commandline.HazelcastCommandLine"

${HZ_CMD} "$@"
