LameXP/etc/Deployment/_revision.bat

66 lines
2.3 KiB
Batchfile
Raw Normal View History

@echo off
"%~dp0\..\..\..\Prerequisites\CEcho\cecho.exe" cyan "\n==========================================================================="
"%~dp0\..\..\..\Prerequisites\CEcho\cecho.exe" cyan "Detecting Git revision..."
"%~dp0\..\..\..\Prerequisites\CEcho\cecho.exe" cyan "===========================================================================\n"
:: ---------------------------------------------------------------------------
:: SETUP PATHS
:: ---------------------------------------------------------------------------
call "%~dp0\_paths.bat"
cd /d "%~dp0"
:: ---------------------------------------------------------------------------
:: CLEAR VARIABLES
:: ---------------------------------------------------------------------------
set "GIT_REV_NAME="
set "GIT_REV_HASH="
set "GIT_REV_NMBR="
set "GIT_REV_DATE="
set "GIT_REV_TIME="
:: ---------------------------------------------------------------------------
:: DETECT THE GIT REVISION
:: ---------------------------------------------------------------------------
for /f "usebackq tokens=1" %%i in (`"%PATH_GITWIN%\bin\git.exe" rev-parse --abbrev-ref HEAD`) do (
set "GIT_REV_NAME=%%~i"
)
for /f "usebackq tokens=1" %%i in (`"%PATH_GITWIN%\bin\git.exe" rev-parse --short HEAD`) do (
set "GIT_REV_HASH=%%~i"
)
for /f "usebackq tokens=1" %%i in (`"%PATH_GITWIN%\bin\git.exe" rev-list --count HEAD`) do (
set "GIT_REV_NMBR=%%~i"
)
for /f "usebackq tokens=1,2" %%i in (`"%PATH_GITWIN%\bin\git.exe" log -1 --format^=%%ci HEAD`) do (
set "GIT_REV_DATE=%%~i"
set "GIT_REV_TIME=%%~j"
)
:: ------------------------------------------
:: VALIDATE RESULT
:: ------------------------------------------
if "%GIT_REV_NAME%"=="" goto git_rev_incomplete
if "%GIT_REV_HASH%"=="" goto git_rev_incomplete
if "%GIT_REV_NMBR%"=="" goto git_rev_incomplete
if "%GIT_REV_DATE%"=="" goto git_rev_incomplete
if "%GIT_REV_TIME%"=="" goto git_rev_incomplete
goto git_rev_complete
:git_rev_incomplete
"%~dp0\..\..\..\Prerequisites\CEcho\cecho.exe" red "\nFailed to determine the current Git revision!\n"
pause && exit
:: ------------------------------------------
:: Completed
:: ------------------------------------------
:git_rev_complete
"%~dp0\..\..\..\Prerequisites\CEcho\cecho.exe" yellow "Git revision: %GIT_REV_NAME%+%GIT_REV_NMBR%-%GIT_REV_HASH% [%GIT_REV_DATE%]"