Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/coverity.bat')
-rwxr-xr-xcontrib/coverity.bat97
1 files changed, 44 insertions, 53 deletions
diff --git a/contrib/coverity.bat b/contrib/coverity.bat
index 9d274189b..3dcd21c61 100755
--- a/contrib/coverity.bat
+++ b/contrib/coverity.bat
@@ -18,31 +18,22 @@ REM along with this program. If not, see <http://www.gnu.org/licenses/>.
SETLOCAL
+SET "FILE_DIR=%~dp0"
+PUSHD "%FILE_DIR%"
-PUSHD %~dp0
+SET "COMMON=%FILE_DIR%..\common.bat"
IF EXIST "..\build.user.bat" CALL "..\build.user.bat"
-IF NOT DEFINED COV_PATH SET "COV_PATH=H:\progs\thirdparty\cov-analysis-win64"
-IF DEFINED COV_PATH IF NOT EXIST "%COV_PATH%" (
- ECHO.
- ECHO ERROR: Coverity not found in "%COV_PATH%"
- GOTO End
-)
-
-
-CALL "%VS120COMNTOOLS%\vsvars32.bat"
-IF %ERRORLEVEL% NEQ 0 (
- ECHO vsvars32.bat call failed.
- GOTO End
-)
+IF NOT EXIST "%COV_PATH%" (CALL "%COMMON%" :SubMsg "ERROR" "Coverity not found in '%COV_PATH%'" & EXIT /B)
:Cleanup
IF EXIST "cov-int" RD /q /s "cov-int"
-IF EXIST "MPC-HC.lzma" DEL "MPC-HC.lzma"
-IF EXIST "MPC-HC.tar" DEL "MPC-HC.tar"
-IF EXIST "MPC-HC.tgz" DEL "MPC-HC.tgz"
+IF EXIST "MPC-HC.tar.xz" DEL "MPC-HC.tar.xz"
+IF EXIST "MPC-HC.tar" DEL "MPC-HC.tar"
+IF EXIST "MPC-HC.tgz" DEL "MPC-HC.tgz"
+IF EXIST "cov_upload.log" DEL "cov_upload.log"
:Main
@@ -54,58 +45,58 @@ CALL "..\build.bat" clean Api Both Release silent
"%COV_PATH%\bin\cov-build.exe" --dir cov-int "..\build.bat" Build Filters Both Release silent
"%COV_PATH%\bin\cov-build.exe" --dir cov-int "..\build.bat" Build IconLib Both Release silent
"%COV_PATH%\bin\cov-build.exe" --dir cov-int "..\build.bat" Build Api Both Release silent
+IF %ERRORLEVEL% NEQ 0 (CALL "%COMMON%" :SubMsg "ERROR" "Build failed." & EXIT /B)
:tar
-tar --version 1>&2 2>NUL || (ECHO. & ECHO ERROR: tar not found & GOTO SevenZip)
-tar caf "MPC-HC.lzma" "cov-int"
+CALL "%COMMON%" :SubDetectTar
+IF NOT EXIST "%TAR%" (CALL "%COMMON%" :SubMsg "WARNING" "tar not found. Trying 7-zip..." & GOTO SevenZip)
+
+SET "FILE_NAME=MPC-HC.tar.xz"
+SET "XZ_OPT=-9e"
+REM You can add -T{N} where {N} stands for count of threads to use. 0 will use all available threads.
+REM Pay attention to memory usage, -9eT4 uses over 5GB of RAM, but -9eT1 uses 700MB in my test.
+REM Lowering compression preset will also decrease memory usage significantly.
+
+%TAR% cJf %FILE_NAME% cov-int
+IF %ERRORLEVEL% NEQ 0 (
+ REM Fallback for 32-bit version of xz.
+ CALL "%COMMON%" :SubMsg "WARNING" "Fallback for 32-bit xz. Trying again with 'XZ_OPT=-7e'..."
+ SET "XZ_OPT=-7e"
+ %TAR% cJf %FILE_NAME% cov-int
+)
+
+IF %ERRORLEVEL% NEQ 0 (CALL "%COMMON%" :SubMsg "WARNING" "tar failed. Trying 7-zip..." & GOTO SevenZip)
GOTO Upload
:SevenZip
-CALL :SubDetectSevenzipPath
-
-rem Coverity is totally bogus with lzma...
-rem And since I cannot replicate the arguments with 7-Zip, just use tar/gzip.
-IF EXIST "%SEVENZIP%" (
- "%SEVENZIP%" a -ttar "MPC-HC.tar" "cov-int"
- "%SEVENZIP%" a -tgzip "MPC-HC.tgz" "MPC-HC.tar"
- IF EXIST "MPC-HC.tar" DEL "MPC-HC.tar"
- GOTO Upload
-)
+CALL "%COMMON%" :SubDetectSevenzipPath
+IF NOT EXIST "%SEVENZIP%" (CALL "%COMMON%" :SubMsg "ERROR" "7-zip not found." & EXIT /B)
+
+SET "FILE_NAME=MPC-HC.tgz"
+REM 7-Zip doesn't support tarball compliant LZMA2 archives, just use tar/gzip.
+"%SEVENZIP%" a -ttar "MPC-HC.tar" "cov-int"
+IF %ERRORLEVEL% NEQ 0 (CALL "%COMMON%" :SubMsg "ERROR" "7-zip failed." & EXIT /B)
+"%SEVENZIP%" a -tgzip "%FILE_NAME%" "MPC-HC.tar"
+IF %ERRORLEVEL% NEQ 0 (CALL "%COMMON%" :SubMsg "ERROR" "7-zip failed." & EXIT /B)
+IF EXIST "MPC-HC.tar" DEL "MPC-HC.tar"
+GOTO Upload
:Upload
CALL "..\build.bat" GetVersion
-CALL :SubDetectCurl
-%CURL% --form project=MPC-HC --form token=%COV_TOKEN% --form email=%COV_EMAIL% --form file=@MPC-HC.lzma --form version=%MPCHC_HASH% http://scan5.coverity.com/cgi-bin/upload.py
+CALL "%COMMON%" :SubDetectCurl
+IF NOT EXIST "%CURL%" (CALL "%COMMON%" :SubMsg "WARNING" "curl not found. Upload aborted." & GOTO End)
+IF NOT DEFINED COV_TOKEN (CALL "%COMMON%" :SubMsg "WARNING" "COV_TOKEN not defined. Upload aborted." & GOTO End)
+IF NOT DEFINED COV_EMAIL (CALL "%COMMON%" :SubMsg "WARNING" "COV_EMAIL not defined. Upload aborted." & GOTO End)
+%CURL% --form token=%COV_TOKEN% --form email=%COV_EMAIL% --form file=@%FILE_NAME% --form version=%MPCHC_HASH% https://scan.coverity.com/builds?project=MPC-HC -o cov_upload.log
GOTO End
-:SubDetectSevenzipPath
-FOR %%G IN (7z.exe) DO (SET "SEVENZIP_PATH=%%~$PATH:G")
-IF EXIST "%SEVENZIP_PATH%" (SET "SEVENZIP=%SEVENZIP_PATH%" & EXIT /B)
-
-FOR %%G IN (7za.exe) DO (SET "SEVENZIP_PATH=%%~$PATH:G")
-IF EXIST "%SEVENZIP_PATH%" (SET "SEVENZIP=%SEVENZIP_PATH%" & EXIT /B)
-
-FOR /F "tokens=2*" %%A IN (
- 'REG QUERY "HKLM\SOFTWARE\7-Zip" /v "Path" 2^>NUL ^| FIND "REG_SZ" ^|^|
- REG QUERY "HKLM\SOFTWARE\Wow6432Node\7-Zip" /v "Path" 2^>NUL ^| FIND "REG_SZ"') DO SET "SEVENZIP=%%B\7z.exe"
-EXIT /B
-
-
-:SubDetectCurl
-IF EXIST curl.exe (SET "CURL=curl.exe" & EXIT /B)
-IF EXIST "%CURL_PATH%\curl.exe" (SET "CURL=%CURL_PATH%\curl.exe" & EXIT /B)
-FOR %%G IN (curl.exe) DO (SET "CURL_PATH=%%~$PATH:G")
-IF EXIST "%CURL_PATH%" (SET "CURL=%CURL_PATH%" & EXIT /B)
-EXIT /B
-
-
:End
POPD
-ECHO. & ECHO Press any key to close this window...
+CALL "%COMMON%" :SubMsg "INFO" "Done. Press any key to exit..."
PAUSE >NUL
ENDLOCAL
EXIT /B