:: 현재 빌드 프로젝트에 대해 이전 리비전에 대해 바뀐점이 있다면 패키지 업데이트 진행

: PATH_WIN은 젠킨스에서 설정을 해주어야 한다
@echo off
set "PathSystem="
for /F "skip=2 tokens=1,2*" %%G in ('%SystemRoot%\System32\reg.exe query "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v "Path" 2^>nul') do if /I "%%G" == "Path" (
    if /I "%%H" == "REG_EXPAND_SZ" (set "PathExpand=1" & set "PathSystem=%%I") else if /I "%%H" == "REG_SZ" set "PathSystem=%%I"
)
set "PathUser="
for /F "skip=2 tokens=1,2*" %%G in ('%SystemRoot%\System32\reg.exe query "HKCU\Environment" /v "Path" 2^>nul') do if /I "%%G" == "Path" (
    if /I "%%H" == "REG_EXPAND_SZ" (set "PathExpand=1" & set "PathUser=%%I") else if /I "%%H" == "REG_SZ" set "PathUser=%%I"
)

PATH=%PathSystem%;%PathUser%;%SystemRoot%\System32
echo %PATH%
: cd ../dart_framework && git pull origin master
: cd "../%JOB_NAME%"

: call check_rev.bat

flutter pub upgrade --major-versions
flutter packages upgrade
flutter pub get

set /p REV_OLD=<git_rev.txt
git rev-list --all HEAD --all --count > git_rev.txt
set /p REV_NEW=<git_rev.txt

IF %REV_OLD%==%REV_NEW% set RESULT=TRUE
IF NOT %REV_OLD%==%REV_NEW% set RESULT=FALSE

:: 파일로 출력
: echo %RESULT% > result.txt
:: 파일에 내용 읽기
: set /p RESULT=<result.txt

IF "%RESULT%"=="FALSE" flutter clean && flutter pub upgrade --major-versions && flutter packages upgrade && flutter pub get && flutter pub run build_runner build --delete-conflicting-outputs