Skip to content

Commit 5474b99

Browse files
authored
Add Dockerfile for building user_events exporter (#288)
1 parent 774636a commit 5474b99

File tree

2 files changed

+64
-0
lines changed

2 files changed

+64
-0
lines changed

exporters/user_events/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ endif()
2020
add_definitions(-DHAVE_CONSOLE_LOG -DENABLE_LOGS_PREVIEW)
2121

2222
if(MAIN_PROJECT)
23+
# TODO: cleanup the dependent packages
24+
find_package(protobuf REQUIRED)
25+
find_package(CURL REQUIRED)
26+
find_package(nlohmann_json REQUIRED)
2327
find_package(opentelemetry-cpp REQUIRED)
2428
endif()
2529

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Copyright The OpenTelemetry Authors
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
FROM ubuntu:latest
5+
ENV DEBIAN_FRONTEND=noninteractive
6+
7+
WORKDIR /work
8+
9+
RUN apt update && apt install -y \
10+
build-essential \
11+
cmake \
12+
git \
13+
ninja-build \
14+
protobuf-compiler \
15+
libcurl4-openssl-dev \
16+
libgtest-dev
17+
18+
RUN cd /work && git clone --recursive --depth=1 https://github.com/google/googletest.git && \
19+
cd googletest && mkdir build && cd build && \
20+
cmake -G Ninja -D CMAKE_BUILD_TYPE=Debug .. && \
21+
ninja && ninja install
22+
23+
RUN cd /work && \
24+
git clone --recursive --depth=1 https://github.com/google/benchmark.git && \
25+
cd benchmark && mkdir out && cd out && \
26+
cmake -G Ninja -D CMAKE_BUILD_TYPE=Debug -D BENCHMARK_DOWNLOAD_DEPENDENCIES=on .. && \
27+
ninja && \
28+
ninja install
29+
30+
RUN cd /work && \
31+
git clone --recursive --depth=1 https://github.com/nlohmann/json.git && \
32+
cd json && mkdir build && cd build && \
33+
cmake -G Ninja .. && \
34+
ninja && \
35+
ninja install
36+
37+
RUN cd /work && \
38+
git clone --recursive --depth=1 https://github.com/open-telemetry/opentelemetry-cpp.git && \
39+
cd opentelemetry-cpp && \
40+
mkdir build && cd build && \
41+
cmake -G Ninja -D CMAKE_BUILD_TYPE=Debug -D BUILD_TESTING=0 -D WITH_OTLP_HTTP=1 -D WITH_OTLP_GRPC=0 -D WITH_LOGS_PREVIEW=1 .. && \
42+
ninja && \
43+
ninja install
44+
45+
RUN cd /work && \
46+
git clone --recursive --depth=1 https://github.com/protocolbuffers/protobuf.git && \
47+
cd protobuf && mkdir build && cd build && \
48+
cmake -G Ninja -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_BUILD_EXAMPLES=OFF .. && \
49+
ninja && \
50+
ninja install
51+
52+
RUN cd /work && \
53+
git clone --recursive --depth=1 https://github.com/open-telemetry/opentelemetry-cpp-contrib
54+
55+
RUN cd /work && \
56+
cd opentelemetry-cpp-contrib/exporters/user_events && \
57+
mkdir build && cd build && \
58+
cmake -G Ninja -D CMAKE_BUILD_TYPE=Debug .. && \
59+
ninja && \
60+
ninja install

0 commit comments

Comments
 (0)