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 |
(...skipping 22 matching lines...) Expand all Loading... |
33 ) | 33 ) |
34 | 34 |
35 rem Get absolute full name for DART_ROOT. | 35 rem Get absolute full name for DART_ROOT. |
36 for %%i in ("%SDK_DIR%\..\") do set DART_ROOT=%%~fi | 36 for %%i in ("%SDK_DIR%\..\") do set DART_ROOT=%%~fi |
37 | 37 |
38 rem Remove trailing backslash if there is one | 38 rem Remove trailing backslash if there is one |
39 if %DART_ROOT:~-1%==\ set DART_ROOT=%DART_ROOT:~0,-1% | 39 if %DART_ROOT:~-1%==\ set DART_ROOT=%DART_ROOT:~0,-1% |
40 | 40 |
41 set ANALYZER=%DART_ROOT%\pkg\analyzer_cli\bin\analyzer.dart | 41 set ANALYZER=%DART_ROOT%\pkg\analyzer_cli\bin\analyzer.dart |
42 | 42 |
43 "%DART%" %EXTRA_VM_OPTIONS% "%ANALYZER%" "%SDK_ARG%" %* | 43 "%DART%" "--packages=%DART_ROOT%\.packages" %EXTRA_VM_OPTIONS% "%ANALYZER%" "%SD
K_ARG%" %* |
44 | 44 |
45 endlocal | 45 endlocal |
46 | 46 |
47 exit /b %errorlevel% | 47 exit /b %errorlevel% |
48 | 48 |
49 rem Follow the symbolic links (junctions points) using `dir to determine the | 49 rem Follow the symbolic links (junctions points) using `dir to determine the |
50 rem canonical path. Output with a link looks something like this | 50 rem canonical path. Output with a link looks something like this |
51 rem | 51 rem |
52 rem 01/03/2013 10:11 PM <JUNCTION> abc def | 52 rem 01/03/2013 10:11 PM <JUNCTION> abc def |
53 rem [c:\dart_bleeding\dart-repo.9\dart\out\ReleaseIA32\dart-sdk] | 53 rem [c:\dart_bleeding\dart-repo.9\dart\out\ReleaseIA32\dart-sdk] |
54 rem | 54 rem |
55 rem So in the output of 'dir /a:l "targetdir"' we are looking for a filename | 55 rem So in the output of 'dir /a:l "targetdir"' we are looking for a filename |
56 rem surrounded by right angle bracket and left square bracket. Once we get | 56 rem surrounded by right angle bracket and left square bracket. Once we get |
57 rem the filename, which is name of the link, we recursively follow that. | 57 rem the filename, which is name of the link, we recursively follow that. |
58 :follow_links | 58 :follow_links |
59 setlocal | 59 setlocal |
60 for %%i in (%1) do set result=%%~fi | 60 for %%i in (%1) do set result=%%~fi |
61 set current= | 61 set current= |
62 for /f "usebackq tokens=2 delims=[]" %%i in (`dir /a:l "%~dp1" 2^>nul ^ | 62 for /f "usebackq tokens=2 delims=[]" %%i in (`dir /a:l "%~dp1" 2^>nul ^ |
63 ^| %SystemRoot%\System32\find.exe "
> %~n1 ["`) do ( | 63 ^| %SystemRoot%\System32\find.exe "
> %~n1 ["`) do ( |
64 set current=%%i | 64 set current=%%i |
65 ) | 65 ) |
66 if not "%current%"=="" call :follow_links "%current%", result | 66 if not "%current%"=="" call :follow_links "%current%", result |
67 endlocal & set %~2=%result% | 67 endlocal & set %~2=%result% |
68 goto :eof | 68 goto :eof |
69 | 69 |
70 :end | 70 :end |
OLD | NEW |