mirror of
https://mirror.ghproxy.com/https://github.com/StarCitizenToolBox/app.git
synced 2024-12-23 13:33:52 +08:00
92 lines
2.4 KiB
Batchfile
92 lines
2.4 KiB
Batchfile
|
@echo off
|
||
|
setlocal
|
||
|
|
||
|
setlocal ENABLEDELAYEDEXPANSION
|
||
|
|
||
|
SET BASEDIR=%~dp0
|
||
|
|
||
|
if not exist "%CARGOKIT_TOOL_TEMP_DIR%" (
|
||
|
mkdir "%CARGOKIT_TOOL_TEMP_DIR%"
|
||
|
)
|
||
|
cd /D "%CARGOKIT_TOOL_TEMP_DIR%"
|
||
|
|
||
|
SET BUILD_TOOL_PKG_DIR=%BASEDIR%build_tool
|
||
|
SET DART=%FLUTTER_ROOT%\bin\cache\dart-sdk\bin\dart
|
||
|
|
||
|
set BUILD_TOOL_PKG_DIR_POSIX=%BUILD_TOOL_PKG_DIR:\=/%
|
||
|
|
||
|
(
|
||
|
echo name: build_tool_runner
|
||
|
echo version: 1.0.0
|
||
|
echo publish_to: none
|
||
|
echo.
|
||
|
echo environment:
|
||
|
echo sdk: '^>=3.0.0 ^<4.0.0'
|
||
|
echo.
|
||
|
echo dependencies:
|
||
|
echo build_tool:
|
||
|
echo path: %BUILD_TOOL_PKG_DIR_POSIX%
|
||
|
) >pubspec.yaml
|
||
|
|
||
|
if not exist bin (
|
||
|
mkdir bin
|
||
|
)
|
||
|
|
||
|
(
|
||
|
echo import 'package:build_tool/build_tool.dart' as build_tool;
|
||
|
echo void main^(List^<String^> args^) ^{
|
||
|
echo build_tool.runMain^(args^);
|
||
|
echo ^}
|
||
|
) >bin\build_tool_runner.dart
|
||
|
|
||
|
SET PRECOMPILED=bin\build_tool_runner.dill
|
||
|
|
||
|
REM To detect changes in package we compare output of DIR /s (recursive)
|
||
|
set PREV_PACKAGE_INFO=.dart_tool\package_info.prev
|
||
|
set CUR_PACKAGE_INFO=.dart_tool\package_info.cur
|
||
|
|
||
|
DIR "%BUILD_TOOL_PKG_DIR%" /s > "%CUR_PACKAGE_INFO%_orig"
|
||
|
|
||
|
REM Last line in dir output is free space on harddrive. That is bound to
|
||
|
REM change between invocation so we need to remove it
|
||
|
(
|
||
|
Set "Line="
|
||
|
For /F "UseBackQ Delims=" %%A In ("%CUR_PACKAGE_INFO%_orig") Do (
|
||
|
SetLocal EnableDelayedExpansion
|
||
|
If Defined Line Echo !Line!
|
||
|
EndLocal
|
||
|
Set "Line=%%A")
|
||
|
) >"%CUR_PACKAGE_INFO%"
|
||
|
DEL "%CUR_PACKAGE_INFO%_orig"
|
||
|
|
||
|
REM Compare current directory listing with previous
|
||
|
FC /B "%CUR_PACKAGE_INFO%" "%PREV_PACKAGE_INFO%" > nul 2>&1
|
||
|
|
||
|
If %ERRORLEVEL% neq 0 (
|
||
|
REM Changed - copy current to previous and remove precompiled kernel
|
||
|
if exist "%PREV_PACKAGE_INFO%" (
|
||
|
DEL "%PREV_PACKAGE_INFO%"
|
||
|
)
|
||
|
MOVE /Y "%CUR_PACKAGE_INFO%" "%PREV_PACKAGE_INFO%"
|
||
|
if exist "%PRECOMPILED%" (
|
||
|
DEL "%PRECOMPILED%"
|
||
|
)
|
||
|
)
|
||
|
|
||
|
REM There is no CUR_PACKAGE_INFO it was renamed in previous step to %PREV_PACKAGE_INFO%
|
||
|
REM which means we need to do pub get and precompile
|
||
|
if not exist "%PRECOMPILED%" (
|
||
|
echo Running pub get in "%cd%"
|
||
|
"%DART%" pub get --no-precompile
|
||
|
"%DART%" compile kernel bin/build_tool_runner.dart
|
||
|
)
|
||
|
|
||
|
"%DART%" "%PRECOMPILED%" %*
|
||
|
|
||
|
REM 253 means invalid snapshot version.
|
||
|
If %ERRORLEVEL% equ 253 (
|
||
|
"%DART%" pub get --no-precompile
|
||
|
"%DART%" compile kernel bin/build_tool_runner.dart
|
||
|
"%DART%" "%PRECOMPILED%" %*
|
||
|
)
|