mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 12:03:31 +01:00
streamline-project.sh: Add streamline-project.sh
Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
cd4fb242aa
commit
d1e8beb05a
1 changed files with 96 additions and 0 deletions
96
scripts/streamline-project.sh
Normal file
96
scripts/streamline-project.sh
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
#!/bin/bash
|
||||
|
||||
goodbye()
|
||||
{
|
||||
rm -rf $tmp
|
||||
[ "$1" ] && exit $1
|
||||
}
|
||||
|
||||
error()
|
||||
{
|
||||
echo $@
|
||||
}
|
||||
|
||||
fatal()
|
||||
{
|
||||
error $@
|
||||
goodbye 1
|
||||
}
|
||||
|
||||
set_var()
|
||||
{
|
||||
local var=$1
|
||||
shift
|
||||
eval local check=\$$var
|
||||
if [ -z "$check" ]; then
|
||||
eval $var="$@"
|
||||
fi
|
||||
}
|
||||
|
||||
set_defaults()
|
||||
{
|
||||
set_var modules ""
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
modules="$@"
|
||||
|
||||
set_defaults
|
||||
|
||||
[ "$usage" ] && usage $usage
|
||||
|
||||
for m in $modules; do
|
||||
mod_script=$dir/streamline-$m.sh
|
||||
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"
|
||||
;;
|
||||
$*)
|
||||
fatal "unrecognized output from module $m"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue