lib/Tools/browser
author wenzelm
Sat, 20 Oct 2001 20:14:56 +0200
changeset 11843 3dc60e93064f
parent 11813 5ce7346490af
child 11867 76401b2ee871
permissions -rwxr-xr-x
-o pdf: produce *both* eps and pdf; tuned;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10555
2323ec838401 /usr/bin/env bash;
wenzelm
parents: 10511
diff changeset
     1
#!/usr/bin/env bash
3640
7554be69fd09 Startup script for Isabelle theory browser.
berghofe
parents:
diff changeset
     2
#
7554be69fd09 Startup script for Isabelle theory browser.
berghofe
parents:
diff changeset
     3
# $Id$
9788
wenzelm
parents: 9237
diff changeset
     4
# Author: Markus Wenzel, TU Muenchen
wenzelm
parents: 9237
diff changeset
     5
# License: GPL (GNU GENERAL PUBLIC LICENSE)
3640
7554be69fd09 Startup script for Isabelle theory browser.
berghofe
parents:
diff changeset
     6
#
7766
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
     7
# DESCRIPTION: Isabelle graph browser
3640
7554be69fd09 Startup script for Isabelle theory browser.
berghofe
parents:
diff changeset
     8
7554be69fd09 Startup script for Isabelle theory browser.
berghofe
parents:
diff changeset
     9
10511
wenzelm
parents: 9794
diff changeset
    10
PRG="$(basename "$0")"
3640
7554be69fd09 Startup script for Isabelle theory browser.
berghofe
parents:
diff changeset
    11
7554be69fd09 Startup script for Isabelle theory browser.
berghofe
parents:
diff changeset
    12
function usage()
7554be69fd09 Startup script for Isabelle theory browser.
berghofe
parents:
diff changeset
    13
{
7554be69fd09 Startup script for Isabelle theory browser.
berghofe
parents:
diff changeset
    14
  echo
9237
161fb7f00414 fixed usage;
wenzelm
parents: 9208
diff changeset
    15
  echo "Usage: $PRG [OPTIONS] [GRAPHFILE]"
3640
7554be69fd09 Startup script for Isabelle theory browser.
berghofe
parents:
diff changeset
    16
  echo
7766
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    17
  echo "  Options are:"
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    18
  echo "    -d           delete file after use"
11801
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    19
  echo "    -o FILE      output to FILE (ps, eps, pdf)"
7766
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    20
  echo
3640
7554be69fd09 Startup script for Isabelle theory browser.
berghofe
parents:
diff changeset
    21
  exit 1
7554be69fd09 Startup script for Isabelle theory browser.
berghofe
parents:
diff changeset
    22
}
7554be69fd09 Startup script for Isabelle theory browser.
berghofe
parents:
diff changeset
    23
11801
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    24
function fail()
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    25
{
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    26
  echo "$1" >&2
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    27
  exit 2
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    28
}
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    29
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    30
7766
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    31
## process command line
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    32
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    33
# options
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    34
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    35
DELETE=""
11801
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    36
OUTFILE=""
7766
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    37
11801
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    38
while getopts "do:" OPT
7766
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    39
do
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    40
  case "$OPT" in
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    41
    d)
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    42
      DELETE=true
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    43
      ;;
11801
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    44
    o)
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    45
      OUTFILE="$OPTARG"
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    46
      ;;
7766
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    47
    \?)
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    48
      usage
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    49
      ;;
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    50
  esac
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    51
done
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    52
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    53
shift $(($OPTIND - 1))
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    54
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    55
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    56
# args
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    57
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    58
GRAPHFILE=""
9788
wenzelm
parents: 9237
diff changeset
    59
[ "$#" -gt 0 ] && { GRAPHFILE="$1"; shift; }
wenzelm
parents: 9237
diff changeset
    60
[ "$#" -ne 0 ] && usage
7766
444ac56ead91 New option -d for deleting file after use.
berghofe
parents: 3640
diff changeset
    61
3640
7554be69fd09 Startup script for Isabelle theory browser.
berghofe
parents:
diff changeset
    62
7554be69fd09 Startup script for Isabelle theory browser.
berghofe
parents:
diff changeset
    63
## main
7554be69fd09 Startup script for Isabelle theory browser.
berghofe
parents:
diff changeset
    64
9788
wenzelm
parents: 9237
diff changeset
    65
export CLASSPATH="$ISABELLE_HOME/lib/browser"
9794
2be239143d42 fixed quoting;
wenzelm
parents: 9788
diff changeset
    66
if [ -z "$GRAPHFILE" ]; then
2be239143d42 fixed quoting;
wenzelm
parents: 9788
diff changeset
    67
  cd "$ISABELLE_BROWSER_INFO"
2be239143d42 fixed quoting;
wenzelm
parents: 9788
diff changeset
    68
  exec java GraphBrowser.GraphBrowser
2be239143d42 fixed quoting;
wenzelm
parents: 9788
diff changeset
    69
else
11843
3dc60e93064f -o pdf: produce *both* eps and pdf;
wenzelm
parents: 11813
diff changeset
    70
  PDF=""
11801
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    71
  case "$OUTFILE" in
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    72
    *.pdf)
11843
3dc60e93064f -o pdf: produce *both* eps and pdf;
wenzelm
parents: 11813
diff changeset
    73
      OUTFILE="${OUTFILE%%.pdf}.eps"
11801
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    74
      PDF=true
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    75
      ;;
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    76
  esac
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    77
11843
3dc60e93064f -o pdf: produce *both* eps and pdf;
wenzelm
parents: 11813
diff changeset
    78
  if [ -z "$OUTFILE" ]; then
11813
berghofe
parents: 11801
diff changeset
    79
    java GraphBrowser.GraphBrowser "$GRAPHFILE"
berghofe
parents: 11801
diff changeset
    80
  else
11843
3dc60e93064f -o pdf: produce *both* eps and pdf;
wenzelm
parents: 11813
diff changeset
    81
    unset DISPLAY  #paranoia setting
3dc60e93064f -o pdf: produce *both* eps and pdf;
wenzelm
parents: 11813
diff changeset
    82
    java GraphBrowser.GraphBrowser "$GRAPHFILE" "$OUTFILE"
11813
berghofe
parents: 11801
diff changeset
    83
  fi
11843
3dc60e93064f -o pdf: produce *both* eps and pdf;
wenzelm
parents: 11813
diff changeset
    84
  RC="$?"
11801
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    85
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    86
  if [ -n "$PDF" ]; then
11843
3dc60e93064f -o pdf: produce *both* eps and pdf;
wenzelm
parents: 11813
diff changeset
    87
    "$ISABELLE_EPSTOPDF" "$OUTFILE" || fail "Failed to produce pdf output"
11801
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    88
  fi
9505bd5e9a36 option -o FILE --output to FILE (ps, eps, pdf);
wenzelm
parents: 10555
diff changeset
    89
9794
2be239143d42 fixed quoting;
wenzelm
parents: 9788
diff changeset
    90
  [ -n "$DELETE" ] && rm -f "$GRAPHFILE"
2be239143d42 fixed quoting;
wenzelm
parents: 9788
diff changeset
    91
fi
11843
3dc60e93064f -o pdf: produce *both* eps and pdf;
wenzelm
parents: 11813
diff changeset
    92
3dc60e93064f -o pdf: produce *both* eps and pdf;
wenzelm
parents: 11813
diff changeset
    93
exit "$RC"