| OLD | NEW |
| 1 @echo off | 1 @echo off |
| 2 rem Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 2 REM Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 3 rem for details. All rights reserved. Use of this source code is governed by a | 3 REM for details. All rights reserved. Use of this source code is governed by a |
| 4 rem BSD-style license that can be found in the LICENSE file. | 4 REM BSD-style license that can be found in the LICENSE file. |
| 5 | 5 |
| 6 set SCRIPT_DIR=%~dp0 | 6 setlocal |
| 7 if %SCRIPT_DIR:~-1%==\ set SCRIPT_DIR=%SCRIPT_DIR:~0,-1% | 7 rem Handle the case where dart-sdk/bin has been symlinked to. |
| 8 set DIR_NAME_WITH_SLASH=%~dp0 |
| 9 set DIR_NAME=%DIR_NAME_WITH_SLASH:~0,-1%% |
| 10 call :follow_links "%DIR_NAME%", RETURNED_BIN_DIR |
| 11 rem Get rid of surrounding quotes. |
| 12 for %%i in ("%RETURNED_BIN_DIR%") do set BIN_DIR=%%~fi |
| 8 | 13 |
| 9 for %%I in ("%SCRIPT_DIR%\..") do set "DART_ANALYZER_HOME=%%~fI" | 14 set DART=%BIN_DIR%\dart |
| 10 if %DART_ANALYZER_HOME:~-1%==\ set DART_ANALYZER_HOME=%DART_ANALYZER_HOME:~0,-1% | 15 set SNAPSHOT=%BIN_DIR%\snapshots\dartanalyzer.dart.snapshot |
| 11 | 16 |
| 12 set FOUND_BATCH=0 | 17 "%DART%" "%SNAPSHOT%" %* |
| 13 set FOUND_SDK=0 | 18 |
| 14 for %%a in (%*) do ( | 19 endlocal |
| 15 if [%%a] == [--batch] set FOUND_BATCH=1 | 20 |
| 16 if [%%a] == [-b] set FOUND_BATCH=1 | 21 exit /b %errorlevel% |
| 17 if [%%a] == [--dart-sdk] set FOUND_SDK=1 | 22 |
| 23 rem Follow the symbolic links (junctions points) using `dir to determine the |
| 24 rem canonical path. Output with a link looks something like this |
| 25 rem |
| 26 rem 01/03/2013 10:11 PM <JUNCTION> abc def |
| 27 rem [c:\dart_bleeding\dart-repo.9\dart\build\ReleaseIA32\dart-sdk] |
| 28 rem |
| 29 rem So in the output of 'dir /a:l "targetdir"' we are looking for a filename |
| 30 rem surrounded by right angle bracket and left square bracket. Once we get |
| 31 rem the filename, which is name of the link, we recursively follow that. |
| 32 :follow_links |
| 33 setlocal |
| 34 for %%i in (%1) do set result=%%~fi |
| 35 set current= |
| 36 for /f "usebackq tokens=2 delims=[]" %%i in (`dir /a:l "%~dp1" 2^>nul ^ |
| 37 ^| find "> %~n1 ["`) do ( |
| 38 set current=%%i |
| 18 ) | 39 ) |
| 40 if not "%current%"=="" call :follow_links "%current%", result |
| 41 endlocal & set %~2=%result% |
| 42 goto :eof |
| 19 | 43 |
| 20 setlocal EnableDelayedExpansion | 44 :end |
| 21 set DART_SDK="" | |
| 22 if [%FOUND_SDK%] == [0] ( | |
| 23 if exist "%DART_ANALYZER_HOME%\lib\core\core.dart" ( | |
| 24 set DART_SDK=--dart-sdk "%DART_ANALYZER_HOME%" | |
| 25 ) else ( | |
| 26 for /f %%i in ('echo %DART_ANALYZER_HOME%') do set DART_SDK_HOME=%%~dpi\dart
-sdk | |
| 27 if exist "!DART_SDK_HOME!" ( | |
| 28 set DART_SDK=--dart-sdk !DART_SDK_HOME! | |
| 29 ) else ( | |
| 30 for /f %%j in ('call echo !DART_SDK_HOME!') do set DART_SDK_HOME=%%~dpj\da
rt-sdk | |
| 31 if exist "!DART_SDK_HOME!" ( | |
| 32 set DART_SDK=--dart-sdk !DART_SDK_HOME! | |
| 33 ) else ( | |
| 34 echo Couldn't find Dart SDK. Specify with --dart-sdk cmdline argument | |
| 35 ) | |
| 36 ) | |
| 37 ) | |
| 38 ) | |
| 39 endlocal & set DART_SDK=%DART_SDK% & set DART_SDK_HOME=%DART_SDK_HOME% | |
| 40 | |
| 41 if exist "%DART_SDK_HOME%\util\dartanalyzer\dartanalyzer.jar" ( | |
| 42 set DART_ANALYZER_LIBS=%DART_SDK_HOME%\util\dartanalyzer | |
| 43 ) else if exist "%DART_ANALYZER_HOME%\util\dartanalyzer\dartanalyzer.jar" ( | |
| 44 set DART_ANALYZER_LIBS=%DART_ANALYZER_HOME%\util\dartanalyzer | |
| 45 ) else ( | |
| 46 echo Configuration problem. Couldn't find dartanalyzer.jar. | |
| 47 exit /b 1 | |
| 48 ) | |
| 49 | |
| 50 setlocal EnableDelayedExpansion | |
| 51 set EXTRA_JVMARGS=-Xss2M | |
| 52 if [%FOUND_BATCH%] == [1] ( | |
| 53 set EXTRA_JVMARGS=!EXTRA_JVMARGS! -client | |
| 54 ) | |
| 55 endlocal & set "EXTRA_JVMARGS=%EXTRA_JVMARGS%" | |
| 56 | |
| 57 java %EXTRA_JVMARGS% %DART_JVMARGS% -ea -jar "%DART_ANALYZER_LIBS%\dartanalyzer.
jar" %DART_SDK% %* | |
| OLD | NEW |