Commits

Stephen Weeks committed 96202ca

improvements to ocamlspot wrapper script

Comments (0)

Files changed (1)

 
 set -e -u -o pipefail
 
-#exec >>/tmp/z.log.ocamlspot
-#exec 2>&1
+log=/tmp/z.ocamlspot.log
+
+dir=$(pwd)
+args="$@"
+
+function failure-header {
+    echo "ocamlspot failure"
+    echo "date: $(date)"
+    echo "dir: $dir"
+    echo "args: $args"
+
+}
+
+function dashes {
+        cat <<EOF
+--------------------------------------------------------------------------------
+EOF
+}
 
 function die {
+    {
+        failure-header
+        echo "$1"
+        dashes
+    } >>$log
     echo >&2 "$1"
     exit 1
 }
     fi
 }
 
-dir=$(pwd)
 cd-to-omakeroot
-bin=$(sed <OMakeroot -rn 's;^PATH * = *(/janelibs.*/bin) +.*$;\1;p')
-cd $dir
+whitespace='[[:space:]]'
+sed_script="s;^${whitespace}*PATH${whitespace}*=${whitespace}*(/janelibs.*/bin)${whitespace}+.*$;\1;p"
+bin=$(sed <OMakeroot -rn "$sed_script" | tail -1)
 
 if [ -z "$bin" ]; then
     die "Could not extract janelibs bin dir from $(pwd)/OMakeroot"
     die "$exe does not exist"
 fi
 
-$exe "$@"
+output=$(mktemp)
+echo 'running'
+cd $dir
+if $exe "$@" >$output 2>&1; then
+    status=0
+else
+    status=1
+    {
+        failure-header
+        cat $output
+        dashes
+    } >>$log
+fi
+cat $output
+rm $output
+exit $status
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.