@echo off rem #!/bin/bash --posix rem Copyright (c) 2012, 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. rem rem stop if any of the steps fails rem set -e rem rem SCRIPT_DIR=$(dirname $0) set SCRIPT_DIR=%~dp0 if %SCRIPT_DIR:~-1%==\ set SCRIPT_DIR=%SCRIPT_DIR:~0,-1% rem DART_ANALYZER_HOME=$(dirname $SCRIPT_DIR) 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 ) rem FOUND_BATCH=0 rem FOUND_SDK=0 rem for ARG in "$@" rem do rem case $ARG in rem -batch|--batch) rem FOUND_BATCH=1 rem ;; rem --dart-sdk) rem FOUND_SDK=1 rem ;; rem *) rem ;; rem esac rem done rem 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%" rem DART_SDK="" rem if [ $FOUND_SDK = 0 ] ; then rem if [ -f $DART_ANALYZER_HOME/lib/core/core.dart ] ; then rem DART_SDK="--dart-sdk $DART_ANALYZER_HOME" rem else rem DART_SDK_HOME=$(dirname $DART_ANALYZER_HOME)/dart-sdk rem if [ -d $DART_SDK_HOME ] ; then rem DART_SDK="--dart-sdk $DART_SDK_HOME" rem else rem DART_SDK_HOME=$(dirname $DART_SDK_HOME)/dart-sdk rem if [ -d $DART_SDK_HOME ] ; then rem DART_SDK="--dart-sdk $DART_SDK_HOME" rem else rem echo "Couldn't find Dart SDK. Specify with --dart-sdk cmdline argument" rem fi rem fi rem fi rem fi rem if exist "%DART_SDK_HOME%\util\analyzer\dart_analyzer.jar" ( set DART_ANALYZER_LIBS=%DART_SDK_HOME%\util\analyzer ) else if exist "%DART_ANALYZER_HOME%\util\analyzer\dart_analyzer.jar" ( set DART_ANALYZER_LIBS=%DART_ANALYZER_HOME%\util\analyzer ) else ( echo Configuration problem. Couldn't find dart_analyzer.jar. exit /b 1 ) rem if [ -f $DART_SDK_HOME/util/analyzer/dart_analyzer.jar ] ; then rem DART_ANALYZER_LIBS=$DART_SDK_HOME/util/analyzer rem elif [ -f $DART_ANALYZER_HOME/util/analyzer/dart_analyzer.jar ] ; then rem DART_ANALYZER_LIBS=$DART_ANALYZER_HOME/util/analyzer rem else rem echo "Configuration problem. Couldn't find dart_analyzer.jar." rem exit 1 rem fi rem rem if [ -x /usr/libexec/java_home ]; then rem export JAVA_HOME=$(/usr/libexec/java_home -v '1.6+') rem fi rem setlocal EnableDelayedExpansion set EXTRA_JVMARGS=-Xss2M if [%FOUND_BATCH%] == [1] ( set EXTRA_JVMARGS=!EXTRA_JVMARGS! -client ) endlocal & set "EXTRA_JVMARGS=%EXTRA_JVMARGS%" rem EXTRA_JVMARGS="-Xss2M " rem OS=`uname | tr [A-Z] [a-z]` rem if [ "$OS" == "darwin" ] ; then rem # Bump up the heap on Mac VMs, some of which default to 128M or less. rem # Users can specify DART_JVMARGS in the environment to override rem # this setting. Force to 32 bit client vm. 64 bit and server VM make for rem # poor performance. rem EXTRA_JVMARGS+=" -Xmx256M -client -d32 " rem else rem # On other architectures rem # -batch invocations will do better with a server vm rem # invocations for analyzing a single file do better with a client vm rem if [ $FOUND_BATCH = 0 ] ; then rem EXTRA_JVMARGS+=" -client " rem fi rem fi rem java %EXTRA_JVMARGS% %DART_JVMARGS% -ea -classpath "@CLASSPATH@" ^ com.google.dart.compiler.DartCompiler %DART_SDK% %* rem exec java $EXTRA_JVMARGS $DART_JVMARGS -ea -classpath "@CLASSPATH@" \ rem com.google.dart.compiler.DartCompiler ${DART_SDK} $@ rem