Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #!/bin/sh
  2. # syntax: <mainFile> {file}...
  3. # info: compile files and run mainFile class (with Tester classes)
  4. # requires JDKDIR and build output be available
  5. [ -n "$DEBUG" ] && set -vx
  6. pathtojava() {
  7. echo "$1" | sed 's|/cygdrive/\(c\)/|\1:/|' # todo
  8. }
  9. errMssg() {
  10. echo "## $0 Error: $1"
  11. if [ -n "$2" ] ; then exit "$2" ; fi
  12. }
  13. sourcesRunningInNew() {
  14. cat<<EOF
  15. InnerInterfaceNames.java
  16. InnerInterfaceAccess.java
  17. PR691.java
  18. AroundDoubleAssignment.java
  19. AroundDoubleAssignmentC.java
  20. AroundChangeThis.java
  21. PointcutQualification.java
  22. PointcutQualification2.java
  23. AbstractPointcutAccess.java
  24. SourceLocationCall.java
  25. CallNotTarget.java
  26. AroundCall.java
  27. ArgsInCflow2.java
  28. FactorialCflow.java
  29. ArrayInc.java
  30. TargetObjectReplacement.java
  31. EOF
  32. }
  33. runAjc() {
  34. "$JDKDIR/bin/java" -classpath "$compilerJar" org.aspectj.tools.ajc.Main \
  35. -d "$classesDir" -classpath "$rtJar${PS}$clientJar" "${@}"
  36. }
  37. runJava() {
  38. "$JDKDIR/bin/java" -classpath "$rtJar${PS}$clientJar${PS}$classesDir" "${@}"
  39. }
  40. if [ -n "$PS" ] ; then
  41. case `uname` in
  42. CYGWIN* ) PS=";" ;;
  43. * ) PS=":" ;;
  44. esac
  45. fi
  46. scriptDir=`dirname "$0"`
  47. scriptDir=`cd "$scriptDir"; pwd`
  48. java="$JDKDIR/bin/java"
  49. [ -x "$java" ] || errMssg "no java=$java"
  50. ajJarsDir=`cd "$scriptDir/../../../aj-build-modules/jars"; pwd`
  51. ajJarsDirJ=`pathtojava "$ajJarsDir"`
  52. clientJar="$ajJarsDirJ/testing-client.jar"
  53. compilerJar="${compilerJar:-ajJarsDirJ/alltesting.jar}"
  54. rtJar="$ajJarsDirJ/runtime.jar"
  55. classesDir=cl
  56. [ -f "$clientJar" ] || errMssg "no clientJar=$clientJar" 4
  57. [ -f "$rtJar" ] || errMssg "no rtJar=$rtJar" 4
  58. cd "$scriptDir/../new" || errMssg "no new directory" 4
  59. mkdir "$classesDir"
  60. sources="${@:-`sourcesRunningInNew`}"
  61. for srcFile in $sources ; do
  62. [ -f "$srcFile" ] || errMssg "no srcFile=$srcFile" 4
  63. className=`echo "$srcFile" | sed 's|\/|.|g;s|\.java||'`
  64. [ -n "$className" ] || errMssg "no className" 4
  65. rm -rf "$classesDir"/*
  66. runAjc "${srcFile}"
  67. runJava $className || echo '<<<< FAIL '"$srcFile"
  68. done
  69. rm -rf "$classesDir"