From 3d2d44a24c1d7535fe7a3013ba5737aa19ec9f3d Mon Sep 17 00:00:00 2001 From: Grzegorz Rychlik Date: Fri, 13 Mar 2020 12:20:03 +0100 Subject: [PATCH] Update versioning header and build script --- CreateBuild.cmd | 36 ++++++++++++++++++----- Src/Common/C3_BUILD_VERSION_HASH_PART.hxx | 4 +-- 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/CreateBuild.cmd b/CreateBuild.cmd index c735b79..ee3206a 100644 --- a/CreateBuild.cmd +++ b/CreateBuild.cmd @@ -1,17 +1,33 @@ @REM This script requires MSBuild in PATH. -@REM Adjust values below before running this script. @SETLOCAL -@SET BUILD_MAJOR_NO=1 -@SET BUILD_MINOR_NO=1 -@SET BUILD_REVISION_NO=0 -@SET BUILD_PREFIX=C3 @SET BUILD_HEADER_FILE=Src\Common\C3_BUILD_VERSION_HASH_PART.hxx @SET BUILDS_PATH=Builds +@REM set C3_BUILD_LABEL variable before running this script or edit here and uncomment +@REM @SET C3_BUILD_LABEL= + @REM Script part starts here. @ECHO OFF +REM Search BUILD_HEADER_FILE to find a line with build number +FOR /F "tokens=* USEBACKQ" %%F IN (`findstr C3_BUILD_VERSION %BUILD_HEADER_FILE%`) DO ( + SET HeaderLine=%%F +) + +REM Retreive version string +FOR /F "tokens=3" %%a IN ("%HeaderLine%") DO ( + SET VersionFromHeader=%%~a +) + +REM Parse version stirng (following semver schema x.y.z-label) +FOR /F "tokens=1,2,3,4 delims=-." %%a IN ("%VersionFromHeader%") DO ( + SET BUILD_PREFIX=%%a + SET BUILD_MAJOR_NO=%%b + SET BUILD_MINOR_NO=%%c + SET BUILD_REVISION_NO=%%d +) + ECHO Cleaning from temporary files... @CALL CleanTempFiles.cmd >nul 2>nul @@ -20,6 +36,7 @@ IF EXIST "%BUILDS_PATH%" (RMDIR /s /q "%BUILDS_PATH%") MKDIR %BUILDS_PATH% SET BUILD_FULL_SIGNATURE=%BUILD_PREFIX%-%BUILD_MAJOR_NO%.%BUILD_MINOR_NO%.%BUILD_REVISION_NO% +IF DEFINED C3_BUILD_LABEL SET BUILD_FULL_SIGNATURE=%BUILD_FULL_SIGNATURE%-%C3_BUILD_LABEL% ECHO Creating build folder - '%BUILD_FULL_SIGNATURE%'... IF EXIST %BUILDS_PATH%\\%BUILD_FULL_SIGNATURE% (RMDIR /s /q "%BUILDS_PATH%\\%BUILD_FULL_SIGNATURE%") @@ -27,8 +44,8 @@ MKDIR %BUILDS_PATH%\\%BUILD_FULL_SIGNATURE% || GOTO :ERROR ECHO Creating build versioning header... SET BuildDefinition=#define C3_BUILD_VERSION -ECHO #include "StdAfx.h" > %BUILD_HEADER_FILE% || GOTO :ERROR -ECHO %BuildDefinition% "%BUILD_FULL_SIGNATURE%" >> %BUILD_HEADER_FILE% || GOTO :ERROR +ECHO #include "StdAfx.h"> %BUILD_HEADER_FILE% || GOTO :ERROR +ECHO %BuildDefinition% "%BUILD_FULL_SIGNATURE%">> %BUILD_HEADER_FILE% || GOTO :ERROR if ""=="%~1" ( @@ -72,6 +89,11 @@ ECHO Copying scripts... COPY "StartWebController.cmd" "%BUILDS_PATH%\\%BUILD_FULL_SIGNATURE%\\StartWebController.cmd" || GOTO :ERROR COPY "RestartWebController.cmd" "%BUILDS_PATH%\\%BUILD_FULL_SIGNATURE%\\RestartWebController.cmd" || GOTO :ERROR +ECHO. +ECHO Restoring version header... +ECHO #include "StdAfx.h"> %BUILD_HEADER_FILE% || GOTO :ERROR +ECHO %BuildDefinition% "%VersionFromHeader%">> %BUILD_HEADER_FILE% || GOTO :ERROR + ECHO. ECHO Done. Build %BUILD_FULL_SIGNATURE% successfully created. diff --git a/Src/Common/C3_BUILD_VERSION_HASH_PART.hxx b/Src/Common/C3_BUILD_VERSION_HASH_PART.hxx index 9b6df99..5d1d913 100644 --- a/Src/Common/C3_BUILD_VERSION_HASH_PART.hxx +++ b/Src/Common/C3_BUILD_VERSION_HASH_PART.hxx @@ -1,2 +1,2 @@ -#include "StdAfx.h" -#define C3_BUILD_VERSION "C3-1.0.manual-build" +#include "StdAfx.h" +#define C3_BUILD_VERSION "C3-1.1.0-manual"