2015-12-12 12:44:47 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
goodbye()
|
|
|
|
|
{
|
|
|
|
|
rm -rf $tmp
|
|
|
|
|
[ "$1" ] && exit $1
|
|
|
|
|
}
|
|
|
|
|
|
2015-12-12 12:58:42 +00:00
|
|
|
log()
|
2015-12-12 12:44:47 +00:00
|
|
|
{
|
|
|
|
|
echo $@
|
|
|
|
|
}
|
|
|
|
|
|
2015-12-12 12:58:42 +00:00
|
|
|
error()
|
|
|
|
|
{
|
|
|
|
|
log $@
|
|
|
|
|
}
|
|
|
|
|
|
2015-12-12 12:44:47 +00:00
|
|
|
fatal()
|
|
|
|
|
{
|
|
|
|
|
error $@
|
|
|
|
|
goodbye 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
set_var()
|
|
|
|
|
{
|
|
|
|
|
local var=$1
|
|
|
|
|
shift
|
|
|
|
|
eval local check=\$$var
|
|
|
|
|
if [ -z "$check" ]; then
|
|
|
|
|
eval $var="$@"
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
set_defaults()
|
|
|
|
|
{
|
2015-12-12 12:58:42 +00:00
|
|
|
set_var modules `cd $dir; ls streamline-*.sh | sed 's/streamline-//; s/\.sh//; /^project$/ d'`
|
2015-12-12 12:44:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
usage()
|
|
|
|
|
{
|
|
|
|
|
cat <<- EOT | sed 's/^ *|//'
|
|
|
|
|
|
|
|
|
|
|
| $myname [options] module ...
|
|
|
|
|
|
|
|
|
|
|
| module(s) are the module to be executed, currently selected: $modules
|
|
|
|
|
|
|
|
|
|
|
| options are
|
|
|
|
|
|
|
|
|
|
|
| -h: display this help message and exit sucessfully
|
|
|
|
|
|
|
|
|
|
|
EOT
|
|
|
|
|
goodbye $1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# -------------- here we go
|
|
|
|
|
|
|
|
|
|
trap goodbye INT KILL EXIT
|
|
|
|
|
|
|
|
|
|
myname=`basename $0`
|
|
|
|
|
dir=`dirname $0`
|
|
|
|
|
|
|
|
|
|
eval set -- `getopt -- h "$@"`
|
|
|
|
|
|
|
|
|
|
while [ "$1" != -- ]; do
|
|
|
|
|
case $1 in
|
|
|
|
|
-h)
|
|
|
|
|
usage=0;;
|
|
|
|
|
*)
|
|
|
|
|
usage=1;;
|
|
|
|
|
esac
|
|
|
|
|
shift
|
|
|
|
|
done
|
|
|
|
|
shift
|
|
|
|
|
|
2015-12-12 12:58:42 +00:00
|
|
|
# modules="$@"
|
2015-12-12 12:44:47 +00:00
|
|
|
|
|
|
|
|
set_defaults
|
|
|
|
|
|
|
|
|
|
[ "$usage" ] && usage $usage
|
|
|
|
|
|
|
|
|
|
for m in $modules; do
|
|
|
|
|
mod_script=$dir/streamline-$m.sh
|
2015-12-12 12:58:42 +00:00
|
|
|
log running $mod_script status
|
2015-12-12 12:44:47 +00:00
|
|
|
status=`$mod_script status`
|
|
|
|
|
r=$?
|
|
|
|
|
if [ "$r" != 0 ]; then
|
|
|
|
|
fatal "running "$mod_script status" failed ($r)"
|
|
|
|
|
fi
|
|
|
|
|
case $status in
|
|
|
|
|
not-implemented)
|
|
|
|
|
log "module $m is not implemented, yet, ignoring"
|
|
|
|
|
;;
|
|
|
|
|
due)
|
|
|
|
|
log "need to run module $m"
|
|
|
|
|
;;
|
2015-12-12 12:58:42 +00:00
|
|
|
*)
|
2015-12-12 12:44:47 +00:00
|
|
|
fatal "unrecognized output from module $m"
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
done
|
|
|
|
|
|