| 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 setlocal | 6 setlocal |
| 7 rem Handle the case where dart-sdk/bin has been symlinked to. | 7 rem Handle the case where dart-sdk/bin has been symlinked to. |
| 8 set DIR_NAME_WITH_SLASH=%~dp0 | 8 set DIR_NAME_WITH_SLASH=%~dp0 |
| 9 set DIR_NAME=%DIR_NAME_WITH_SLASH:~0,-1%% | 9 set DIR_NAME=%DIR_NAME_WITH_SLASH:~0,-1%% |
| 10 call :follow_links "%DIR_NAME%", RETURNED_BIN_DIR | 10 call :follow_links "%DIR_NAME%", RETURNED_BIN_DIR |
| 11 rem Get rid of surrounding quotes. | 11 rem Get rid of surrounding quotes. |
| 12 for %%i in ("%RETURNED_BIN_DIR%") do set BIN_DIR=%%~fi | 12 for %%i in ("%RETURNED_BIN_DIR%") do set BIN_DIR=%%~fi |
| 13 | 13 |
| 14 set DART=%BIN_DIR%\dart | |
| 15 set SNAPSHOT=%BIN_DIR%\snapshots\dartanalyzer.dart.snapshot | |
| 16 | |
| 17 rem Get absolute full name for SDK_DIR. | 14 rem Get absolute full name for SDK_DIR. |
| 18 for %%i in ("%BIN_DIR%\..\") do set SDK_DIR=%%~fi | 15 for %%i in ("%BIN_DIR%\..\") do set SDK_DIR=%%~fi |
| 19 | 16 |
| 20 rem Remove trailing backslash if there is one | 17 rem Remove trailing backslash if there is one |
| 21 if %SDK_DIR:~-1%==\ set SDK_DIR=%SDK_DIR:~0,-1% | 18 if %SDK_DIR:~-1%==\ set SDK_DIR=%SDK_DIR:~0,-1% |
| 22 | 19 |
| 20 rem Get absolute full name for DART_ROOT. |
| 21 for %%i in ("%SDK_DIR%\..\") do set DART_ROOT=%%~fi |
| 22 |
| 23 rem Remove trailing backslash if there is one |
| 24 if %DART_ROOT:~-1%==\ set DART_ROOT=%DART_ROOT:~0,-1% |
| 25 |
| 26 set ANALYZER=%DART_ROOT%\pkg\analyzer\bin\analyzer.dart |
| 27 |
| 23 set SDK_ARG=--dart-sdk=%SDK_DIR% | 28 set SDK_ARG=--dart-sdk=%SDK_DIR% |
| 24 | 29 |
| 25 "%DART%" "%SNAPSHOT%" "%SDK_ARG%" %* | 30 REM DART_CONFIGURATION defaults to ReleaseIA32 |
| 31 if "%DART_CONFIGURATION%"=="" set DART_CONFIGURATION=ReleaseIA32 |
| 32 |
| 33 set DART=%BIN_DIR%\dart |
| 34 set SNAPSHOT=%BIN_DIR%\snapshots\dartanalyzer.dart.snapshot |
| 35 set BUILD_DIR=%DART_ROOT%\build\%DART_CONFIGURATION% |
| 36 |
| 37 set PACKAGE_ROOT=%BUILD_DIR%\packages\ |
| 38 |
| 39 set EXTRA_VM_OPTIONS= |
| 40 |
| 41 if _%DARTANALYZER_DEVELOPER_MODE%_ == _1_ ( |
| 42 set EXTRA_VM_OPTIONS=%EXTRA_VM_OPTIONS% --checked |
| 43 ) |
| 44 |
| 45 rem See comments regarding options below in dartanalyzer shell script. |
| 46 set EXTRA_VM_OPTIONS=%EXTRA_VM_OPTIONS% --heap_growth_rate=512 |
| 47 set EXTRA_VM_OPTIONS=%EXTRA_VM_OPTIONS% --inlining_hotness=90 |
| 48 set EXTRA_VM_OPTIONS=%EXTRA_VM_OPTIONS% --optimization_counter_threshold=5000 |
| 49 |
| 50 rem We allow extra vm options to be passed in through an environment variable. |
| 51 if not "_%DART_VM_OPTIONS%_" == "__" ( |
| 52 set EXTRA_VM_OPTIONS=%EXTRA_VM_OPTIONS% %DART_VM_OPTIONS% |
| 53 ) |
| 54 |
| 55 if exist "%SNAPSHOT%" ( |
| 56 "%DART%" %EXTRA_VM_OPTIONS% "%SNAPSHOT%" "%SDK_ARG%" %* |
| 57 ) else ( |
| 58 "%DART%" %EXTRA_VM_OPTIONS% "--package-root=%PACKAGE_ROOT%" "%ANALYZER%" "%SDK
_ARG%" %* |
| 59 ) |
| 26 | 60 |
| 27 endlocal | 61 endlocal |
| 28 | 62 |
| 29 exit /b %errorlevel% | 63 exit /b %errorlevel% |
| 30 | 64 |
| 31 rem Follow the symbolic links (junctions points) using `dir to determine the | 65 rem Follow the symbolic links (junctions points) using `dir to determine the |
| 32 rem canonical path. Output with a link looks something like this | 66 rem canonical path. Output with a link looks something like this |
| 33 rem | 67 rem |
| 34 rem 01/03/2013 10:11 PM <JUNCTION> abc def | 68 rem 01/03/2013 10:11 PM <JUNCTION> abc def |
| 35 rem [c:\dart_bleeding\dart-repo.9\dart\build\ReleaseIA32\dart-sdk] | 69 rem [c:\dart_bleeding\dart-repo.9\dart\build\ReleaseIA32\dart-sdk] |
| 36 rem | 70 rem |
| 37 rem So in the output of 'dir /a:l "targetdir"' we are looking for a filename | 71 rem So in the output of 'dir /a:l "targetdir"' we are looking for a filename |
| 38 rem surrounded by right angle bracket and left square bracket. Once we get | 72 rem surrounded by right angle bracket and left square bracket. Once we get |
| 39 rem the filename, which is name of the link, we recursively follow that. | 73 rem the filename, which is name of the link, we recursively follow that. |
| 40 :follow_links | 74 :follow_links |
| 41 setlocal | 75 setlocal |
| 42 for %%i in (%1) do set result=%%~fi | 76 for %%i in (%1) do set result=%%~fi |
| 43 set current= | 77 set current= |
| 44 for /f "usebackq tokens=2 delims=[]" %%i in (`dir /a:l "%~dp1" 2^>nul ^ | 78 for /f "usebackq tokens=2 delims=[]" %%i in (`dir /a:l "%~dp1" 2^>nul ^ |
| 45 ^| find "> %~n1 ["`) do ( | 79 ^| find "> %~n1 ["`) do ( |
| 46 set current=%%i | 80 set current=%%i |
| 47 ) | 81 ) |
| 48 if not "%current%"=="" call :follow_links "%current%", result | 82 if not "%current%"=="" call :follow_links "%current%", result |
| 49 endlocal & set %~2=%result% | 83 endlocal & set %~2=%result% |
| 50 goto :eof | 84 goto :eof |
| 51 | 85 |
| 52 :end | 86 :end |
| OLD | NEW |