OLD | NEW |
1 @echo off | 1 @echo off |
2 REM Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 2 REM Copyright (c) 2014, 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 rem Run pub.dart on the Dart VM. This script is only used when running pub from | 6 rem Run pub.dart on the Dart VM. This script is only used when running pub from |
7 rem within the Dart source repo. The shipped SDK instead uses "pub_sdk.bat", | 7 rem within the Dart source repo. The shipped SDK instead uses "pub_sdk.bat", |
8 rem which is renamed to "pub.bat" when the SDK is built. | 8 rem which is renamed to "pub.bat" when the SDK is built. |
9 | 9 |
10 setlocal | 10 setlocal |
11 rem Handle the case where dart-sdk/bin has been symlinked to. | 11 rem Handle the case where dart-sdk/bin has been symlinked to. |
12 set DIR_NAME_WITH_SLASH=%~dp0 | 12 set DIR_NAME_WITH_SLASH=%~dp0 |
13 set DIR_NAME=%DIR_NAME_WITH_SLASH:~0,-1%% | 13 set DIR_NAME=%DIR_NAME_WITH_SLASH:~0,-1%% |
14 call :follow_links "%DIR_NAME%", RETURNED_BIN_DIR | 14 call :follow_links "%DIR_NAME%", RETURNED_BIN_DIR |
15 rem Get rid of surrounding quotes. | 15 rem Get rid of surrounding quotes. |
16 for %%i in ("%RETURNED_BIN_DIR%") do set BIN_DIR=%%~fi | 16 for %%i in ("%RETURNED_BIN_DIR%") do set BIN_DIR=%%~fi |
17 | 17 |
18 rem Get absolute full name for SDK_DIR. | 18 rem Get absolute full name for SDK_DIR. |
19 for %%i in ("%BIN_DIR%\..\") do set SDK_DIR=%%~fi | 19 for %%i in ("%BIN_DIR%\..\") do set SDK_DIR=%%~fi |
20 | 20 |
21 rem Remove trailing backslash if there is one | 21 rem Remove trailing backslash if there is one |
22 IF %SDK_DIR:~-1%==\ set SDK_DIR=%SDK_DIR:~0,-1% | 22 IF %SDK_DIR:~-1%==\ set SDK_DIR=%SDK_DIR:~0,-1% |
23 | 23 |
24 set VM_OPTIONS= | 24 set VM_OPTIONS= |
25 | 25 |
| 26 rem We allow extra vm options to be passed in through an environment variable. |
| 27 if not "_%DART_VM_OPTIONS%_" == "__" ( |
| 28 set VM_OPTIONS=%VM_OPTIONS% %DART_VM_OPTIONS% |
| 29 ) |
| 30 |
26 rem Use the Dart binary in the built SDK so pub can find the version file next | 31 rem Use the Dart binary in the built SDK so pub can find the version file next |
27 rem to it. | 32 rem to it. |
28 set BUILD_DIR=%SDK_DIR%\..\build\ReleaseIA32 | 33 set BUILD_DIR=%SDK_DIR%\..\build\ReleaseIA32 |
29 set PACKAGES_DIR=%BUILD_DIR%\packages | 34 set PACKAGES_DIR=%BUILD_DIR%\packages |
30 set DART=%BUILD_DIR%\dart-sdk\bin\dart | 35 set DART=%BUILD_DIR%\dart-sdk\bin\dart |
31 | 36 |
32 rem Run pub. | 37 rem Run pub. |
33 set PUB="%SDK_DIR%\lib\_internal\pub.dart" | 38 set PUB="%SDK_DIR%\lib\_internal\pub.dart" |
34 "%DART%" %VM_OPTIONS% --package-root="%PACKAGES_DIR%" "%PUB%" %* | 39 "%DART%" %VM_OPTIONS% --package-root="%PACKAGES_DIR%" "%PUB%" %* |
35 | 40 |
36 endlocal | 41 endlocal |
37 | 42 |
38 exit /b %errorlevel% | 43 exit /b %errorlevel% |
39 | 44 |
40 :follow_links | 45 :follow_links |
41 setlocal | 46 setlocal |
42 for %%i in (%1) do set result=%%~fi | 47 for %%i in (%1) do set result=%%~fi |
43 set current= | 48 set current= |
44 for /f "usebackq tokens=2 delims=[]" %%i in (`dir /a:l "%~dp1" 2^>nul ^ | 49 for /f "usebackq tokens=2 delims=[]" %%i in (`dir /a:l "%~dp1" 2^>nul ^ |
45 ^| find "> %~n1 ["`) do ( | 50 ^| find "> %~n1 ["`) do ( |
46 set current=%%i | 51 set current=%%i |
47 ) | 52 ) |
48 if not "%current%"=="" call :follow_links "%current%", result | 53 if not "%current%"=="" call :follow_links "%current%", result |
49 endlocal & set %~2=%result% | 54 endlocal & set %~2=%result% |
50 goto :eof | 55 goto :eof |
51 | 56 |
52 :end | 57 :end |
OLD | NEW |