1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #!/bin/sh
- # syntax: <mainFile> {file}...
- # info: compile files and run mainFile class (with Tester classes)
- # requires JDKDIR and build output be available
-
- [ -n "$DEBUG" ] && set -vx
- pathtojava() {
- echo "$1" | sed 's|/cygdrive/\(c\)/|\1:/|' # todo
- }
- errMssg() {
- echo "## $0 Error: $1"
- if [ -n "$2" ] ; then exit "$2" ; fi
- }
-
- sourcesRunningInNew() {
- cat<<EOF
- InnerInterfaceNames.java
- InnerInterfaceAccess.java
- PR691.java
- AroundDoubleAssignment.java
- AroundDoubleAssignmentC.java
- AroundChangeThis.java
- PointcutQualification.java
- PointcutQualification2.java
- AbstractPointcutAccess.java
- SourceLocationCall.java
- CallNotTarget.java
- AroundCall.java
- ArgsInCflow2.java
- FactorialCflow.java
- ArrayInc.java
- TargetObjectReplacement.java
- EOF
- }
-
- runAjc() {
- "$JDKDIR/bin/java" -classpath "$compilerJar" org.aspectj.tools.ajc.Main \
- -d "$classesDir" -classpath "$rtJar${PS}$clientJar" "${@}"
- }
- runJava() {
- "$JDKDIR/bin/java" -classpath "$rtJar${PS}$clientJar${PS}$classesDir" "${@}"
- }
-
- if [ -n "$PS" ] ; then
- case `uname` in
- CYGWIN* ) PS=";" ;;
- * ) PS=":" ;;
- esac
- fi
-
- scriptDir=`dirname "$0"`
- scriptDir=`cd "$scriptDir"; pwd`
- java="$JDKDIR/bin/java"
- [ -x "$java" ] || errMssg "no java=$java"
- ajJarsDir=`cd "$scriptDir/../../../aj-build-modules/jars"; pwd`
- ajJarsDirJ=`pathtojava "$ajJarsDir"`
-
- clientJar="$ajJarsDirJ/testing-client.jar"
- compilerJar="${compilerJar:-ajJarsDirJ/alltesting.jar}"
- rtJar="$ajJarsDirJ/runtime.jar"
- classesDir=cl
- [ -f "$clientJar" ] || errMssg "no clientJar=$clientJar" 4
- [ -f "$rtJar" ] || errMssg "no rtJar=$rtJar" 4
-
- cd "$scriptDir/../new" || errMssg "no new directory" 4
- mkdir "$classesDir"
- sources="${@:-`sourcesRunningInNew`}"
- for srcFile in $sources ; do
- [ -f "$srcFile" ] || errMssg "no srcFile=$srcFile" 4
- className=`echo "$srcFile" | sed 's|\/|.|g;s|\.java||'`
- [ -n "$className" ] || errMssg "no className" 4
- rm -rf "$classesDir"/*
- runAjc "${srcFile}"
- runJava $className || echo '<<<< FAIL '"$srcFile"
- done
- rm -rf "$classesDir"
-
|