From fdead2e4912dfb101d88b7e99314b61f3e74e421 Mon Sep 17 00:00:00 2001 From: hunbernd Date: Mon, 1 Jun 2020 22:11:23 +0200 Subject: [PATCH] Generate changelog.txt --- build_scripts/Windows-msys2/build/build.bat | 3 +- build_scripts/Windows-msys2/build/git-log.bat | 137 ++++-------------- build_scripts/Windows-msys2/build/pack.bat | 4 +- 3 files changed, 34 insertions(+), 110 deletions(-) diff --git a/build_scripts/Windows-msys2/build/build.bat b/build_scripts/Windows-msys2/build/build.bat index 74bfc6791..b07562b7c 100644 --- a/build_scripts/Windows-msys2/build/build.bat +++ b/build_scripts/Windows-msys2/build/build.bat @@ -7,8 +7,6 @@ call "%~dp0..\env.bat" if errorlevel 1 goto error_env call "%EnvPath%\env.bat" if errorlevel 1 goto error_env -call "%EnvPath%\env.bat" -if errorlevel 1 goto error_env call "%EnvPath%\env-msys2.bat" if errorlevel 1 goto error_env @@ -85,6 +83,7 @@ echo. title Build - %SourceName%-%RsBuildConfig% [make] %EnvMSYS2Cmd% "make -j %CoreCount%" +if errorlevel 1 goto error :: Webui if "%ParamWebui%"=="1" ( diff --git a/build_scripts/Windows-msys2/build/git-log.bat b/build_scripts/Windows-msys2/build/git-log.bat index 010ff190b..f221bc871 100644 --- a/build_scripts/Windows-msys2/build/git-log.bat +++ b/build_scripts/Windows-msys2/build/git-log.bat @@ -1,118 +1,43 @@ @echo off +setlocal enabledelayedexpansion -setlocal - -set NoAsk= -if "%~2"=="no-ask" set NoAsk=1 - -:: Initialize environment -call "%~dp0..\env.bat" -if errorlevel 1 goto error_env -call "%EnvPath%\env.bat" -if errorlevel 1 goto error_env -call "%EnvPath%\env-msys2.bat" -if errorlevel 1 goto error_env - -call "%~dp0env.bat" %* -if errorlevel 2 exit /B 2 -if errorlevel 1 goto error_env - -:: Check git executable -set GitPath= -call "%ToolsPath%\find-in-path.bat" GitPath git.exe -if "%GitPath%"=="" echo Git executable not found in PATH.& exit /B 1 - -:: Get compiled revision -set GetRsVersion=%SourcePath%\build_scripts\Windows-msys2\tools\get-rs-version.bat -if not exist "%GetRsVersion%" ( - echo File not found - echo %GetRsVersion% +if "%~2"=="" ( + echo. + echo Parameter error. + echo Usage git-log sourcepath outputfile exit /B 1 ) -call "%GetRsVersion%" RS_REVISION_STRING RsRevision -if "%RsRevision%"=="" echo Revision not found.& exit /B 1 +set logfile=%~2 +copy nul %logfile% > nul -:: Get compiled version -call "%GetRsVersion%" RS_REVISION_STRING RsRevision -if "%RsRevision%"=="" echo Revision not found.& exit /B 1 +pushd %~1 -call "%GetRsVersion%" RS_MAJOR_VERSION RsMajorVersion -if "%RsMajorVersion%"=="" echo Major version not found.& exit /B 1 - -call "%GetRsVersion%" RS_MINOR_VERSION RsMinorVersion -if "%RsMinorVersion%"=="" echo Minor version not found.& exit /B 1 - -call "%GetRsVersion%" RS_BUILD_NUMBER RsBuildNumber -if "%RsBuildNumber%"=="" echo Build number not found.& exit /B 1 - -call "%GetRsVersion%" RS_BUILD_NUMBER_ADD RsBuildNumberAdd - -set RsVersion=%RsMajorVersion%.%RsMinorVersion%.%RsBuildNumber%%RsBuildNumberAdd% - -:: Check WMIC is available -wmic.exe alias /? >nul 2>&1 || echo WMIC is not available.&& exit /B 1 - -:: Use WMIC to retrieve date in format YYYYMMDD -set RsDate= -for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /format:list') do set RsDate=%%I -set RsDate=%RsDate:~0,4%%RsDate:~4,2%%RsDate:~6,2% - -:: Get last revision -set RsLastRefFile=%BuildPath%\Qt-%QtVersion%%RsType%-%RsBuildConfig%-LastRef.txt -set RsLastRef= -if exist "%RsLastRefFile%" set /P RsLastRef=<"%RsLastRefFile%" - -if "%NoAsk%"=="1" goto no_ask_for_last_revision -if not "%RsLastRef%"=="" echo Last Revision was %RsLastRef% -set /P RsLastRefInput=Last Revision: -if "%RsLastRefInput%" NEQ "" set RsLastRef=%RsLastRefInput% -:no_ask_for_last_revision - -:: Get current revision -pushd "%SourcePath%" -call "%ToolsPath%\get-git-ref.bat" RsRef -popd - -if errorlevel 1 exit /B 1 -if "%RsRef%"=="" echo Cannot get git revision.& exit /B 1 - -echo. -echo Creating log from %RsLastRef% -echo to %RsRef% - -if "%NoAsk%"=="1" goto no_confirm -choice /M "Do you want to proceed?" -if %errorlevel%==2 exit /B 1 -:no_confirm - -if "%RsBuildConfig%" NEQ "release" ( - set RsGitLog=%DeployPath%\RetroShare-%RsVersion%-Windows-Portable-%RsDate%-%RsRevision%-Qt-%QtVersion%%RsType%-msys2%RsArchiveAdd%-%RsBuildConfig%.txt -) else ( - set RsGitLog=%DeployPath%\RetroShare-%RsVersion%-Windows-Portable-%RsDate%-%RsRevision%-Qt-%QtVersion%%RsType%-msys2%RsArchiveAdd%.txt -) - -title %SourceName%-%RsBuildConfig% [git log] - -pushd "%SourcePath%" -if "%RsLastRef%"=="" ( - git log %RsRef% >"%RsGitLog%" -) else ( - if "%RsLastRef%"=="%RsRef%" ( - git log %RsRef% --max-count=1 >"%RsGitLog%" +set last=HEAD +for /f %%t in ('git tag --sort=-taggerdate --merged ^| findstr v') do ( + echo generating changelog for !last!..%%t + echo ----------------------------------------------- >> %logfile% + if !last! neq HEAD ( + git tag -n !last! >> %logfile% ) else ( - git log %RsLastRef%..%RsRef% >"%RsGitLog%" + echo HEAD >> %logfile% ) + rem echo !last! ---^> %%t >> %logfile% + echo ----------------------------------------------- >> %logfile% + echo. >> %logfile% + git log %%t..!last! --no-merges "--pretty=format:%%h %%ai %%<(10,trunc)%%an %%s" >> %logfile% + echo. >> %logfile% + echo. >> %logfile% + set last=%%t ) + +echo generating changelog for %last% +echo ----------------------------------------------- >> %logfile% +git tag -n %last% >> %logfile% +echo ----------------------------------------------- >> %logfile% +echo. >> %logfile% +git log %last% --no-merges "--pretty=format:%%h %%ai %%<(10,trunc)%%an %%s" >> %logfile% + popd -title %COMSPEC% - -echo %RsRef%>"%RsLastRefFile%" - -exit /B %ERRORLEVEL% - -:error_env -echo Failed to initialize environment. -endlocal -exit /B 1 +endlocal enabledelayedexpansion \ No newline at end of file diff --git a/build_scripts/Windows-msys2/build/pack.bat b/build_scripts/Windows-msys2/build/pack.bat index ceae42ae3..07f3b0114 100644 --- a/build_scripts/Windows-msys2/build/pack.bat +++ b/build_scripts/Windows-msys2/build/pack.bat @@ -162,8 +162,8 @@ if "%QtMainVersion%"=="5" ( echo copy bdboot.txt copy "%SourcePath%\libbitdht\src\bitdht\bdboot.txt" "%RsDeployPath%" %Quite% -echo copy changelog.txt -copy "%SourcePath%\retroshare-gui\src\changelog.txt" "%RsDeployPath%" %Quite% +echo generate changelog.txt +call call "%~dp0\git-log.bat" "%SourcePath%" "%RsDeployPath%\changelog.txt" echo copy buildinfo.txt copy "%RsBuildPath%\buildinfo.txt" "%RsDeployPath%" %Quite%