Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(132)

Unified Diff: sdk/bin/dartanalyzer.bat

Issue 240723006: Replace Java based analyzer with Dart based analyzer when building SDK (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sdk/bin/dartanalyzer.bat
diff --git a/sdk/bin/dartanalyzer.bat b/sdk/bin/dartanalyzer.bat
index 490512446376baf4782c3a1b40c4cbb8fee2095b..c7cc4d9fb42f335c559fc9ae172ecae8d5402616 100644
--- a/sdk/bin/dartanalyzer.bat
+++ b/sdk/bin/dartanalyzer.bat
@@ -1,57 +1,47 @@
-@echo off
-rem Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
-rem for details. All rights reserved. Use of this source code is governed by a
-rem BSD-style license that can be found in the LICENSE file.
-
-set SCRIPT_DIR=%~dp0
-if %SCRIPT_DIR:~-1%==\ set SCRIPT_DIR=%SCRIPT_DIR:~0,-1%
-
-for %%I in ("%SCRIPT_DIR%\..") do set "DART_ANALYZER_HOME=%%~fI"
-if %DART_ANALYZER_HOME:~-1%==\ set DART_ANALYZER_HOME=%DART_ANALYZER_HOME:~0,-1%
-
-set FOUND_BATCH=0
-set FOUND_SDK=0
-for %%a in (%*) do (
- if [%%a] == [--batch] set FOUND_BATCH=1
- if [%%a] == [-b] set FOUND_BATCH=1
- if [%%a] == [--dart-sdk] set FOUND_SDK=1
-)
-
-setlocal EnableDelayedExpansion
-set DART_SDK=""
-if [%FOUND_SDK%] == [0] (
- if exist "%DART_ANALYZER_HOME%\lib\core\core.dart" (
- set DART_SDK=--dart-sdk "%DART_ANALYZER_HOME%"
- ) else (
- for /f %%i in ('echo %DART_ANALYZER_HOME%') do set DART_SDK_HOME=%%~dpi\dart-sdk
- if exist "!DART_SDK_HOME!" (
- set DART_SDK=--dart-sdk !DART_SDK_HOME!
- ) else (
- for /f %%j in ('call echo !DART_SDK_HOME!') do set DART_SDK_HOME=%%~dpj\dart-sdk
- if exist "!DART_SDK_HOME!" (
- set DART_SDK=--dart-sdk !DART_SDK_HOME!
- ) else (
- echo Couldn't find Dart SDK. Specify with --dart-sdk cmdline argument
- )
- )
- )
-)
-endlocal & set DART_SDK=%DART_SDK% & set DART_SDK_HOME=%DART_SDK_HOME%
-
-if exist "%DART_SDK_HOME%\util\dartanalyzer\dartanalyzer.jar" (
- set DART_ANALYZER_LIBS=%DART_SDK_HOME%\util\dartanalyzer
-) else if exist "%DART_ANALYZER_HOME%\util\dartanalyzer\dartanalyzer.jar" (
- set DART_ANALYZER_LIBS=%DART_ANALYZER_HOME%\util\dartanalyzer
-) else (
- echo Configuration problem. Couldn't find dartanalyzer.jar.
- exit /b 1
-)
-
-setlocal EnableDelayedExpansion
-set EXTRA_JVMARGS=-Xss2M
-if [%FOUND_BATCH%] == [1] (
- set EXTRA_JVMARGS=!EXTRA_JVMARGS! -client
-)
-endlocal & set "EXTRA_JVMARGS=%EXTRA_JVMARGS%"
-
-java %EXTRA_JVMARGS% %DART_JVMARGS% -ea -jar "%DART_ANALYZER_LIBS%\dartanalyzer.jar" %DART_SDK% %*
+@echo off
+REM Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
+REM for details. All rights reserved. Use of this source code is governed by a
+REM BSD-style license that can be found in the LICENSE file.
+
+setlocal
+rem Handle the case where dart-sdk/bin has been symlinked to.
+set DIR_NAME_WITH_SLASH=%~dp0
+set DIR_NAME=%DIR_NAME_WITH_SLASH:~0,-1%%
+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
+
+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%
+
+set DARTANALYZER=%SDK_DIR%\..\packages\analyzer\bin\analyzer.dart
ahe 2014/04/22 09:38:13 I don't think this works.
danrubel 2014/04/22 18:37:54 Good point. I copied this from dartfmt.bat so it p
+set DART=%BIN_DIR%\dart
+set SNAPSHOT=%BIN_DIR%\snapshots\dartanalyzer.dart.snapshot
+
+
+if exist "%SNAPSHOT%" (
+ "%DART%" "%SNAPSHOT%" %*
+) else (
+ "%DART%" "%DARTANALYZER%" %*
+)
+
+endlocal
+
+exit /b %errorlevel%
+
+:follow_links
+setlocal
+for %%i in (%1) do set result=%%~fi
+set current=
+for /f "usebackq tokens=2 delims=[]" %%i in (`dir /a:l "%~dp1" 2^>nul ^
+ ^| find "> %~n1 ["`) do (
+ set current=%%i
+)
+if not "%current%"=="" call :follow_links "%current%", result
+endlocal & set %~2=%result%
+goto :eof
+
+:end

Powered by Google App Engine
This is Rietveld 408576698