#!/bin/bash

# Setup some environmental context for developers
if [ -z "${JAVA_HOME}" ]; then
    if [ -x /usr/libexec/java_home ]; then
        export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
    elif [ -d /usr/lib/jvm/java-8-oracle ]; then
        export JAVA_HOME="/usr/lib/jvm/java-8-oracle"
    elif [ -d /usr/lib/jvm/java-8-openjdk-amd64 ]; then
        export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
    fi
fi

ATOMIX_ROOT="$(dirname "$(dirname "$0")")"

if [ -n "$ATOMIX_LOG" ]; then
    LOG="$ATOMIX_LOG"
else
    LOG="$ATOMIX_ROOT/log"
fi

if [ -n "$ATOMIX_TRACE" ]; then
    LEVEL="TRACE"
elif [ -n "$ATOMIX_DEBUG" ]; then
    LEVEL="DEBUG"
else
    LEVEL="INFO"
fi

java \
  -XX:+UseConcMarkSweepGC \
  -XX:+CMSIncrementalMode \
  -Datomix.root="$ATOMIX_ROOT" \
  -Datomix.data="$ATOMIX_ROOT/data" \
  -Datomix.log="$LOG" \
  -Datomix.level="$LEVEL" \
  -Datomix.config="$ATOMIX_ROOT/conf/atomix.conf" \
  -Dlogback.configurationFile="$ATOMIX_ROOT/conf/logback.xml" \
  -cp .:"$ATOMIX_ROOT/lib/system/*":"$ATOMIX_ROOT/lib/ext/*" \
  io.atomix.agent.AtomixAgent \
  "$@"
