#!/bin/sh -u

PROG=`basename $0`

show_help()
{
#  -q, --quiet                       try to be more quiet;
#  -v, --verbose                     print a message for each action;
	cat <<EOF
$PROG - move build to TASK.{GOOD,BAD,UGLY}
Usage: $PROG [options] <build id>
Options:
  -n, --number N   set hasher number (for parallel builds)
  -h, --help       show this text and exit.
EOF
}
usage()
{
    show_help
    exit 1
}

hashernumber=

. autorepo-build-config

TEMP=`getopt -n $PROG -o dhn -l number:,drop,help -- "$@"` || usage
eval set -- "$TEMP"

while :; do
	case "$1" in
		-h|--help) show_help; exit
			;;
		-n|--number) hashernumber=${2:-}; shift;
			;;
		--) shift; break
			;;
		*) echo "Error parsing arguments. see --help" ; exit 1
			;;
	esac
	shift
done

build_id="$1"
[ -n "$build_id" ] || exit 1

. autorepo-build-sh-functions

mkdir -p $GOOD $BAD $UGLY $UNMETS

# set $logdir
autorepo_set_logdir
if ! [ -e "$logdir"/build.success ]; then
    rm -rf $BAD/"$build_id"
    mv "$logdir" $BAD/"$build_id"
    echo "$build_id is moved to $BAD"
    exit
fi

for arch in $GB_ARCH; do
    arch_autorepo_prepare_build_for_move $arch
done

if [ -e "$logdir"/unmets.success ]; then
    if [ -e "$logdir"/install.success ]; then
	rm -rf $GOOD/"$build_id"
	mv "$logdir" $GOOD/"$build_id"
	echo "$build_id is moved to $GOOD"
    else
	rm -rf $UGLY/"$build_id"
	mv "$logdir" $UGLY/"$build_id"
	echo "$build_id is moved to $UGLY"
    fi
else
    rm -rf $UNMETS/"$build_id"
    mv "$logdir" $UNMETS/"$build_id"
    echo "$build_id is moved to $UNMETS"
fi
