-
Notifications
You must be signed in to change notification settings - Fork 2
/
Dockerfile
57 lines (39 loc) · 2.75 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
FROM ros:galactic
ENV COMMONAPI_CONFIG=/src/install/gnss_someip_lib/etc/commonapi.ini
ENV COMMONAPI_DEFAULT_FOLDER=/src/install/gnss_someip_lib/lib/
RUN apt-get update && apt install -y wget unzip git
# Installation of required tools
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata
RUN apt-get install -y openjdk-13-jdk openjdk-13-jre
RUN apt-get install -y g++ gcc cmake libboost-all-dev make doxygen asciidoc
RUN apt-get install -y net-tools iproute2
RUN apt-get install -y python3-pip
# Installation of required libraries
RUN apt-get install -y libboost-all-dev nlohmann-json3-dev graphviz source-highlight
RUN wget https://github.com/COVESA/capicxx-core-tools/releases/download/3.2.0.1/commonapi_core_generator.zip -P /opt && \
cd /opt && unzip commonapi_core_generator.zip -d commonapi_core_generator && \
ln -s /opt/commonapi_core_generator/commonapi-core-generator-linux-x86_64 /usr/bin/commonapi-core-generator
RUN wget https://github.com/COVESA/capicxx-someip-tools/releases/download/3.2.0.1/commonapi_someip_generator.zip -P /opt/ && \
cd /opt/ && unzip commonapi_someip_generator.zip -d commonapi_someip_generator && \
ln -s /opt/commonapi_someip_generator/commonapi-someip-generator-linux-x86_64 /usr/bin/commonapi-someip-generator
RUN cd /opt && git clone https://github.com/COVESA/dlt-daemon.git -b v2.18.8 && cd dlt-daemon && \
mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make -j$(nproc) && make install
RUN cd /opt && git clone https://github.com/COVESA/vsomeip.git && cd vsomeip && \
mkdir build && cd build && cmake -DENABLE_MULTIPLE_ROUTING_MANAGERS=1 -DVSOMEIP_INSTALL_ROUTINGMANAGERD=1 -DCMAKE_INSTALL_PREFIX=/usr .. && \
make -j$(nproc) && make install
RUN cd /opt && git clone https://github.com/COVESA/capicxx-core-runtime.git && cd capicxx-core-runtime && \
mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make -j$(nproc) && make install
RUN cd /opt && git clone https://github.com/COVESA/capicxx-someip-runtime.git && cd capicxx-someip-runtime && \
mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make -j$(nproc) && make install
RUN cd /opt && git clone https://github.com/cameron314/concurrentqueue.git && cd concurrentqueue && \
mkdir build-cmake && cd build-cmake && cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make -j$(nproc) && make install
RUN pip3 install git+https://github.com/miketsukerman/pyfranca.git
# install gpsd and gpsfake to simulate real gnss device data
RUN apt-get install -y gpsd gpsd-clients libgps-dev
RUN rm -rf /src
COPY . /src
RUN rm -rf /src/build /src/install /src/log
RUN pip3 install -e /src/src/franca2ros
RUN cd /src && rm -rf build install log && \
. /opt/ros/galactic/setup.sh && \
colcon build