# syntax=docker/dockerfile:1 FROM ros:jazzy # Update default packages RUN apt-get update # Get Ubuntu packages RUN apt-get install -y \ build-essential \ curl \ libclang-dev \ git \ python3-pip \ python3-vcstool # Get Rust RUN curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | bash -s -- -y RUN echo 'source $HOME/.cargo/env' >> $HOME/.bashrc RUN . $HOME/.cargo/env && cargo install --debug cargo-ament-build RUN pip install git+https://github.com/colcon/colcon-cargo.git RUN pip install git+https://github.com/colcon/colcon-ros-cargo.git WORKDIR /ros2_rust_build RUN git clone https://github.com/ros2-rust/ros2_rust.git src/ros2_rust RUN vcs import src < src/ros2_rust/ros2_rust_jazzy.repos WORKDIR /ros2_rust_build/src/ros_pointcloud2_tests COPY . . WORKDIR /ros2_rust_build RUN . $HOME/.cargo/env && . /opt/ros/jazzy/setup.sh && colcon build RUN chmod +x /ros2_rust_build/src/ros_pointcloud2_tests/rpcl2/tests/rclrs_test.bash ENTRYPOINT [ "/ros2_rust_build/src/ros_pointcloud2_tests/rpcl2/tests/rclrs_test.bash" ]