47 lines
1.8 KiB
Plaintext
47 lines
1.8 KiB
Plaintext
FROM ros:humble-ros-base-jammy
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Set the working directory to /project
|
|
WORKDIR /project/
|
|
|
|
# Update and install basic tools
|
|
RUN apt-get update && apt-get upgrade -y
|
|
RUN apt-get update && apt-get install -y --no-install-recommends git nano wget
|
|
RUN apt-get update && apt-get install -y --no-install-recommends python3-pip
|
|
RUN pip3 install --upgrade pip
|
|
|
|
# Fix ros package building error
|
|
RUN pip3 install --no-cache-dir "setuptools<=58.2.0"
|
|
|
|
# Add ROS2 sourcing by default
|
|
RUN echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
|
|
|
|
# Create ROS2 workspace for project packages
|
|
RUN mkdir -p /project/dev_ws/src/
|
|
RUN cd /project/dev_ws/; colcon build
|
|
RUN echo "source /project/dev_ws/install/setup.bash" >> ~/.bashrc
|
|
|
|
# Copy modules
|
|
COPY ./extras/include/ /RapidPoseTriangulation/extras/include/
|
|
COPY ./rpt/ /RapidPoseTriangulation/rpt/
|
|
COPY ./extras/ros/marker_publishers/ /RapidPoseTriangulation/extras/ros/marker_publishers/
|
|
COPY ./extras/ros/rpt_msgs/ /RapidPoseTriangulation/extras/ros/rpt_msgs/
|
|
COPY ./extras/ros/rpt3d_wrapper_cpp/ /RapidPoseTriangulation/extras/ros/rpt3d_wrapper_cpp/
|
|
|
|
# Link and build as ros package
|
|
RUN ln -s /RapidPoseTriangulation/extras/ros/marker_publishers/ /project/dev_ws/src/
|
|
RUN ln -s /RapidPoseTriangulation/extras/ros/rpt_msgs/ /project/dev_ws/src/
|
|
RUN ln -s /RapidPoseTriangulation/extras/ros/rpt3d_wrapper_cpp/ /project/dev_ws/src/
|
|
RUN /bin/bash -i -c 'cd /project/dev_ws/; colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release'
|
|
|
|
# Update ros packages -> autocompletion and check
|
|
RUN /bin/bash -i -c 'ros2 pkg list'
|
|
|
|
# Clear cache to save space, only has an effect if image is squashed
|
|
RUN apt-get autoremove -y \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /RapidPoseTriangulation/
|
|
CMD ["/bin/bash"]
|