| CODENOTIFIER | HelpYou are not signed inSign in |
Project: Jython
Revision: 5213
Author: nriley
Date: 20 Aug 2008 00:33:02
Changes:Run Jython regrtest (on Windows) with bytecode verification; support -J, --jdb, -- on Windows too.
Files:| ... | ...@@ -18,13 +18,13 @@ | |
| 18 | 18 | |
| 19 | 19 | set _JAVA_CMD=java |
| 20 | 20 | if not "%JAVA_HOME%" == "" ( |
| 21 | set _JAVA_CMD="%JAVA_HOME%\bin\java" | |
| 21 | set _JAVA_CMD="%JAVA_HOME:"=%\bin\java" | |
| 22 | 22 | ) |
| 23 | 23 | |
| 24 | set _JYTHON_HOME="%JYTHON_HOME%" | |
| 24 | set _JYTHON_HOME=%JYTHON_HOME% | |
| 25 | 25 | if not "%JYTHON_HOME%" == "" goto gotHome |
| 26 | 26 | pushd "%~dp0%\.." |
| 27 | set _JYTHON_HOME="%CD%" | |
| 27 | set _JYTHON_HOME=%CD% | |
| 28 | 28 | popd |
| 29 | 29 | |
| 30 | 30 | :gotHome |
| ... | ...@@ -32,7 +32,7 @@ | |
| 32 | 32 | rem prefer built version |
| 33 | 33 | set _CP=%_JYTHON_HOME%\jython.jar |
| 34 | 34 | for %%j in (%_JYTHON_HOME%\javalib\*.jar) do ( |
| 35 | set _CP=!_CP!;"%%j" | |
| 35 | set _CP=!_CP!;"%%j" | |
| 36 | 36 | ) |
| 37 | 37 | goto run |
| 38 | 38 | |
| ... | ...@@ -48,13 +48,103 @@ | |
| 48 | 48 | rem ----- Execute the requested command ---------------------------------------- |
| 49 | 49 | |
| 50 | 50 | :run |
| 51 | %_JAVA_CMD% %JAVA_OPTS% -Xss512k -Xbootclasspath/a:%_CP% -Dpython.home=%_JYTHON_HOME% -Dpython.executable="%~f0" -classpath "%CLASSPATH%" org.python.util.jython %JYTHON_OPTS% %* | |
| 51 | set _JAVA_STACK=-Xss512k | |
| 52 | ||
| 53 | rem Escape any quotes. Use _S for ', _D for ", and _U to escape _ itself. | |
| 54 | rem We have to escape _ itself, otherwise file names with _S and _D | |
| 55 | rem will be converted to to wrong ones, when we un-escape. See JRUBY-2821. | |
| 56 | set _ARGS=%* | |
| 57 | if not defined _ARGS goto argsDone | |
| 58 | set _ARGS=%_ARGS:_=_U% | |
| 59 | set _ARGS=%_ARGS:'=_S% | |
| 60 | set _ARGS=%_ARGS:"=_D% | |
| 61 | ||
| 62 | set _ARGS="%_ARGS%" | |
| 63 | ||
| 64 | :scanArgs | |
| 65 | rem split args by spaces into first and rest | |
| 66 | for /f "tokens=1,*" %%i in (%_ARGS%) do call :getArg "%%i" "%%j" | |
| 67 | goto procArg | |
| 68 | ||
| 69 | :getArg | |
| 70 | rem remove quotes around first arg | |
| 71 | for %%i in (%1) do set _CMP=%%~i | |
| 72 | set _ARGS=%2 | |
| 73 | goto :EOF | |
| 74 | ||
| 75 | :procArg | |
| 76 | if ["%_CMP%"] == [""] ( | |
| 77 | set _ARGS= | |
| 78 | goto argsDone | |
| 79 | ) | |
| 80 | ||
| 81 | REM NOTE: If you'd like to use a parameter with underscore in its name, | |
| 82 | REM NOTE: use the quoted value: --do_stuff -> --do_Ustuff | |
| 83 | ||
| 84 | if ["%_CMP%"] == ["--"] goto argsDone | |
| 85 | ||
| 86 | if ["%_CMP%"] == ["--jdb"] ( | |
| 87 | if "%JAVA_HOME%" == "" ( | |
| 88 | set _JAVA_CMD=jdb | |
| 89 | ) else ( | |
| 90 | set _JAVA_CMD="%_JAVA_HOME:"=%\bin\jdb" | |
| 91 | ) | |
| 92 | goto :nextArg | |
| 93 | ) | |
| 94 | ||
| 95 | if ["%_CMP%"] == ["--verify"] ( | |
| 96 | set CLASSPATH=%_CP:"=%;%CLASSPATH:"=% | |
| 97 | set _CP= | |
| 98 | goto :nextArg | |
| 99 | ) | |
| 100 | ||
| 101 | rem now unescape _D, _S and _Q | |
| 102 | set _CMP=%_CMP:_D="% | |
| 103 | set _CMP=%_CMP:_S='% | |
| 104 | set _CMP=%_CMP:_U=_% | |
| 105 | set _CMP1=%_CMP:~0,1% | |
| 106 | set _CMP2=%_CMP:~0,2% | |
| 107 | ||
| 108 | rem detect first character is a quote; skip directly to jythonArg | |
| 109 | rem this avoids a batch syntax error | |
| 110 | if "%_CMP1:"=\\%" == "\\" goto jythonArg | |
| 111 | ||
| 112 | rem removing quote avoids a batch syntax error | |
| 113 | if "%_CMP2:"=\\%" == "-J" goto jvmArg | |
| 114 | ||
| 115 | :jythonArg | |
| 116 | set JYTHON_OPTS=%JYTHON_OPTS% %_CMP% | |
| 117 | goto nextArg | |
| 118 | ||
| 119 | :jvmArg | |
| 120 | set _VAL=%_CMP:~2% | |
| 121 | ||
| 122 | if "%_VAL:~0,4%" == "-Xss" ( | |
| 123 | set _JAVA_STACK=%_VAL% | |
| 124 | echo %_VAL% | |
| 125 | goto nextArg | |
| 126 | ) | |
| 127 | ||
| 128 | set _JAVA_OPTS=%_JAVA_OPTS% %_VAL% | |
| 129 | ||
| 130 | :nextArg | |
| 131 | set _CMP= | |
| 132 | goto scanArgs | |
| 133 | ||
| 134 | :argsDone | |
| 135 | %_JAVA_CMD% %_JAVA_OPTS% %_JAVA_STACK% -Xbootclasspath/a:%_CP% -Dpython.home=%_JYTHON_HOME% -Dpython.executable="%~f0" -classpath "%CLASSPATH%" org.python.util.jython %JYTHON_OPTS% %_ARGS% | |
| 52 | 136 | set E=%ERRORLEVEL% |
| 53 | 137 | |
| 54 | 138 | :cleanup |
| 55 | set _JYTHON_HOME= | |
| 56 | set _JAVA_CMD= | |
| 139 | set _ARGS= | |
| 140 | set _CMP= | |
| 141 | set _CMP1= | |
| 142 | set _CMP2= | |
| 57 | 143 | set _CP= |
| 144 | set _JAVA_CMD= | |
| 145 | set _JAVA_OPTS= | |
| 146 | set _JAVA_STACK= | |
| 147 | set _JYTHON_HOME= | |
| 58 | 148 | |
| 59 | 149 | :finish |
| 60 | 150 | exit /b %E% |