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