71 lines
2.4 KiB
Batchfile
71 lines
2.4 KiB
Batchfile
@echo off
|
|
|
|
rem This scripts relies on the following environment variables to
|
|
rem be set prior to its execution:
|
|
rem - %CODE_LOCAL_SRC_PATH% (JD depot root, parent folder of the branches)
|
|
rem - %unity_exe% (path to Unity editor exe)
|
|
|
|
set BRANCH=%1
|
|
set VARIANT=%2
|
|
|
|
set PROJECT_PATH=%CODE_LOCAL_SRC_PATH%\%BRANCH%\phone_apps\JDCompanionApp
|
|
set BUILD_METHOD=Builder.Build_Android_%VARIANT%
|
|
set LOG_PATH=%CODE_LOCAL_SRC_PATH%\%BRANCH%\UnityLogs
|
|
set BUILD_LOG="%LOG_PATH%\build_%BRANCH%_%VARIANT%.txt"
|
|
set TESTS_LOG="%LOG_PATH%\tests_%BRANCH%_%VARIANT%.txt"
|
|
set TESTS_RESULT="%LOG_PATH%\tests_%BRANCH%_%VARIANT%.xml"
|
|
set OUTPUT_PATH="%PROJECT_PATH%\Build\Android-%VARIANT%"
|
|
set TEMP_OUTPUT_PATH="%PROJECT_PATH%\Build\Android-%VARIANT%-Temp"
|
|
|
|
rem ------------------------------------------------------------------------------------------------------
|
|
rem main
|
|
rem ------------------------------------------------------------------------------------------------------
|
|
|
|
rem Get start time:
|
|
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
|
set /A "startTime=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
|
)
|
|
|
|
call :CleanPrevious
|
|
call :RunUnitTests
|
|
call :BuildApk
|
|
|
|
rem Get end time:
|
|
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
|
set /A "endTime=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
|
)
|
|
|
|
rem Get elapsed time:
|
|
set /A elapsed=endTime-startTime
|
|
|
|
rem Show elapsed time:
|
|
set /A hh=elapsed/(60*60*100), rest=elapsed%%(60*60*100), mm=rest/(60*100), rest%%=60*100, ss=rest/100, cc=rest%%100
|
|
if %mm% lss 10 set mm=0%mm%
|
|
if %ss% lss 10 set ss=0%ss%
|
|
if %cc% lss 10 set cc=0%cc%
|
|
|
|
echo "DONE: JDController built (%hh%:%mm%:%ss%,%cc%)"
|
|
goto :EOF
|
|
|
|
rem ------------------------------------------------------------------------------------------------------
|
|
|
|
:CleanPrevious
|
|
echo Clean output build for android-%VARIANT%
|
|
mkdir empty-dir
|
|
robocopy empty-dir %PROJECT_PATH%\Build /MIR
|
|
rmdir empty-dir
|
|
if exist %OUTPUT_PATH% rmdir /S /Q %OUTPUT_PATH%
|
|
if exist %TEMP_OUTPUT_PATH% rmdir /S /Q %TEMP_OUTPUT_PATH%
|
|
goto :EOF
|
|
|
|
:RunUnitTests
|
|
echo Running Unit Tests
|
|
%unity_exe% -batchmode -projectPath %PROJECT_PATH% -logFile %TESTS_LOG% -runEditorTests -editorTestsResultFile %TESTS_RESULT%
|
|
IF ERRORLEVEL 1 EXIT 1
|
|
goto :EOF
|
|
|
|
:BuildApk
|
|
echo Building JDController for branch %BRANCH% with variant %VARIANT%
|
|
%unity_exe% -batchmode -projectPath %PROJECT_PATH% -executeMethod %BUILD_METHOD% -logFile %BUILD_LOG% -buildTarget android -quit
|
|
IF ERRORLEVEL 1 EXIT 1
|
|
goto :EOF
|