lib/scripts/java_ext_dirs
author wenzelm
Thu, 23 Jun 2011 16:34:29 +0200
changeset 43522 2562d6c81b03
parent 43521 d477b92109b8
child 43536 6eec653d5599
permissions -rwxr-xr-x
adapted to Cygwin;

#!/usr/bin/env bash
#
# Author: Makarius
#
# Augment Java extension directories.

## diagnostics

function fail()
{
  echo "$1" >&2
  exit 2
}


## dependencies

SOURCE="$ISABELLE_HOME/src/Pure/System/Java_Ext_Dirs.java"

TARGET_DIR="$ISABELLE_HOME/lib/classes"
TARGET="$TARGET_DIR/java_ext_dirs.jar"

if [ ! -e "$TARGET" -o "$SOURCE" -nt "$TARGET" ]; then
  mkdir -p "$TARGET_DIR" || fail "Bad directory: \"$TARGET_DIR\""
  pushd "$TARGET_DIR" >/dev/null

  rm -rf classes && mkdir classes
  javac -d classes -source 1.5 "$(jvmpath "$SOURCE")" || fail "Failed to compile sources"
  jar cf "$(jvmpath "$TARGET")" -C classes . || fail "Failed to produce $TARGET"
  rm -rf classes

  popd >/dev/null
fi


## main

JAVA_EXE="${THIS_JAVA:-$ISABELLE_JAVA}"
exec "$JAVA_EXE" -classpath "$(jvmpath "$TARGET")" isabelle.Java_Ext_Dirs \
  "$(jvmpath "$ISABELLE_HOME/lib/classes/ext")"