opentelemetry-cpp/tools/build-docker.cmd

73 lines
1.4 KiB
Batchfile

REM Copyright The OpenTelemetry Authors
REM SPDX-License-Identifier: Apache-2.0
@echo off
pushd %~dp0
REM Default arguments
set A1="/build/tools/build.sh"
set A2=clean
if "%~1"=="" goto help
REM Image name is always the first argument
set IMAGE_NAME=%1
REM Process other optional arguments
shift
if NOT "%1"=="" (
set A1=%1
set A2=%2
set A3=%3
set A4=%4
set A5=%5
set A6=%6
set A7=%7
set A8=%8
set A9=%9
set A10=%10
)
WHERE choco >NUL 2>NUL
if %ERRORLEVEL% NEQ 0 (
echo This script requires Chocolatey to install Docker: https://chocolatey.org/
)
WHERE docker >NUL 2>NUL
if "%ERRORLEVEL%"=="0" goto docker_ok
choco install -y docker-desktop
choco install -y docker-cli
:docker_ok
docker info
docker version
echo Running in container %IMAGE_NAME%
sc query com.docker.service
REM Force reinstallation of build tools
del ..\.buildtools 2>NUL
echo Building docker image in %CD%...
copy /Y setup-cmake.sh ..\docker\%IMAGE_NAME%\
copy /Y setup-protobuf.sh ..\docker\%IMAGE_NAME%\
docker build --rm -t %IMAGE_NAME% ../docker/%IMAGE_NAME%
cd ..
echo Starting build...
docker run -it -v %CD%:/build %IMAGE_NAME% %A1% %A2%
popd
exit
:help
cd ..
echo.
echo Usage: build-docker.cmd [image_name] [arguments...]
echo.
echo Default command:
echo.
echo docker run -it -v $WORKSPACE_ROOT:/build IMAGE_NAME %A1% %A2%
echo.
echo Supported images:
echo =================
dir /B docker
popd