#!/usr/bin/env bash
#
# Author: Makarius
#
# DESCRIPTION: invoke Scala within the Isabelle environment

isabelle scala_build || exit $?

declare -a JAVA_ARGS=()
for ARG in $ISABELLE_JAVA_SYSTEM_OPTIONS
do
  JAVA_ARGS["${#JAVA_ARGS[@]}"]="-J$ARG"
done

classpath "$ISABELLE_SETUP_CLASSPATH"; unset ISABELLE_SETUP_CLASSPATH
classpath "$CLASSPATH"; export CLASSPATH=""

export jvm_cp_args="$(platform_path "$ISABELLE_CLASSPATH")"
export JAVA_OPTS="$ISABELLE_JAVA_SYSTEM_OPTIONS -J-Dscala.usejavacp=true"

case "$ISABELLE_PLATFORM_FAMILY" in
  windows*)
    export TERM=dumb
    ;;
esac

isabelle_scala scala "${JAVA_ARGS[@]}" $ISABELLE_SCALAC_OPTIONS "$@"
