mirror of
https://github.com/eclipse-aspectj/aspectj.git
synced 2024-09-13 15:45:38 +02:00
78 lines
2.0 KiB
Bash
78 lines
2.0 KiB
Bash
#!/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"
|
|
|