#!/bin/bash -l
##
## $Revision$ $Date$
##

# TomEE 2.0.0 is compiled with Java 7
#if [ -d $HOME/jdk7 ]; then
#    export JAVA_HOME=$HOME/jdk7
#fi

PROGNAME=`basename $0`
DIRNAME=`dirname $0`

DEFAULT_WEB="none"
DEFAULT_SQL="active"

warn() {
    echo "${PROGNAME}: $*"
}

die() {
    warn "$*"
    exit 1
}

usage() {
    cat <<EOF
usage: $PROGNAME [options] <test> [<test> ...] [mvn options]

options:
    -h,--help               Display help information
    -w,--web <container>    Specify the container to test with (default: $DEFAULT_WEB)
    -sql <skip|active>      Wether sql databases should be created or not (default: $DEFAULT_SQL)
    -tv,--tomcat-version    Specify the tomcat version (implies -w tomcat)
    -d,--debug              Enable Server and TCK appclient debug options (5005 and 5003)
    -de,--debug-embedded    Enable TCK embedded ejb debug options (port 5001)
    -dh,--debug-harness     Enable TCK harness debug options (port 5002)
    -da,--debug-appclient   Enable TCK appclient debug options (port 5003)
    -dj,--debug-javatest    Enable TCK javatest debug options (port 5004)
    -ds,--debug-server      Enable Server debug options (port 5005)
    --connector             deploy connectors for connector tests
    -j,--jaxrs              build jaxrs tck wars
    -k,--kill               Kill any java tck process that might be running
    --reverse               Generate jaxws jws reverse artifacts
    -o,--option <option>    Enable an option
    -ol,--offline           Run maven offline
    -c,--clean              Mvn clean
    -tr,--temp-repo         Mvn -Dmaven.repo.local=temp
    -U,--update             Mvn update snapshots
    --source                Source a script to change environment settings such as jdk version
    --env                   Print the environment prior to running mvn
    -nc,--no-colors             Do not print in colors
    --                      Stop option processing
EOF
    exit 1
}

if [ $# -lt 1 ]; then
    usage
fi

echo "$(basename $0) $@"

JAVA_HOME=$JAVA_HOME
PATH=$PATH
tests=""
web="$DEFAULT_WEB"
sql="$DEFAULT_SQL"
profile="$DEFAULT_PROFILE"
args=""
options=""
env=""
nc=""
src=""

#tomcatVersion="-Dtomcat.version=6.0.32"

assertOptionArg() {
    if [ "x$2" = "x" ]; then
        die "Option '$1' requires an argument"
    fi
}

appendOption() {
    echo "Including options=$1"
    if [ "x$options" = "x" ]; then
        options="$1"
    else
        options="${options},$1"
    fi
}

appendArgs() {
    if [ "x$args" = "x" ]; then
        args="$*"
    else
        args="$args $*"
    fi
}

appendTests() {
    if [ "x$tests" = "x" ]; then
        tests="$1"
    else
        tests="${tests},$1"
    fi
}

processOptions() {
    while [ "x$1" != "x" ]; do
        case "$1" in
            -sql)
                assertOptionArg $1 $2
                sql=$2
                shift
                ;;

            -h|--help)
                usage
                ;;

            -w|--web)
                assertOptionArg $1 $2
                web="$2"; shift
                ;;

            -tv|--tomcat-version)
		web="tomcat"
                assertOptionArg $1 $2
                tomcatVersion="-Dtomcat.version=$2"; shift
                ;;

            -o|--option)
                assertOptionArg $1 $2
                appendOption "$2"; shift
                ;;

            -d|--debug)
                appendOption "debug"
                appendOption "appclient-debug"
                ;;

            -da|--debug-appclient)
                appendOption "appclient-debug"
                ;;

            -de|--debug-embedded)
                appendOption "embedded-debug"
                ;;

            -dh|--debug-harness)
                appendOption "harness-debug"
                ;;

            -dj|--debug-javatest)
                appendOption "javatest-debug"
                ;;

            -ds|--debug-server)
                appendOption "debug"
                ;;

            --connector)
                appendArgs "-Dconnector=true"
                ;;

            -j|--jaxrs)
                appendArgs "-Djaxrs=true"
                ;;

            --reset-persistence)
                appendArgs "-Dreset.persistence=true"
                ;;

            --interop)
                appendArgs "-Dinterop=true"
                ;;

            --reverse)
                appendArgs "-Dreverse=true"
                ;;

            -ol|--offline)
                appendArgs "-o"
                ;;

            -U|--update)
                appendArgs "-U"
                ;;

            -c|--clean)
                appendArgs "clean install"
                ;;

            -tr|--temp-repo)
                appendArgs "-Dmaven.repo.local=repo"
                ;;

            --source)
                assertOptionArg "$1" "$2"
                src="$(readlink -f "$2")"
                shift
                ;;

            --env)
                env=1
                ;;

            -nc|--no-colors)
                nc=1
                ;;

            -k|--kill)
                killPrevious=1
                ;;

            --)
                shift
                appendArgs "$*"
                break
                ;;

            # Collect extra options to pass on to mvn
            -*)
                appendArgs "$1"
                ;;

            # Non-option args are tests
            *)
                appendTests "$1"
                ;;
        esac
        shift
    done
}

if [ "x$RUNTESTS_OPTIONS" != "x" ]; then
    echo "Including options from environment: $RUNTESTS_OPTIONS"
    processOptions $RUNTESTS_OPTIONS
fi

processOptions "$@"

# Validate web
case "$web" in
    tomee-plus|tomee-plume|tomee|tomcat|none)
        profile="full"
        true
        ;;
    tomcat-web)
        profile="web"
        appendOption "web-profile"
        true
        ;;
    *)
        echo "Unknown web container: $web"
        exit 3
        ;;
esac

rm -fr derbydb
unzip -q derbydb.zip
sql=skip

# Append options if any
if [ "x$options" != "x" ]; then
   appendArgs "-Doptions=$options"
fi

# Make sure a test was selected
if [ "x$tests" = "x" ]; then
    usage
fi

# Pick the mvn executable to use
if [ "x$M2_HOME" = "x" ]; then
     mvn="mvn"
else
    mvn="$M2_HOME/bin/mvn"
fi

if [ -n "$tomcatVersion" ]; then
    ant -f download.xml $tomcatVersion
fi

if [ "$killPrevious" != "" ]; then
    echo "Killing old processes $(ps ax | grep "[j]ava.*$PWD" | cut -c 1-5 )"
    ps ax | grep "[j]ava.*$PWD" | cut -c 1-5 | xargs kill -9
    sleep 5
    ps ax | grep "[j]ava.*$PWD"
fi

if [ -z $nc ]; then
    export BOLD=`tput bold`
    export UNDERLINE_ON=`tput smul`
    export UNDERLINE_OFF=`tput rmul`
    export TEXT_BLACK=`tput setaf 0`
    export TEXT_RED=`tput setaf 1`
    export TEXT_GREEN=`tput setaf 2`
    export TEXT_YELLOW=`tput setaf 3`
    export TEXT_BLUE=`tput setaf 4`
    export TEXT_MAGENTA=`tput setaf 5`
    export TEXT_CYAN=`tput setaf 6`
    export TEXT_WHITE=`tput setaf 7`
    export BACKGROUND_BLACK=`tput setab 0`
    export BACKGROUND_RED=`tput setab 1`
    export BACKGROUND_GREEN=`tput setab 2`
    export BACKGROUND_YELLOW=`tput setab 3`
    export BACKGROUND_BLUE=`tput setab 4`
    export BACKGROUND_MAGENTA=`tput setab 5`
    export BACKGROUND_CYAN=`tput setab 6`
    export BACKGROUND_WHITE=`tput setab 7`
    export RESET_FORMATTING=`tput sgr0`
fi

CONFIG=" -DassemblyId=$web -Dtests=$tests -Djavaee.level=$profile -Dwebcontainer=$web -Dsql=$sql"

echo ">>> config => $( echo "$CONFIG" | sed 's/ /\n/g')"
echo "" # just an empty line

[ ! -z "$src" ] && {
    ls "$src"
    source "$src"
}
[ ! -z $env ] && export

egrep 'javaee6.(ri|cts).home' ~/.m2/settings.xml | perl -pe 's,^ *|<[^>]+>,,g' | while read n; do echo $n; ls -l $n; done
svn info


# Fire up Maven to do the real work
if [ -z $nc ]; then
exec mvn $MAVEN_OPTS -V --file "$DIRNAME/pom.xml" \
      --batch-mode \
      --errors \
      $CONFIG \
      $tomcatVersion \
      $args | sed -e "s/\(\[INFO\]\ \-.*\)/${TEXT_BLUE}${BOLD}\1${RESET_FORMATTING}/g" \
               -e "s/\(\[INFO\]\ BUILD SUCCESS.*\)/${BOLD}${TEXT_GREEN}\1${RESET_FORMATTING}/g" \
               -e "s/\(\[INFO\]\ BUILD FAILURE\)/${BOLD}${TEXT_RED}\1${RESET_FORMATTING}/g" \
               -e "s/\(\[INFO\]\ .*\ FAILURE\ \[.*s]\)/${TEXT_RED}${BOLD}\1${RESET_FORMATTING}/g" \
               -e "s/\(\[INFO\]\ .*\ SUCCESS\ \[.*s]\)/${TEXT_GREEN}${BOLD}\1${RESET_FORMATTING}/g" \
               -e "s/\(\[INFO\]\ .*\ SKIPPED\)/${TEXT_YELLOW}${BOLD}\1${RESET_FORMATTING}/g" \
               -e "s/\(\[INFO\]\ Building .*\)/${TEXT_CYAN}${BOLD}\1${RESET_FORMATTING}/g" \
               -e "s/\(\[WARNING\].*\)/${BOLD}${TEXT_YELLOW}\1${RESET_FORMATTING}/g" \
               -e "s/\(\[ERROR\].*\)/${BOLD}${TEXT_RED}\1${RESET_FORMATTING}/g" \
               -e "s/Tests run: \([^,]*\), Failures: \([^,]*\), Errors: \([^,]*\), Skipped: \([^,]*\)/${BOLD}${TEXT_GREEN}Tests run: \1${RESET_FORMATTING}, Failures: ${BOLD}${TEXT_RED}\2${RESET_FORMATTING}, Errors: ${BOLD}${TEXT_RED}\3${RESET_FORMATTING}, Skipped: ${BOLD}${TEXT_YELLOW}\4${RESET_FORMATTING}/g"
else
exec mvn $MAVEN_OPTS -V --file "$DIRNAME/pom.xml" \
      --batch-mode \
      --errors \
      $CONFIG \
      $tomcatVersion \
      $args 
fi

# Make sure formatting is reset
echo -ne ${RESET_FORMATTING}
