|
@@ -9,212 +9,161 @@ ARG UBUNTU_VERSION=jammy
|
|
|
|
|
|
FROM ros:${ROS_VERSION}-ros-base-${UBUNTU_VERSION}
|
|
|
|
|
|
-# Argument to control the type of docker image to build
|
|
|
-ARG IMAGE_TYPE=full # Default to 'full'
|
|
|
+ENV WORKSPACE=/data/workspace
|
|
|
+
|
|
|
+WORKDIR $WORKSPACE
|
|
|
|
|
|
-# Arguments for the source repos
|
|
|
+# O3DE Variables
|
|
|
ARG O3DE_REPO=https://github.com/o3de/o3de.git
|
|
|
-ARG O3DE_BRANCH=2305.1
|
|
|
+ARG O3DE_BRANCH=main
|
|
|
+ARG O3DE_COMMIT=HEAD
|
|
|
+ENV O3DE_ROOT=$WORKSPACE/o3de
|
|
|
|
|
|
+# O3DE Extras Variables
|
|
|
ARG O3DE_EXTRAS_REPO=https://github.com/o3de/o3de-extras.git
|
|
|
-ARG O3DE_EXTRAS_BRANCH=2305.0
|
|
|
+ARG O3DE_EXTRAS_BRANCH=main
|
|
|
+ARG O3DE_EXTRAS_COMMIT=HEAD
|
|
|
+ENV O3DE_EXTRAS_ROOT=$WORKSPACE/o3de-extras
|
|
|
|
|
|
+# ROSConDemo Variables
|
|
|
ARG ROSCON_DEMO_REPO=https://github.com/o3de/ROSConDemo.git
|
|
|
ARG ROSCON_DEMO_BRANCH=development
|
|
|
+ARG ROSCON_DEMO_COMMIT=HEAD
|
|
|
+ENV ROSCON_DEMO_ROOT=$WORKSPACE/ROSConDemo
|
|
|
+ENV ROSCON_DEMO_PROJECT=$ROSCON_DEMO_ROOT/Project
|
|
|
+ENV ROSCON_DEMO_NAV_ROOT=$ROSCON_DEMO_ROOT/kraken_nav
|
|
|
|
|
|
-# Additional argument to control build concurrency
|
|
|
-ARG CMAKE_JOBS=8
|
|
|
-ARG DEBIAN_FRONTEND=noninteractive
|
|
|
+# Copy the release-patch in case its needed
|
|
|
+COPY o3de_2.1.0.patch $WORKSPACE/
|
|
|
|
|
|
-ENV WORKSPACE=/data/workspace
|
|
|
-
|
|
|
-WORKDIR $WORKSPACE
|
|
|
+ENV LANG=en_US.UTF-8
|
|
|
|
|
|
# Setup time zone and locale data (necessary for SSL and HTTPS packages)
|
|
|
-RUN apt-get update && DEBIAN_FRONTEND="noninteractive" apt-get -y \
|
|
|
- install \
|
|
|
- tzdata \
|
|
|
- locales \
|
|
|
- keyboard-configuration \
|
|
|
+RUN apt-get update \
|
|
|
+ && DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata locales keyboard-configuration curl \
|
|
|
&& sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen \
|
|
|
&& dpkg-reconfigure --frontend=noninteractive locales \
|
|
|
&& update-locale LANG=en_US.UTF-8 \
|
|
|
+ && sh -c 'echo "deb [arch=amd64,arm64] http://repo.ros2.org/ubuntu/main `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list' \
|
|
|
+ && curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - \
|
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
-ENV LANG=en_US.UTF-8
|
|
|
-
|
|
|
# Install the required ubuntu packages
|
|
|
-RUN apt-get update && apt-get install -y \
|
|
|
- bc \
|
|
|
- bind9-utils \
|
|
|
- binutils \
|
|
|
- ca-certificates \
|
|
|
- clang \
|
|
|
- cmake \
|
|
|
- curl \
|
|
|
- file \
|
|
|
- firewalld \
|
|
|
- git \
|
|
|
- git-lfs \
|
|
|
- jq \
|
|
|
- kbd \
|
|
|
- kmod \
|
|
|
- less \
|
|
|
- lsb-release \
|
|
|
- libglu1-mesa-dev \
|
|
|
- libxcb-xinerama0 \
|
|
|
- libfontconfig1-dev \
|
|
|
- libcurl4-openssl-dev \
|
|
|
- libnvidia-gl-470 \
|
|
|
- libssl-dev \
|
|
|
- libxcb-xkb-dev \
|
|
|
- libxkbcommon-x11-dev \
|
|
|
- libxkbcommon-dev \
|
|
|
- libxcb-xfixes0-dev \
|
|
|
- libxcb-xinput-dev \
|
|
|
- libxcb-xinput0 \
|
|
|
- libpcre2-16-0 \
|
|
|
- lsof \
|
|
|
- net-tools \
|
|
|
- ninja-build \
|
|
|
- pciutils \
|
|
|
- python3-pip \
|
|
|
- software-properties-common \
|
|
|
- sudo \
|
|
|
- tar \
|
|
|
- unzip \
|
|
|
- vim \
|
|
|
- wget \
|
|
|
- xz-utils \
|
|
|
- && rm -rf /var/lib/apt/lists/*
|
|
|
-
|
|
|
-# Setup and install the ROS packages
|
|
|
-RUN sh -c 'echo "deb [arch=amd64,arm64] http://repo.ros2.org/ubuntu/main `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list' \
|
|
|
- && curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
|
|
|
-
|
|
|
-RUN apt-get update && apt-get install -y \
|
|
|
- ros-${ROS_DISTRO}-ackermann-msgs \
|
|
|
- ros-${ROS_DISTRO}-control-toolbox \
|
|
|
- ros-${ROS_DISTRO}-gazebo-msgs \
|
|
|
- ros-${ROS_DISTRO}-joy \
|
|
|
- ros-${ROS_DISTRO}-navigation2 \
|
|
|
- ros-${ROS_DISTRO}-rviz2 \
|
|
|
- ros-${ROS_DISTRO}-tf2-ros \
|
|
|
- ros-${ROS_DISTRO}-urdfdom \
|
|
|
- ros-${ROS_DISTRO}-vision-msgs \
|
|
|
- python3-colcon-common-extensions \
|
|
|
- ros-${ROS_DISTRO}-cyclonedds \
|
|
|
- ros-${ROS_DISTRO}-rmw-cyclonedds-cpp \
|
|
|
- ros-${ROS_DISTRO}-slam-toolbox \
|
|
|
- ros-${ROS_DISTRO}-navigation2 \
|
|
|
- ros-${ROS_DISTRO}-nav2-bringup \
|
|
|
- ros-${ROS_DISTRO}-pointcloud-to-laserscan \
|
|
|
- ros-${ROS_DISTRO}-teleop-twist-keyboard \
|
|
|
- ros-${ROS_DISTRO}-ackermann-msgs \
|
|
|
- ros-${ROS_DISTRO}-topic-tools \
|
|
|
- && rm -rf /var/lib/apt/lists/* \
|
|
|
- && pip install python-statemachine
|
|
|
-
|
|
|
-# Depending on the image type, sync, setup and build only whats needed
|
|
|
-RUN if [ "${IMAGE_TYPE}" = "full" ]; then \
|
|
|
- git clone --recursive $O3DE_REPO $WORKSPACE/o3de \
|
|
|
- && git -C $WORKSPACE/o3de checkout $O3DE_BRANCH \
|
|
|
- && git -C $WORKSPACE/o3de lfs install \
|
|
|
- && git -C $WORKSPACE/o3de lfs pull \
|
|
|
- && $WORKSPACE/o3de/python/get_python.sh \
|
|
|
- && $WORKSPACE/o3de/scripts/o3de.sh register -ep $WORKSPACE/o3de \
|
|
|
- && git clone $O3DE_EXTRAS_REPO \
|
|
|
- && git -C $WORKSPACE/o3de-extras checkout $O3DE_EXTRAS_BRANCH \
|
|
|
- && $WORKSPACE/o3de/scripts/o3de.sh register -gp $WORKSPACE/o3de-extras/Gems/ROS2 \
|
|
|
- && git clone $ROSCON_DEMO_REPO \
|
|
|
- && git -C $WORKSPACE/ROSConDemo checkout $ROSCON_DEMO_BRANCH \
|
|
|
- && git -C $WORKSPACE/ROSConDemo lfs install \
|
|
|
- && git -C $WORKSPACE/ROSConDemo lfs pull \
|
|
|
- && $WORKSPACE/o3de/scripts/o3de.sh register -pp $WORKSPACE/ROSConDemo/Project \
|
|
|
- && . /opt/ros/${ROS_DISTRO}/setup.sh \
|
|
|
- && cd $WORKSPACE/ROSConDemo/Project \
|
|
|
- && cmake -B $WORKSPACE/ROSConDemo/Project/build/linux -S . -G "Ninja Multi-Config" -DLY_DISABLE_TEST_MODULES=ON -DLY_STRIP_DEBUG_SYMBOLS=ON \
|
|
|
- && cmake --build $WORKSPACE/ROSConDemo/Project/build/linux --config profile --target ROSConDemo.GameLauncher Editor ROSConDemo.Assets -j $CMAKE_JOBS \
|
|
|
- && cd $WORKSPACE/ROSConDemo/kraken_nav \
|
|
|
- && colcon build --symlink-install \
|
|
|
- && rm -rf ~/.o3de/3rdParty/ \
|
|
|
- && rm -rf $WORKSPACE/o3de/.git \
|
|
|
- && rm -rf $WORKSPACE/o3de/AutomatedTesting \
|
|
|
- && rm -rf $WORKSPACE/o3de/python/downloaded_packages \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/Azcg/ \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/CMake \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/CMakeFiles/ \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/External/ \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/Testing/ \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/_deps/ \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/cmake \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/lib/ \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/o3de/ \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/packages/; \
|
|
|
- elif [ "${IMAGE_TYPE}" = "simulation" ]; then \
|
|
|
- git clone --recursive $O3DE_REPO $WORKSPACE/o3de \
|
|
|
- && git -C $WORKSPACE/o3de checkout $O3DE_BRANCH \
|
|
|
- && git -C $WORKSPACE/o3de lfs install \
|
|
|
- && git -C $WORKSPACE/o3de lfs pull \
|
|
|
- && $WORKSPACE/o3de/python/get_python.sh \
|
|
|
- && $WORKSPACE/o3de/scripts/o3de.sh register -ep $WORKSPACE/o3de \
|
|
|
- && git clone $O3DE_EXTRAS_REPO \
|
|
|
- && git -C $WORKSPACE/o3de-extras checkout $O3DE_EXTRAS_BRANCH \
|
|
|
- && $WORKSPACE/o3de/scripts/o3de.sh register -gp $WORKSPACE/o3de-extras/Gems/ROS2 \
|
|
|
- && git clone $ROSCON_DEMO_REPO \
|
|
|
- && git -C $WORKSPACE/ROSConDemo checkout $ROSCON_DEMO_BRANCH \
|
|
|
- && git -C $WORKSPACE/ROSConDemo lfs install \
|
|
|
- && git -C $WORKSPACE/ROSConDemo lfs pull \
|
|
|
- && $WORKSPACE/o3de/scripts/o3de.sh register -pp $WORKSPACE/ROSConDemo/Project \
|
|
|
- && . /opt/ros/${ROS_DISTRO}/setup.sh \
|
|
|
- && cd $WORKSPACE/ROSConDemo/Project \
|
|
|
- && cmake -B $WORKSPACE/ROSConDemo/Project/build/linux -S . -G "Ninja Multi-Config" -DLY_DISABLE_TEST_MODULES=ON -DLY_STRIP_DEBUG_SYMBOLS=ON \
|
|
|
- && cmake --build $WORKSPACE/ROSConDemo/Project/build/linux --config profile --target ROSConDemo.GameLauncher ROSConDemo.Assets -j $CMAKE_JOBS \
|
|
|
- && rm -rf $WORKSPACE/o3de-extras/ \
|
|
|
- && rm -rf ~/.o3de/3rdParty/ \
|
|
|
- && rm -rf $WORKSPACE/o3de/.git \
|
|
|
- && rm -rf $WORKSPACE/o3de/AutomatedTesting \
|
|
|
- && rm -rf $WORKSPACE/o3de/python/downloaded_packages \
|
|
|
- && rm -rf $WORKSPACE/o3de/Code \
|
|
|
- && rm -rf $WORKSPACE/o3de/Gems \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/.git \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/Gem \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/Source \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/Levels \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/ReflectionProbes \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/Azcg/ \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/CMake \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/CMakeFiles/ \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/External/ \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/Testing/ \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/_deps/ \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/cmake \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/lib/ \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/o3de/ \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/packages/ \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/bin/profile/*.Editor.so \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/bin/profile/EditorPlugins \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/bin/profile/Editor \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/bin/profile/AssetProcessor \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/bin/profile/AssetProcessorBatch \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/bin/profile/MaterialEditor \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/bin/profile/AssetBuilder \
|
|
|
- && rm -rf $WORKSPACE/ROSConDemo/build/linux/bin/profile/MaterialCanvas; \
|
|
|
- elif [ "${IMAGE_TYPE}" = "navstack" ]; then \
|
|
|
- git clone $ROSCON_DEMO_REPO \
|
|
|
- && git -C $WORKSPACE/ROSConDemo checkout $ROSCON_DEMO_BRANCH \
|
|
|
- && git -C $WORKSPACE/ROSConDemo lfs install \
|
|
|
- && git -C $WORKSPACE/ROSConDemo lfs pull; \
|
|
|
- else \
|
|
|
- echo "Unsupported IMAGE_TYPE: ${IMAGE_TYPE}" && exit 1; \
|
|
|
- fi
|
|
|
+RUN apt-get update \
|
|
|
+ && apt-get install -y \
|
|
|
+ binutils \
|
|
|
+ clang \
|
|
|
+ cmake \
|
|
|
+ git \
|
|
|
+ git-lfs \
|
|
|
+ libglu1-mesa-dev \
|
|
|
+ libxcb-xinerama0 \
|
|
|
+ libfontconfig1-dev \
|
|
|
+ libnvidia-gl-470 \
|
|
|
+ libxcb-xkb-dev \
|
|
|
+ libxkbcommon-x11-dev \
|
|
|
+ libxkbcommon-dev \
|
|
|
+ libxcb-xfixes0-dev \
|
|
|
+ libxcb-xinput-dev \
|
|
|
+ libxcb-xinput0 \
|
|
|
+ libpcre2-16-0 \
|
|
|
+ ninja-build \
|
|
|
+ python3-pip \
|
|
|
+ software-properties-common \
|
|
|
+ ros-${ROS_DISTRO}-ackermann-msgs \
|
|
|
+ ros-${ROS_DISTRO}-control-toolbox \
|
|
|
+ ros-${ROS_DISTRO}-gazebo-msgs \
|
|
|
+ ros-${ROS_DISTRO}-joy \
|
|
|
+ ros-${ROS_DISTRO}-navigation2 \
|
|
|
+ ros-${ROS_DISTRO}-rviz2 \
|
|
|
+ ros-${ROS_DISTRO}-tf2-ros \
|
|
|
+ ros-${ROS_DISTRO}-urdfdom \
|
|
|
+ ros-${ROS_DISTRO}-vision-msgs \
|
|
|
+ ros-${ROS_DISTRO}-cyclonedds \
|
|
|
+ ros-${ROS_DISTRO}-rmw-cyclonedds-cpp \
|
|
|
+ ros-${ROS_DISTRO}-slam-toolbox \
|
|
|
+ ros-${ROS_DISTRO}-nav2-bringup \
|
|
|
+ ros-${ROS_DISTRO}-pointcloud-to-laserscan \
|
|
|
+ ros-${ROS_DISTRO}-teleop-twist-keyboard \
|
|
|
+ ros-${ROS_DISTRO}-topic-tools \
|
|
|
+ python3-colcon-common-extensions \
|
|
|
+ && rm -rf /var/lib/apt/lists/* \
|
|
|
+ && pip install python-statemachine
|
|
|
|
|
|
ENV RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
|
|
|
|
|
-# Compile the navstack and add configuration to the startup
|
|
|
-RUN cd $WORKSPACE/ROSConDemo/kraken_nav \
|
|
|
- && colcon build --symlink-install \
|
|
|
- && echo "source /data/workspace/ROSConDemo/kraken_nav/install/setup.bash" >> ~/.bashrc
|
|
|
+# Clone, register, and build the projects
|
|
|
+RUN . /opt/ros/${ROS_DISTRO}/setup.sh \
|
|
|
+ \
|
|
|
+ # Clone o3de \
|
|
|
+ \
|
|
|
+ && git clone --single-branch -b $O3DE_BRANCH $O3DE_REPO $O3DE_ROOT \
|
|
|
+ && git -C $O3DE_ROOT lfs install \
|
|
|
+ && git -C $O3DE_ROOT lfs pull \
|
|
|
+ && git -C $O3DE_ROOT reset --hard $O3DE_COMMIT \
|
|
|
+ \
|
|
|
+ ############################################################### \
|
|
|
+ # Apply a patch to fix a release compile issue if needed \
|
|
|
+ ############################################################### \
|
|
|
+ && if [ "$(md5sum $O3DE_ROOT/Gems/Atom/RPI/Code/Source/RPI.Public/RPISystem.cpp | awk '{print $1}')" = "07389c00378a13f31f1d6faf097a026b" ];then git -C $O3DE_ROOT apply $WORKSPACE/o3de_2.1.0.patch; fi \
|
|
|
+ \
|
|
|
+ ############################################################### \
|
|
|
+ # Clone o3de-extras \
|
|
|
+ ############################################################### \
|
|
|
+ && git clone --single-branch -b $O3DE_EXTRAS_BRANCH $O3DE_EXTRAS_REPO $O3DE_EXTRAS_ROOT \
|
|
|
+ && git -C $O3DE_EXTRAS_ROOT lfs install \
|
|
|
+ && git -C $O3DE_EXTRAS_ROOT lfs pull \
|
|
|
+ && git -C $O3DE_EXTRAS_ROOT reset --hard $O3DE_EXTRAS_COMMIT \
|
|
|
+ \
|
|
|
+ ############################################################### \
|
|
|
+ # Clone the ROSConDemo \
|
|
|
+ ############################################################### \
|
|
|
+ && git clone --single-branch -b $ROSCON_DEMO_BRANCH $ROSCON_DEMO_REPO $ROSCON_DEMO_ROOT \
|
|
|
+ && git -C $ROSCON_DEMO_ROOT lfs install \
|
|
|
+ && git -C $ROSCON_DEMO_ROOT lfs pull \
|
|
|
+ && git -C $ROSCON_DEMO_ROOT reset --hard $ROSCON_DEMO_COMMIT \
|
|
|
+ \
|
|
|
+ ############################################################### \
|
|
|
+ # Get the O3DE python and register the gem paths and projects \
|
|
|
+ ############################################################### \
|
|
|
+ && $O3DE_ROOT/python/get_python.sh \
|
|
|
+ && $O3DE_ROOT/scripts/o3de.sh register -ep $O3DE_ROOT \
|
|
|
+ && $O3DE_ROOT/scripts/o3de.sh register -gp $O3DE_EXTRAS_ROOT/Gems/ROS2 \
|
|
|
+ && $O3DE_ROOT/scripts/o3de.sh register -pp $ROSCON_DEMO_PROJECT \
|
|
|
+ \
|
|
|
+ ############################################################### \
|
|
|
+ # Build the Editor, Tools, and clients
|
|
|
+ ############################################################### \
|
|
|
+ && cmake -B $ROSCON_DEMO_PROJECT/build/linux -G "Ninja Multi-Config" \
|
|
|
+ -S $ROSCON_DEMO_PROJECT \
|
|
|
+ -DLY_DISABLE_TEST_MODULES=ON \
|
|
|
+ -DLY_STRIP_DEBUG_SYMBOLS=ON \
|
|
|
+ -DAZ_USE_PHYSX5=ON \
|
|
|
+ && cmake --build $ROSCON_DEMO_PROJECT/build/linux --config profile \
|
|
|
+ --target ROSConDemo.GameLauncher Editor ROSConDemo.Assets \
|
|
|
+ \
|
|
|
+ ############################################################### \
|
|
|
+ # Build the Editor, Tools, and clients
|
|
|
+ ############################################################### \
|
|
|
+ && rm -rf ~/.o3de/3rdParty/ \
|
|
|
+ && rm -rf $O3DE_ROOT/.git \
|
|
|
+ && rm -rf $O3DE_ROOT/AutomatedTesting \
|
|
|
+ && rm -rf $O3DE_ROOT/python/downloaded_packages \
|
|
|
+ && rm -rf $ROSCON_DEMO_PROJECT/build/linux/Azcg/ \
|
|
|
+ && rm -rf $ROSCON_DEMO_PROJECT/build/linux/CMake \
|
|
|
+ && rm -rf $ROSCON_DEMO_PROJECT/build/linux/CMakeFiles/ \
|
|
|
+ && rm -rf $ROSCON_DEMO_PROJECT/build/linux/External/ \
|
|
|
+ && rm -rf $ROSCON_DEMO_PROJECT/build/linux/Testing/ \
|
|
|
+ && rm -rf $ROSCON_DEMO_PROJECT/build/linux/_deps/ \
|
|
|
+ && rm -rf $ROSCON_DEMO_PROJECT/build/linux/cmake \
|
|
|
+ && rm -rf $ROSCON_DEMO_PROJECT/build/linux/lib/ \
|
|
|
+ && rm -rf $ROSCON_DEMO_PROJECT/build/linux/o3de/ \
|
|
|
+ && rm -rf $ROSCON_DEMO_PROJECT/build/linux/packages/
|
|
|
+
|
|
|
+# Build the navigation stack
|
|
|
+RUN . /opt/ros/${ROS_DISTRO}/setup.sh \
|
|
|
+ && cd $ROSCON_DEMO_NAV_ROOT \
|
|
|
+ && colcon build --symlink-install
|
|
|
|
|
|
# Add the appropriate ros2 environment setup script to the system startup
|
|
|
RUN echo "[Unit]" > /etc/systemd/system/setup_ros.service \
|
|
@@ -235,4 +184,3 @@ RUN echo "[Unit]" > /etc/systemd/system/setup_ros.service \
|
|
|
|
|
|
ENV NVIDIA_VISIBLE_DEVICES all
|
|
|
ENV NVIDIA_DRIVER_CAPABILITIES all
|
|
|
-
|