-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild_stats_manager.bat
More file actions
38 lines (38 loc) · 1.39 KB
/
build_stats_manager.bat
File metadata and controls
38 lines (38 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
@echo off
setlocal enabledelayedexpansion
setlocal
for /f usebackq^ delims^=^=^ tokens^=1^,2 %%G in ("build_stats.txt") do call set "$%%G=%%H"
if "%*"=="" ( set $
) else ( set /a $TotalBuilds+=1
if "%1"=="0" ( set /a $TotalReleases+=1
if "%2"=="0" ( set /a $SuccessReleases+=1
) else ( set /a $FailedReleases+=1
)
) else ( set /a $TotalRuns+=1
if "%2"=="0" ( set /a $SuccessRuns+=1
) else ( set /a $FailedRuns+=1
)
)
(
echo ; Stats tracked as of version 0.0.9
echo TotalBuilds=!$TotalBuilds!
echo TotalRuns=!$TotalRuns!
echo SuccessRuns=!$SuccessRuns!
echo FailedRuns=!$FailedRuns!
echo TotalReleases=!$TotalReleases!
echo SuccessReleases=!$SuccessReleases!
echo FailedReleases=!$FailedReleases!
echo ; Build times tracked as of version 0.2.2
if "%1"=="0" (
:: IDK how this works, I just copied this https://stackoverflow.com/questions/9922498/calculate-time-difference-in-windows-batch-file
set "startTime=%3"
set "endTime=%4"
set "end=!endTime:%time:~8,1%=%%100)*100+1!" & set "start=!startTime:%time:~8,1%=%%100)*100+1!"
set /A "elap=((((10!end:%time:~2,1%=%%100)*60+1!%%100)-((((10!start:%time:~2,1%=%%100)*60+1!%%100), elap-=(elap>>31)*24*60*60*100"
set /A "cc=elap%%100+100,elap/=100,ss=elap%%60+100,elap/=60,mm=elap%%60+100,hh=elap/60+100"
echo PrevReleaseBuildTime=!hh:~1!!time:~2,1!!mm:~1!!time:~2,1!!ss:~1!!time:~8,1!!cc:~1!
) else ( echo PrevReleaseBuildTime=!$PrevReleaseBuildTime!
)
)>build_stats.txt
)
endlocal