Admin/isatest/annomaly
changeset 49459 c8c7b2b388d1
parent 49458 6f2762eedca0
child 49460 cb4136e4cabf
     1.1 --- a/Admin/isatest/annomaly	Mon Jul 23 12:05:48 2012 +0200
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,98 +0,0 @@
     1.4 -#!/bin/sh
     1.5 -
     1.6 -# Create AnnoMaLy documentation for Isabelle
     1.7 -# See http://martin.von-gagern.net/projects/annomaly/
     1.8 -#   2007  Martin von Gagern (martin@von-gagern.net)
     1.9 -
    1.10 -# Abort on any error
    1.11 -set -e -o pipefail
    1.12 -
    1.13 -BUILD_DIR="$HOME/isabelle.annomaly"
    1.14 -ISABELLE_HOME="$BUILD_DIR/Isabelle"
    1.15 -ISABELLE_CVS="$HOME/isabelle.cvs"
    1.16 -ADMIN_CVS="$ISABELLE_CVS/Admin"
    1.17 -# ISABELLE_HOME="$ISABELLE_CVS/Distribution"
    1.18 -ISABELLE_SRC="$ISABELLE_HOME/src"
    1.19 -HTML_DIR="$HOME/html-data/isabelle-doc"
    1.20 -export CVS_RSH=ssh
    1.21 -export SMLNJ_HOME="$HOME/annomaly"
    1.22 -export PATH="$SMLNJ_HOME/bin:$PATH"
    1.23 -export SML_DOC_DIR="$HTML_DIR.tmp"
    1.24 -# export SML_DOC_DEBUG="all"
    1.25 -TARGET=HOL
    1.26 -CVSUP=true
    1.27 -
    1.28 -# Parse command line
    1.29 -for ARG in "$@"; do case "$ARG" in
    1.30 -	-p) TARGET=Pure ;;
    1.31 -	-n) CVSUP=false ;;
    1.32 -	-l) export SML_LOG_DIR="$HOME/logs" ;;
    1.33 -esac; done
    1.34 -
    1.35 -# Update CVS
    1.36 -cd "$ADMIN_CVS"
    1.37 -if $CVSUP; then
    1.38 -  echo "Updating CVS"
    1.39 -  cvs -q up -d
    1.40 -fi
    1.41 -
    1.42 -# Find nightly isabelle tarball
    1.43 -ISABELLE_TAR=""
    1.44 -for i in /home/html/isatest/Isabelle_[0-9]*-20[0-9][0-9].tar.gz; do
    1.45 -  if [[ -r "$i" ]]; then ISABELLE_TAR="$i"; fi
    1.46 -done
    1.47 -if [[ -z $ISABELLE_TAR ]]; then
    1.48 -  echo "No isabelle tarball found!" >&2
    1.49 -  exit 1
    1.50 -fi
    1.51 -
    1.52 -# Create build environemnt
    1.53 -mkdir -p "$BUILD_DIR"
    1.54 -cd "$BUILD_DIR"
    1.55 -if [[ -d Isabelle ]]; then
    1.56 -  rm -rf *
    1.57 -fi
    1.58 -tar xzf "$ISABELLE_TAR"
    1.59 -cd "$ISABELLE_HOME"
    1.60 -cp "$ADMIN_CVS"/isatest/annomaly.ML src/Pure/ML-Systems/annomaly.ML
    1.61 -ln -s run-smlnj lib/scripts/run-annomaly
    1.62 -
    1.63 -# Create clean output directory
    1.64 -rm -rf "$SML_DOC_DIR"
    1.65 -mkdir "$SML_DOC_DIR"
    1.66 -cp "$SMLNJ_HOME/annomaly/resources/"* "$SML_DOC_DIR"
    1.67 -cat > "$SML_DOC_DIR/.htaccess" <<EOF
    1.68 -DirectoryIndex index.html source.html
    1.69 -<IfModule mod_deflate>
    1.70 -SetOutputFilter DEFLATE 
    1.71 -</IfModule>
    1.72 -AddType text/plain .dot
    1.73 -EOF
    1.74 -
    1.75 -# Build isabelle
    1.76 -ISABELLE_HOME="$(cd "$ISABELLE_HOME"; pwd -P)"
    1.77 -cd "$ISABELLE_HOME"
    1.78 -export SML_DOC_REWRITE="isabelle=$(cd src; pwd -P)"
    1.79 -rm -rf heaps
    1.80 -./build -b $TARGET
    1.81 -cd "$BUILD_DIR"
    1.82 -rm -rf *
    1.83 -
    1.84 -# Postprocess created files
    1.85 -cd $SML_DOC_DIR
    1.86 -dot -Tsvg depGraph.dot \
    1.87 -  | perl -pe 's/(width|height)="(\d+)/sprintf("%s=\"%.2f",$1,$2*0.6)/ge' \
    1.88 -  > depGraph.svg
    1.89 -dot -Tps2 depGraph.dot > depGraph.ps
    1.90 -ps2pdf depGraph.ps depGraph.pdf
    1.91 -grep -rl "$ISABELLE_HOME" . | xargs sed -i "s@$ISABELLE_HOME@\$ISABELLE_HOME@g"
    1.92 -
    1.93 -# Install result by renaming, to be almost atomic
    1.94 -rm -rf "$HTML_DIR.bac"
    1.95 -if [[ -d $HTML_DIR ]]; then mv "$HTML_DIR" "$HTML_DIR.bac"; fi
    1.96 -mv "$SML_DOC_DIR" "$HTML_DIR"
    1.97 -rm -rf "$HTML_DIR.bac"
    1.98 -
    1.99 -# Done
   1.100 -echo "Completed successfully"
   1.101 -exit 0