lib/scripts/java_ext_dirs
changeset 45391 30f6617c9986
parent 45387 ccffb3f9f42b
parent 45390 e29521ef9059
child 45392 828e08541cee
equal deleted inserted replaced
45387:ccffb3f9f42b 45391:30f6617c9986
     1 #!/usr/bin/env bash
       
     2 #
       
     3 # Author: Makarius
       
     4 #
       
     5 # Augment Java extension directories.
       
     6 
       
     7 ## diagnostics
       
     8 
       
     9 function fail()
       
    10 {
       
    11   echo "$1" >&2
       
    12   exit 2
       
    13 }
       
    14 
       
    15 
       
    16 ## dependencies
       
    17 
       
    18 SOURCE="$ISABELLE_HOME/src/Pure/System/Java_Ext_Dirs.java"
       
    19 
       
    20 TARGET_DIR="$ISABELLE_HOME/lib/classes"
       
    21 TARGET="$TARGET_DIR/java_ext_dirs.jar"
       
    22 
       
    23 if [ ! -e "$TARGET" -o "$SOURCE" -nt "$TARGET" ]; then
       
    24   mkdir -p "$TARGET_DIR" || fail "Bad directory: \"$TARGET_DIR\""
       
    25   pushd "$TARGET_DIR" >/dev/null
       
    26 
       
    27   BUILD="build$$"
       
    28   TMP_JAR="java_ext_dirs$$.jar"
       
    29 
       
    30   rm -rf "$BUILD" && mkdir "$BUILD"
       
    31   javac -d "$BUILD" -source 1.5 "$(jvmpath "$SOURCE")" || fail "Failed to compile sources"
       
    32   jar cf "$TMP_JAR" -C "$BUILD" . || fail "Failed to produce $TMP_JAR"
       
    33   mv "$TMP_JAR" "$TARGET"
       
    34   rm -rf "$BUILD"
       
    35 
       
    36   popd >/dev/null
       
    37 fi
       
    38 
       
    39 
       
    40 ## main
       
    41 
       
    42 JAVA_EXE="${THIS_JAVA:-$ISABELLE_JAVA}"
       
    43 exec "$JAVA_EXE" -classpath "$(jvmpath "$TARGET")" isabelle.Java_Ext_Dirs \
       
    44   "$(jvmpath "$ISABELLE_HOME/lib/classes/ext")"
       
    45