This commit is contained in:
parent
769f9cb2a0
commit
d263f47431
@ -8,34 +8,32 @@ FOR %%i IN ("%~dp0..") DO SET "flutter_root=%%~fi" REM Get the parent directory
|
||||
SET flutter_tools_dir=%flutter_root%\packages\flutter_tools
|
||||
SET snapshot_path=%flutter_root%\bin\cache\flutter_tools.snapshot
|
||||
SET stamp_path=%flutter_root%\bin\cache\flutter_tools.stamp
|
||||
SET script_path=%flutter_tools_dir%\bin\sky_tools.dart
|
||||
SET script_path=%flutter_tools_dir%\bin\flutter_tools.dart
|
||||
REM TODO: Don't require dart to be on the user's path
|
||||
SET dart=dart
|
||||
|
||||
REM Getting modified timestamps in a batch file is ... troublesome
|
||||
REM More info: http://stackoverflow.com/questions/1687014/how-do-i-compare-timestamps-of-files-in-a-dos-batch-script
|
||||
FOR %%f IN (%flutter_tools_dir%\pubspec.yaml) DO SET yamlt=%%~tf
|
||||
FOR %%a IN (%flutter_tools_dir%\pubspec.lock) DO SET lockt=%%~ta
|
||||
if !lockt! LSS !yamlt! (
|
||||
CD "%flutter_tools_dir%"
|
||||
CALL pub.bat get
|
||||
CD "%flutter_root%"
|
||||
IF EXIST %snapshot_path% DEL %snapshot_path%
|
||||
)
|
||||
|
||||
REM IF doesn't have an "or". Instead, just use GOTO
|
||||
FOR /f %%r IN ('git rev-parse HEAD') DO SET revision=%%r
|
||||
IF NOT EXIST %snapshot_path% GOTO do_snapshot
|
||||
IF NOT EXIST %stamp_path% GOTO do_snapshot
|
||||
FOR /f %%r IN ('type "%stamp_path%"') DO SET stamp_value=%%r
|
||||
IF (!stamp_value! NEQ !revision!) GOTO do_snapshot
|
||||
FOR /f "delims=" %%x in (%stamp_path%) do set stamp_value=%%x
|
||||
IF "!stamp_value!" NEQ "!revision!" GOTO do_snapshot
|
||||
|
||||
REM Getting modified timestamps in a batch file is ... troublesome
|
||||
REM More info: http://stackoverflow.com/questions/1687014/how-do-i-compare-timestamps-of-files-in-a-dos-batch-script
|
||||
FOR %%f IN (%flutter_tools_dir%\pubspec.yaml) DO SET yamlt=%%~tf
|
||||
FOR %%a IN (%flutter_tools_dir%\pubspec.lock) DO SET lockt=%%~ta
|
||||
IF !lockt! LSS !yamlt! GOTO do_snapshot
|
||||
|
||||
GOTO :after_snapshot
|
||||
|
||||
:do_snapshot
|
||||
|
||||
CD "%flutter_tools_dir%"
|
||||
CALL pub.bat get
|
||||
CD "%flutter_root%"
|
||||
CALL %dart% --snapshot="%snapshot_path%" --package-root="%flutter_tools_dir%\packages" "%script_path%"
|
||||
ECHO !revision! > "%stamp_path%"
|
||||
<nul SET /p=%revision%> "%stamp_path%"
|
||||
goto :eof
|
||||
|
||||
:after_snapshot
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user