Deploy.bat
@echo off
setlocal enabledelayedexpansion
rem ==============================================================================
rem -- Set up environment --------------------------------------------------------
rem ==============================================================================
set REPLACE_LATEST=false
set AWS_COPY=aws s3 cp
set UPLOAD_MAPS=true
rem ==============================================================================
rem -- Parse arguments -----------------------------------------------------------
rem ==============================================================================
set DOC_STRING=Upload latest build to S3
set USAGE_STRING="Usage: $0 [-h|--help] [--replace-latest] [--dry-run]"
:arg-parse
if not "%1"=="" (
if "%1"=="--replace-latest" (
set REPLACE_LATEST=true
)
if "%1"=="--dry-run" (
echo %AWS_COPY%
)
if "%1"=="--help" (
echo %DOC_STRING%
echo %USAGE_STRING%
GOTO :eof
)
shift
goto :arg-parse
)
rem Get repository version
for /f %%i in ('git describe --tags --dirty --always') do set REPOSITORY_TAG=%%i
if not defined REPOSITORY_TAG goto error_carla_version
rem Last package data
set CARLA_DIST_FOLDER=%~dp0%\Build\UE4Carla
set LATEST_PACKAGE=CARLA_%REPOSITORY_TAG%.zip
set LATEST_PACKAGE_PATH=%CARLA_DIST_FOLDER%\%LATEST_PACKAGE%
set S3_PREFIX=s3://carla-releases/Windows
set LATEST_DEPLOY_URI=!S3_PREFIX!/Dev/CARLA_Latest.zip
rem Check for TAG version
echo %REPOSITORY_TAG% | findstr /R /C:"^[0-9]*\.[0-9]*\.[0-9]*.$" 1>nul
if %errorlevel% == 0 (
echo Detected tag %REPOSITORY_TAG%
set DEPLOY_NAME=CARLA_%REPOSITORY_TAG%.zip
) else (
set S3_PREFIX=!S3_PREFIX!/Dev
git log --pretty=format:%%cd_%%h --date=format:%%Y%%m%%d -n 1 > tempo1234
set /p DEPLOY_NAME= < tempo1234
del tempo1234
set DEPLOY_NAME=!DEPLOY_NAME!.zip
)
echo Version detected: %REPOSITORY_TAG%
echo Using package %LATEST_PACKAGE% as %DEPLOY_NAME%
if not exist "%LATEST_PACKAGE_PATH%" (
echo Latest package not found, please run 'make package'
goto :bad_exit
)
rem ==============================================================================
rem -- Upload --------------------------------------------------------------------
rem ==============================================================================
set DEPLOY_URI=!S3_PREFIX!/%DEPLOY_NAME%
%AWS_COPY% %LATEST_PACKAGE_PATH% %DEPLOY_URI%
echo Latest build uploaded to %DEPLOY_URI%
if %REPLACE_LATEST%==true (
%AWS_COPY% %DEPLOY_URI% %LATEST_DEPLOY_URI%
echo Latest build uploaded to %LATEST_DEPLOY_URI%
)
if %UPLOAD_MAPS%==true (
pushd "%CARLA_DIST_FOLDER%"
for /f %%i in ('dir *_%REPOSITORY_TAG%.zip /b') do (
if not %%i == %LATEST_PACKAGE% (
set DEPLOY_MAP_URI=!S3_PREFIX!/%%i
%AWS_COPY% %%i !DEPLOY_MAP_URI!
echo %%i uploaded to !DEPLOY_MAP_URI!
)
)
popd
)
rem ==============================================================================
rem -- ...and we are done --------------------------------------------------------
rem ==============================================================================
echo Success!
:success
echo.
goto good_exit
:error_carla_version
echo.
echo %FILE_N% [ERROR] Carla Version is not set
goto bad_exit
:good_exit
endlocal
exit /b 0
:bad_exit
endlocal
exit /b 1