FROM osrf/ros:jazzy-desktop

ENV DEVIAN_FRONTEND=noninteractive
ENV ROS_DISTRO=jazzy

# python3, rosdep
RUN apt update && apt install -y \
    python3-pip \
    python3-colcon-common-extensions \
    python3-rosdep \
    x11-apps \
    && rm -rf /var/lib/apt/lists/*

# FastMCP
RUN pip3 install fastmcp==2.13 --break-system-packages

# initialize rosdep
RUN rosdep update

# Workspace
WORKDIR /root/ros2_ws
RUN mkdir -p src

COPY swarm_robot_demo ./src/swarm_robot_demo

# build
RUN rosdep install --from-paths src --ignore-src -r -y && \
    /bin/bash -c "source /opt/ros/${ROS_DISTRO}/setup.bash && colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release --symlink-install"

# setup
RUN echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> /root/.bashrc && \
    echo "source /root/ros2_ws/install/setup.bash" >> /root/.bashrc

# exec bash
CMD ["/bin/bash"]

