Index: sdk/bin/dartfmt.bat |
diff --git a/sdk/bin/dartfmt.bat b/sdk/bin/dartfmt.bat |
index 9cae1115fb0d47a89b8047343c7d0613b1282c60..55c7e4fc10df4c39e32f46fd59ea2c761ffb650e 100644 |
--- a/sdk/bin/dartfmt.bat |
+++ b/sdk/bin/dartfmt.bat |
@@ -11,27 +11,44 @@ call :follow_links "%DIR_NAME%", RETURNED_BIN_DIR |
rem Get rid of surrounding quotes. |
for %%i in ("%RETURNED_BIN_DIR%") do set BIN_DIR=%%~fi |
+set DART=%BIN_DIR%\dart |
+ |
rem Get absolute full name for SDK_DIR. |
for %%i in ("%BIN_DIR%\..\") do set SDK_DIR=%%~fi |
rem Remove trailing backslash if there is one |
-IF %SDK_DIR:~-1%==\ set SDK_DIR=%SDK_DIR:~0,-1% |
+if %SDK_DIR:~-1%==\ set SDK_DIR=%SDK_DIR:~0,-1% |
-set DARTFMT=%SDK_DIR%\..\packages\analyzer\bin\formatter.dart |
-set DART=%BIN_DIR%\dart |
-set SNAPSHOT=%BIN_DIR%\snapshots\dartfmt.dart.snapshot |
+rem Get absolute full name for DART_ROOT. |
+for %%i in ("%SDK_DIR%\..\") do set DART_ROOT=%%~fi |
+rem Remove trailing backslash if there is one |
+if %DART_ROOT:~-1%==\ set DART_ROOT=%DART_ROOT:~0,-1% |
-if exist "%SNAPSHOT%" ( |
- "%DART%" "%SNAPSHOT%" %* |
-) else ( |
- "%DART%" "%DARTFMT%" %* |
-) |
+set DARTFMT=%DART_ROOT%\third_party\pkg\dart_style\bin\format.dart |
+ |
+rem DART_CONFIGURATION defaults to ReleaseIA32 |
+if "%DART_CONFIGURATION%"=="" set DART_CONFIGURATION=ReleaseIA32 |
+ |
+set BUILD_DIR=%DART_ROOT%\build\%DART_CONFIGURATION% |
+ |
+set PACKAGE_ROOT=%BUILD_DIR%\packages |
+ |
+"%DART%" "--package-root=%PACKAGE_ROOT%" "%DARTFMT%" %* |
endlocal |
exit /b %errorlevel% |
+rem Follow the symbolic links (junctions points) using `dir to determine the |
+rem canonical path. Output with a link looks something like this |
+rem |
+rem 01/03/2013 10:11 PM <JUNCTION> abc def |
+rem [c:\dart_bleeding\dart-repo.9\dart\build\ReleaseIA32\dart-sdk] |
+rem |
+rem So in the output of 'dir /a:l "targetdir"' we are looking for a filename |
+rem surrounded by right angle bracket and left square bracket. Once we get |
+rem the filename, which is name of the link, we recursively follow that. |
:follow_links |
setlocal |
for %%i in (%1) do set result=%%~fi |