#!/bin/sh

# ----------------------------------------------------------------------------------
# Copyright (c) The AspectWerkz Team. All rights reserved.
# http://aspectwerkz.codehaus.org
# ----------------------------------------------------------------------------------
# The software in this package is published under the terms of the BSD style license
# a copy of which has been included with this distribution in the license.txt file.
# ----------------------------------------------------------------------------------

ASPECTWERKZ_VERSION=0.8.1
ASPECTWERKZ_LIBS=$(build-classpath dom4j qdox concurrent gnu.trove commons-jexl piccolo jrexx)

usage() {
	if [ -z "$ASPECTWERKZ_HOME" ]; then
		echo "Please specify the ASPECTWERKZ_HOME environment variable"
	else
		if [ -r "$ASPECTWERKZ_HOME/bin/usage.txt" ]
		then
			cat "$ASPECTWERKZ_HOME/bin/usage.txt"
		else
			echo "ASPECTWERKZ_HOME does not point to the aspectwerkz distribution"
		fi
	fi
	exit 1
}

if [ -z "$1" -o -z "$ASPECTWERKZ_HOME" ]; then
	usage
fi
if [ -z "$JAVA_HOME" ]; then
    echo Please specify the JAVA_HOME environment variable
    exit 1;
fi
if [ -z "$CLASSPATH" ]; then
	CLASSPATH="."
fi
if [ -z "$JAVA_COMMAND" ]; then
	JAVA_COMMAND="$JAVA_HOME/bin/java"
fi

if [ "$1" != "-offline" ]; then
    # -Daspectwerkz.transform.verbose=yes to turn on verbose mode
    # -Daspectwerkz.transform.dump=package.foo.* to turn on dump in ./_dump of package.foo.* class
    # -Daspectwerkz.classloader.wait=10 to delay connection (launching VM)
    $JAVA_COMMAND -cp $JAVA_HOME/lib/tools.jar:$(build-classpath bcel aspectwerkz-core) org.codehaus.aspectwerkz.hook.ProcessStarter -Xbootclasspath/p:"$(build-classpath bcel aspectwerkz-core)" -cp $CLASSPATH -cp $(build-classpath aspectwerkz):$ASPECTWERKZ_LIBS -Daspectwerkz.home=$ASPECTWERKZ_HOME $@
else
    if [ "$#" -le 3 ]; then
        usage
    fi
    $JAVA_COMMAND -Daspectwerkz.transform.filter=no -Daspectwerkz.definition.file=$2 -Daspectwerkz.home=$ASPECTWERKZ_HOME -cp $(find-jar ant):$ASPECTWERKZ_HOME/lib/aspectwerkz-core-$ASPECTWERKZ_VERSION.jar:$ASPECTWERKZ_HOME/lib/aspectwerkz-$ASPECTWERKZ_VERSION.jar:$ASPECTWERKZ_LIBS:$(find-jar bcel) org.codehaus.aspectwerkz.compiler.AspectWerkzC $3 $4 $5 $6 $7 $8 $9
fi

