mirror of
https://github.com/glest/glest-source.git
synced 2025-02-24 11:42:31 +01:00
115 lines
3.8 KiB
Batchfile
115 lines
3.8 KiB
Batchfile
@echo off
|
|
rem
|
|
rem Upload build logs to Coverity Scan for security / code style analysis
|
|
rem Requires:
|
|
rem - curl.exe, built with SSL support: http://curl.haxx.se/download.html
|
|
rem - wget.exe (should get installed automatically during a build)
|
|
rem - 7z.exe (should get installed automatically during a build)
|
|
rem - Coverity Scan Build Tool installed and its install path configured in .coverity-scan
|
|
rem
|
|
|
|
rem Change into the directory this batch file is located in
|
|
cd /d "%~dp0"
|
|
|
|
rem Project name (case sensitive)
|
|
set PROJECT=MegaGlest
|
|
|
|
rem read in config settings
|
|
if not exist ".coverity-scan" (
|
|
echo -----------------------------------------
|
|
echo **Missing Config** To use this script please create a config file named [%CD%\.coverity-scan]
|
|
echo Containing: EMAIL=x, TOKEN=x, COVERITY_ANALYSIS_ROOT=x, BITNESS=x, NUMCORES=x
|
|
goto END
|
|
)
|
|
|
|
setlocal disabledelayedexpansion
|
|
FOR /F "tokens=1* delims==" %%i IN (.coverity-scan) DO set "prop_%%i=%%j"
|
|
|
|
rem E-Mail address of registered Coverity Scan user with build submission access to this project
|
|
set EMAIL=%prop_EMAIL%
|
|
|
|
rem Coverity Scan project API token as listed on the Coverity Scan project page
|
|
set TOKEN=%prop_TOKEN%
|
|
|
|
rem Where you extracted coverity build scan tool to
|
|
rem e.g. "C:\cov-analysis-win32-6.6.1"
|
|
set COVERITY_ANALYSIS_ROOT=%prop_COVERITY_ANALYSIS_ROOT%
|
|
|
|
rem Is this a "32" or "64" bit build of MegaGlest?
|
|
set BITNESS=%prop_BITNESS%
|
|
|
|
rem Description of this build (can be any string)
|
|
set DESCRIPTION=Windows-%BITNESS%_%COMPUTERNAME%
|
|
|
|
rem Where to store the data gathered by the Coverity Scan Build Tool
|
|
rem Absolute path or relevant to the directory containing this batch file
|
|
set BUILDTOOL=cov-int
|
|
|
|
rem ------------------------------------------------------------------------------
|
|
|
|
echo PROJECT [%PROJECT%]
|
|
echo EMAIL [%EMAIL%]
|
|
echo TOKEN [%TOKEN%]
|
|
echo COVERITY_ANALYSIS_ROOT [%COVERITY_ANALYSIS_ROOT%]
|
|
echo BITNESS [%BITNESS%]
|
|
echo DESCRIPTION [%DESCRIPTION%]
|
|
echo BUILDTOOL [%BUILDTOOL%]
|
|
|
|
rem pause
|
|
|
|
set GITVERSION_SHA1=.
|
|
set GITVERSION_REV=.
|
|
set GET_GIT_SHA1="git log -1 --format=%%h --abbrev=7"
|
|
for /f "delims=" %%a in ('%GET_GIT_SHA1%') do @set GITVERSION_SHA1=%%a
|
|
for /f "delims=" %%a in ('git rev-list HEAD --count') do @set GITVERSION_REV=%%a
|
|
|
|
set VERSION=%GITVERSION_REV%.%GITVERSION_SHA1%
|
|
|
|
set FILENAME=%PROJECT%_%DESCRIPTION%_%VERSION%
|
|
|
|
rem Untested! Requires modification.
|
|
rem wget.exe --no-check-certificate https://scan.coverity.com/download/win-32 --post-data "token=%TOKEN%&project=%PROJECT%" -O %TEMP%\coverity_tool.zip
|
|
rem 7z.exe x %TEMP%\coverity_tool.zip
|
|
rem set PATH=%PATH%;C:\build\megaglest-source\mk\windoze\cov-analysis-win32-6.6.1\bin\
|
|
|
|
if "%MG_COV_PATH_SET%." == "." set PATH=%PATH%;%COVERITY_ANALYSIS_ROOT%\bin\
|
|
set MG_COV_PATH_SET=TRUE
|
|
|
|
if "%BITNESS%." == "32." GOTO BUILD32
|
|
if "%BITNESS%." == "64." GOTO BUILD64
|
|
GOTO ERROR
|
|
|
|
:BUILD32
|
|
cov-build --dir %BUILDTOOL% build-mg32bit-2015.bat nopause rebuild
|
|
if ERRORLEVEL 1 GOTO ERROR
|
|
GOTO PACKAGE
|
|
|
|
:BUILD64
|
|
cov-build --dir %BUILDTOOL% build-mg-2015.bat nopause rebuild
|
|
if ERRORLEVEL 1 GOTO ERROR
|
|
GOTO PACKAGE
|
|
|
|
:PACKAGE
|
|
7z.exe a %FILENAME%.tar %BUILDTOOL%\
|
|
7z.exe a %FILENAME%.tar.gz %FILENAME%.tar
|
|
del /Q /F %FILENAME%.tar
|
|
dir %FILENAME%.tar.gz
|
|
|
|
echo **About to run: curl.exe --progress-bar --insecure --form "token=%TOKEN%" --form "email=%EMAIL%" --form "version=%VERSION%" --form "description=%DESCRIPTION%" --form "file=@%FILENAME%.tar.gz" "https://scan.coverity.com/builds?project=%PROJECT%"
|
|
rem pause
|
|
rem echo Running curl
|
|
curl.exe --progress-bar --insecure --form "token=%TOKEN%" --form "email=%EMAIL%" --form "version=%VERSION%" --form "description=%DESCRIPTION%" --form "file=@%FILENAME%.tar.gz" "https://scan.coverity.com/builds?project=%PROJECT%"
|
|
if ERRORLEVEL 1 GOTO ERROR
|
|
GOTO CLEANUP
|
|
|
|
:CLEANUP
|
|
del /Q /F %FILENAME%.tar.gz
|
|
rd /Q /S %BUILDTOOL%\
|
|
GOTO END
|
|
|
|
:ERROR
|
|
echo An error occurred
|
|
GOTO END
|
|
|
|
:END
|