@@ -5,6 +5,7 @@ usage() {
55 printf " Setup vscode workspace for specified container\n\n"
66 printf " Options:\n"
77 printf " -h|--help\t\t Shows this help message\n"
8+ printf " -i|--install-deps\t Install dependencies [for debian/ubuntu distros]\n"
89 printf " -u|--user DOCKER_USER\t Docker container user [default: orise]\n"
910}
1011
@@ -16,6 +17,9 @@ while [ -n "$1" ]; do
1617 usage
1718 exit 0
1819 ;;
20+ -i | --install-deps)
21+ INSTALL_DEPS=true
22+ ;;
1923 -u | --user)
2024 shift
2125 DOCKER_USER=$1
@@ -55,7 +59,6 @@ WORKING_DIR=$(docker inspect -f '{{.Config.WorkingDir}}' "$CONTAINER_NAME")
5559ROS_DISTRO=$( docker exec " $CONTAINER_NAME " /bin/bash -c " printenv ROS_DISTRO" )
5660COLCON_WORKSPACE_FOLDER=$( docker exec " $CONTAINER_NAME " /bin/bash -c " printenv COLCON_WORKSPACE_FOLDER" )
5761
58-
5962# Take container WORKING_DIR when $COLCON_WORKSPACE_FOLDER is not defined in the container
6063COLCON_WORKSPACE_FOLDER=${COLCON_WORKSPACE_FOLDER:- $WORKING_DIR }
6164
@@ -73,26 +76,30 @@ envsubst <.devcontainer.json >"$CONTAINER_CONFIG_FOLDER/$CONTAINER_NAME.json"
7376docker cp ros2.code-workspace " $CONTAINER_NAME :$COLCON_WORKSPACE_FOLDER /"
7477docker cp .vscode-format/ " $CONTAINER_NAME :$COLCON_WORKSPACE_FOLDER /"
7578
76- docker exec " $CONTAINER_NAME " apt-get install -y \
77- python3-pip \
78- ros-" $ROS_DISTRO " -ament-copyright \
79- ros-" $ROS_DISTRO " -ament-cppcheck \
80- ros-" $ROS_DISTRO " -ament-cpplint \
81- ros-" $ROS_DISTRO " -ament-flake8 \
82- ros-" $ROS_DISTRO " -ament-lint-cmake \
83- ros-" $ROS_DISTRO " -ament-pep257 \
84- ros-" $ROS_DISTRO " -ament-uncrustify \
85- ros-" $ROS_DISTRO " -ament-xmllint
79+ if [ " $INSTALL_DEPS " ]; then
80+ docker exec " $CONTAINER_NAME " apt-get update
8681
87- docker exec " $CONTAINER_NAME " pip3 install \
88- cmake-format \
89- yapf \
90- flake8 \
91- flake8-blind-except \
92- flake8-builtins \
93- flake8-class-newline \
94- flake8-comprehensions \
95- flake8-deprecated \
96- flake8-docstrings \
97- flake8-import-order \
98- flake8-quotes
82+ docker exec " $CONTAINER_NAME " apt-get install -y \
83+ python3-pip \
84+ ros-" $ROS_DISTRO " -ament-copyright \
85+ ros-" $ROS_DISTRO " -ament-cppcheck \
86+ ros-" $ROS_DISTRO " -ament-cpplint \
87+ ros-" $ROS_DISTRO " -ament-flake8 \
88+ ros-" $ROS_DISTRO " -ament-lint-cmake \
89+ ros-" $ROS_DISTRO " -ament-pep257 \
90+ ros-" $ROS_DISTRO " -ament-uncrustify \
91+ ros-" $ROS_DISTRO " -ament-xmllint
92+
93+ docker exec " $CONTAINER_NAME " pip3 install \
94+ cmake-format \
95+ yapf \
96+ flake8 \
97+ flake8-blind-except \
98+ flake8-builtins \
99+ flake8-class-newline \
100+ flake8-comprehensions \
101+ flake8-deprecated \
102+ flake8-docstrings \
103+ flake8-import-order \
104+ flake8-quotes
105+ fi
0 commit comments