@ECHO off REM Copyright 2014 The Flutter Authors. All rights reserved. REM Use of this source code is governed by a BSD-style license that can be REM found in the LICENSE file. REM ---------------------------------- NOTE ---------------------------------- REM REM Please keep the logic in this file consistent with the logic in the REM `dart` script in the same directory to ensure that Flutter & Dart continue to REM work across all platforms! REM REM -------------------------------------------------------------------------- SETLOCAL FOR %%i IN ("%~dp0..") DO SET FLUTTER_ROOT=%%~fi REM Include shared scripts in shared.bat SET shared_bin=%FLUTTER_ROOT%/bin/internal/shared.bat CALL "%shared_bin%" SET cache_dir=%FLUTTER_ROOT%\bin\cache SET dart_sdk_path=%cache_dir%\dart-sdk SET dart=%dart_sdk_path%\bin\dart.exe SET exit_with_errorlevel=%FLUTTER_ROOT%/bin/internal/exit_with_errorlevel.bat REM Chaining the call to 'dart' and 'exit' with an ampersand ensures that REM Windows reads both commands into memory once before executing them. This REM avoids nasty errors that may otherwise occur when the dart command (e.g. as REM part of 'flutter upgrade') modifies this batch script while it is executing. REM REM Do not use the CALL command in the next line to execute Dart. CALL causes REM Windows to re-read the line from disk after the CALL command has finished REM regardless of the ampersand chain. "%dart%" %* & "%exit_with_errorlevel%"