lib/Tools/scala_build
author wenzelm
Sun, 18 Jul 2021 12:48:31 +0200
changeset 74038 b4f57bfe82e7
child 74041 6bf9f94198a7
permissions -rwxr-xr-x
more robust "isabelle build_scala" as separate tool;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
74038
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
     1
#!/usr/bin/env bash
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
     2
#
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
     3
# Author: Makarius
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
     4
#
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
     5
# DESCRIPTION: build Isabelle/Scala/Java components
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
     6
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
     7
## diagnostics
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
     8
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
     9
PRG="$(basename "$0")"
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    10
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    11
function usage()
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    12
{
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    13
  echo
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    14
  echo "Usage: isabelle $PRG [OPTIONS]"
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    15
  echo
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    16
  echo "  Options are:"
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    17
  echo "    -f           force fresh build"
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    18
  echo "    -q           quiet mode: suppress stdout/stderr"
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    19
  echo
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    20
  exit 1
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    21
}
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    22
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    23
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    24
## process command line
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    25
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    26
COMMAND="build"
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    27
QUIET=""
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    28
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    29
while getopts "fq" OPT
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    30
do
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    31
  case "$OPT" in
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    32
    f)
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    33
      COMMAND="build_fresh"
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    34
      ;;
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    35
    q)
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    36
      QUIET="true"
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    37
      ;;
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    38
    \?)
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    39
      usage
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    40
      ;;
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    41
  esac
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    42
done
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    43
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    44
shift $(($OPTIND - 1))
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    45
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    46
[ "$#" -ne 0 ] && usage
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    47
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    48
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    49
## main
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    50
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    51
#remove historic material
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    52
rm -rf \
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    53
  "$ISABELLE_HOME/lib/classes/Pure.jar" \
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    54
  "$ISABELLE_HOME/lib/classes/Pure.shasum" \
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    55
  "$ISABELLE_HOME/src/Tools/jEdit/dist"
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    56
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    57
classpath "$CLASSPATH"; unset CLASSPATH
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    58
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    59
eval "declare -a JAVA_ARGS=($ISABELLE_TOOL_JAVA_OPTIONS)"
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    60
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    61
JAVA_ARGS["${#JAVA_ARGS[@]}"]="-classpath"
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    62
JAVA_ARGS["${#JAVA_ARGS[@]}"]="$(platform_path "$ISABELLE_CLASSPATH")"
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    63
JAVA_ARGS["${#JAVA_ARGS[@]}"]="isabelle.setup.Setup"
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    64
JAVA_ARGS["${#JAVA_ARGS[@]}"]="$COMMAND"
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    65
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    66
if [ -z "$QUIET" ]; then
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    67
  isabelle_java java "${JAVA_ARGS[@]}"
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    68
else
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    69
  isabelle_java java "${JAVA_ARGS[@]}" > /dev/null 2> /dev/null
b4f57bfe82e7 more robust "isabelle build_scala" as separate tool;
wenzelm
parents:
diff changeset
    70
fi