From 516ce65da2002029082667ca25c1f12ea18be03b Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Fri, 26 Apr 2024 15:12:27 +0200 Subject: [PATCH 01/20] [qtcreator] update env vars --- qtcreator/README.md | 2 +- qtcreator/setup | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/qtcreator/README.md b/qtcreator/README.md index bb8f69017..9fe0560da 100644 --- a/qtcreator/README.md +++ b/qtcreator/README.md @@ -5,7 +5,7 @@ After installation the following still needs to be done to configure QtCreator w 1. Open QtCreator 2. Open Tools -> Options 3. Select the 'Build & Run' page on the left. - - In the 'General' tab change projects directory to `%{Env:TUE_SYSTEM_DIR}/src` + - In the 'General' tab change projects directory to `%{Env:TUE_ENV_WS_DIR}/src` - In 'Default Build Properties' tab change 'Default build directory' to `%{Env:CURRENT_CMAKE_BUILD_DIR}/%{Project:Name}` This matches the instructions from the [ROS Wiki](http://wiki.ros.org/IDEs#QtCreator) diff --git a/qtcreator/setup b/qtcreator/setup index 32bb7b267..46f296371 100644 --- a/qtcreator/setup +++ b/qtcreator/setup @@ -5,12 +5,17 @@ function qtcreator /opt/Qt/Tools/QtCreator/bin/qtcreator.sh } -if [[ "${TUE_ROS_VERSION}" -eq 1 ]] +if [[ ! -v TUE_ENV_ROS_VERSION && -v TUE_ROS_VERSION ]] +then + TUE_ENV_ROS_VERSION=${TUE_ROS_VERSION} + >&2 echo "Change the config of your environment to use 'TUE_ENV_ROS_VERSION' instead of 'TUE_ROS_VERSION'" +fi +if [[ "${TUE_ENV_ROS_VERSION}" -eq 1 ]] then # Make sure packages can be build by QT - CURRENT_CMAKE_BUILD_DIR=$(catkin locate --workspace "${TUE_SYSTEM_DIR}" --build 2>/dev/null) + CURRENT_CMAKE_BUILD_DIR=$(catkin locate --workspace "${TUE_ENV_WS_DIR}" --build 2>/dev/null) else - CURRENT_CMAKE_BUILD_DIR="${TUE_SYSTEM_DIR}"/build + CURRENT_CMAKE_BUILD_DIR="${TUE_ENV_WS_DIR}"/build fi export CURRENT_CMAKE_BUILD_DIR From b7569cf2307a5c5f5a396fea7d49545edcdfd1f3 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Fri, 26 Apr 2024 15:14:33 +0200 Subject: [PATCH 02/20] [ros-swri_console] update env vars --- ros-swri_console/setup | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ros-swri_console/setup b/ros-swri_console/setup index fa34a88ec..e215ac5cc 100644 --- a/ros-swri_console/setup +++ b/ros-swri_console/setup @@ -1,6 +1,11 @@ #! /usr/bin/env bash -if [[ "${TUE_ROS_VERSION}" -eq 1 ]] +if [[ ! -v TUE_ENV_ROS_VERSION && -v TUE_ROS_VERSION ]] +then + TUE_ENV_ROS_VERSION=${TUE_ROS_VERSION} + >&2 echo "Change the config of your environment to use 'TUE_ENV_ROS_VERSION' instead of 'TUE_ROS_VERSION'" +fi +if [[ "${TUE_ENV_ROS_VERSION}" -eq 1 ]] then alias swri="rosrun swri_console swri_console" else From 3f83276f38514ddae5b0a11b6aa6f1b01b9585e5 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Fri, 26 Apr 2024 15:14:50 +0200 Subject: [PATCH 03/20] [ros1] update env vars --- ros1/install.bash | 21 +++++++++++++-------- ros1/setup | 15 ++++++++++----- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/ros1/install.bash b/ros1/install.bash index 4585d245b..6203e904c 100644 --- a/ros1/install.bash +++ b/ros1/install.bash @@ -1,14 +1,19 @@ #! /usr/bin/env bash # shellcheck disable=SC1090 -if [ -z "$TUE_ROS_DISTRO" ] +if [[ ! -v TUE_ENV_ROS_DISTRO && -v TUE_ROS_DISTRO ]] then - tue-install-error "TUE_ROS_DISTRO was not set" + TUE_ENV_ROS_DISTRO=${TUE_ROS_DISTRO} + >&2 echo "Change the config of your environment to use 'TUE_ENV_ROS_DISTRO' instead of 'TUE_ROS_DISTRO'" +fi +if [[ -z "${TUE_ENV_ROS_DISTRO}" ]] +then + tue-install-error "TUE_ENV_ROS_DISTRO was not set" return 1 fi # Install basic ROS packages. -tue-install-system-now ros-"$TUE_ROS_DISTRO"-ros +tue-install-system-now ros-"${TUE_ENV_ROS_DISTRO}"-ros if [ ! -d /etc/ros/rosdep ] then @@ -19,16 +24,16 @@ rosdep_update_file="/tmp/tue_rosdep_update_${USER}" if [ ! -f "$rosdep_update_file" ] then tue-install-debug "Updating rosdep" - tue-install-pipe rosdep update --rosdistro "$TUE_ROS_DISTRO" + tue-install-pipe rosdep update --rosdistro "${TUE_ENV_ROS_DISTRO}" touch "$rosdep_update_file" fi -mkdir -p "$TUE_SYSTEM_DIR" +mkdir -p "${TUE_ENV_WS_DIR}" -if [ ! -f "$TUE_SYSTEM_DIR"/devel/setup.bash ] +if [ ! -f "${TUE_ENV_WS_DIR}"/devel/setup.bash ] then - [[ -z "${TUE_ROS_VERSION}" ]] && { tue-install-warning "tue-env variable TUE_ROS_VERSION is not set. This will not be allowed in the future.\nSetting TUE_ROS_VERSION=1 temporarily."; } + [[ -z "${TUE_ENV_ROS_VERSION}" ]] && { tue-install-warning "tue-env variable TUE_ENV_ROS_VERSION is not set. This will not be allowed in the future.\nSetting TUE_ENV_ROS_VERSION=1 temporarily."; } [[ "$CI" == "true" ]] && status_args=" --no-status" # shellcheck disable=SC2086 - TUE_ROS_VERSION=1 tue-make${status_args} || tue-install-error "Error in building the system workspace" + TUE_ENV_ROS_VERSION=1 tue-make${status_args} || tue-install-error "Error in building the system workspace" fi diff --git a/ros1/setup b/ros1/setup index 6cc4e254e..bb9a46d3d 100644 --- a/ros1/setup +++ b/ros1/setup @@ -1,19 +1,24 @@ #! /usr/bin/env bash -if [ -z "$TUE_ROS_DISTRO" ] +if [[ ! -v TUE_ENV_ROS_DISTRO && -v TUE_ROS_DISTRO ]] then - echo -e "\e[31;1m[ros] TUE_ROS_DISTRO was not set\e[0m" + TUE_ENV_ROS_DISTRO=${TUE_ROS_DISTRO} + >&2 echo "Change the config of your environment to use 'TUE_ENV_ROS_DISTRO' instead of 'TUE_ROS_DISTRO'" +fi +if [[ -z "${TUE_ENV_ROS_DISTRO}" ]] +then + echo -e "\e[31;1m[ros] TUE_ENV_ROS_DISTRO was not set\e[0m" return 1 fi -if [ -f "$TUE_SYSTEM_DIR"/devel/setup.bash ] +if [ -f "${TUE_ENV_WS_DIR}"/devel/setup.bash ] then # shellcheck disable=SC1091 - source "$TUE_SYSTEM_DIR"/devel/setup.bash + source "${TUE_ENV_WS_DIR}"/devel/setup.bash else echo -e "\e[33;1m[ros] system workspaces not found, sourcing /opt/ros\e[0m" # shellcheck disable=SC1090 - source /opt/ros/"$TUE_ROS_DISTRO"/setup.bash + source /opt/ros/"${TUE_ENV_ROS_DISTRO}"/setup.bash fi # Set ROSCONSOLE_FORMAT From be8d2683d6af663aa1f707a53ed8dafff93feb3b Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Fri, 26 Apr 2024 15:15:06 +0200 Subject: [PATCH 04/20] [ros2] update env vars --- ros2/install.bash | 20 +++++++++++++------- ros2/setup | 23 ++++++++++++++--------- 2 files changed, 27 insertions(+), 16 deletions(-) diff --git a/ros2/install.bash b/ros2/install.bash index 64222e0c7..a468e6ed4 100644 --- a/ros2/install.bash +++ b/ros2/install.bash @@ -1,20 +1,26 @@ #! /usr/bin/env bash # shellcheck disable=SC1090 -if [ -z "$TUE_ROS_DISTRO" ] +if [[ ! -v TUE_ENV_ROS_DISTRO && -v TUE_ROS_DISTRO ]] then - tue-install-error "TUE_ROS_DISTRO was not set" + TUE_ENV_ROS_DISTRO=${TUE_ROS_DISTRO} + >&2 echo "Change the config of your environment to use 'TUE_ENV_ROS_DISTRO' instead of 'TUE_ROS_DISTRO'" +fi +if [[ -z "${TUE_ENV_ROS_DISTRO}" ]] +then + tue-install-error "TUE_ENV_ROS_DISTRO was not set" return 1 fi # Install basic ROS packages and eProsima DDS implementation. -tue-install-system-now ros-"$TUE_ROS_DISTRO"-ros-core ros-"$TUE_ROS_DISTRO"-rmw-fastrtps-cpp +tue-install-system-now ros-"${TUE_ENV_ROS_DISTRO}"-ros-core ros-"${TUE_ENV_ROS_DISTRO}"-rmw-fastrtps-cpp # Setup the build environment -mkdir -p "$TUE_SYSTEM_DIR" +mkdir -p "${TUE_ENV_WS_DIR}" -if [ ! -f "$TUE_SYSTEM_DIR"/install/setup.bash ] +if [ ! -f "$TUE_ENV_WS_DIR"/install/setup.bash ] then - [[ -z "${TUE_ROS_VERSION}" ]] && { tue-install-warning "tue-env variable TUE_ROS_VERSION is not set. This will not be allowed in the future.\nSetting TUE_ROS_VERSION=2 temporarily."; } - TUE_ROS_VERSION=2 tue-make || tue-install-error "Error in building the ROS2 system workspace" + [[ -v TUE_ENV_ROS_VERSION || -v TUE_ROS_VERSION ]] || { TUE_ENV_ROS_VERSION=${TUE_ROS_VERSION}; tue-install-warning "Change the config of your environment to use 'TUE_ENV_ROS_DISTRO' instead of 'TUE_ROS_DISTRO'"; } + [[ -z "${TUE_ENV_ROS_VERSION}" ]] && { tue-install-warning "tue-env variable TUE_ENV_ROS_VERSION is not set. This will not be allowed in the future.\nSetting TUE_ENV_ROS_VERSION=2 temporarily."; } + TUE_ENV_ROS_VERSION=2 tue-make || tue-install-error "Error in building the ROS2 system workspace" fi diff --git a/ros2/setup b/ros2/setup index ae813c877..61e285b4d 100644 --- a/ros2/setup +++ b/ros2/setup @@ -1,26 +1,31 @@ #! /usr/bin/env bash -if [ -z "$TUE_ROS_DISTRO" ] +if [[ ! -v TUE_ENV_ROS_DISTRO && -v TUE_ROS_DISTRO ]] then - echo "[ros2] TUE_ROS_DISTRO was not set" + TUE_ENV_ROS_DISTRO=${TUE_ROS_DISTRO} + >&2 echo "Change the config of your environment to use 'TUE_ENV_ROS_DISTRO' instead of 'TUE_ROS_DISTRO'" +fi +if [[ -z "${TUE_ENV_ROS_DISTRO}" ]] +then + echo "[ros2] TUE_ENV_ROS_DISTRO was not set" return 1 fi # Add ROS sourcing to the shell startup script -if [ -f "/opt/ros/${TUE_ROS_DISTRO}/setup.bash" ] +if [[ -f "/opt/ros/${TUE_ENV_ROS_DISTRO}/setup.bash" ]] then # shellcheck disable=SC1090 - source "/opt/ros/${TUE_ROS_DISTRO}/setup.bash" + source "/opt/ros/${TUE_ENV_ROS_DISTRO}/setup.bash" else - echo -e "\033[33;1m[ros2] ROS 2 ${TUE_ROS_DISTRO} setup.bash not found. \033[0m" + echo -e "\033[33;1m[ros2] ROS 2 ${TUE_ENV_ROS_DISTRO} setup.bash not found. \033[0m" fi -if [ -f "${TUE_SYSTEM_DIR}/install/local_setup.bash" ] +if [[ -f "${TUE_ENV_WS_DIR}/install/local_setup.bash" ]] then # shellcheck disable=SC1091 - source "${TUE_SYSTEM_DIR}/install/local_setup.bash" + source "${TUE_ENV_WS_DIR}/install/local_setup.bash" else - echo -e "\033[33;1m[ros2] ${TUE_SYSTEM_DIR}/install/local_setup.bash not found. \033[0m" + echo -e "\033[33;1m[ros2] ${TUE_ENV_WS_DIR}/install/local_setup.bash not found. \033[0m" fi # Add Colcon sourcing to the shell startup script @@ -29,7 +34,7 @@ then # shellcheck disable=SC1091 source /usr/share/colcon_cd/function/colcon_cd.sh # shellcheck disable=SC2016 - export _colcon_cd_root="${TUE_SYSTEM_DIR}" + export _colcon_cd_root="${TUE_ENV_WS_DIR}" else echo -e "\033[33;5;1m[ros2] colcon_cd setup not found. colcon_cd command disabled. \033[0m" fi From e6fb7c7b3e96de0210874aa622ff2749f25431e6 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Fri, 26 Apr 2024 15:15:25 +0200 Subject: [PATCH 05/20] [vscode] update env vars --- vscode/install.bash | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/vscode/install.bash b/vscode/install.bash index 9396ef9f8..5107f44f5 100644 --- a/vscode/install.bash +++ b/vscode/install.bash @@ -11,8 +11,8 @@ code --install-extension ms-iot.vscode-ros\ --force # Configure workspace -workspacefile="${TUE_SYSTEM_DIR}/.vscode/settings.json" -mkdir -p "${TUE_SYSTEM_DIR}/.vscode" +workspacefile="${TUE_ENV_WS_DIR}/.vscode/settings.json" +mkdir -p "${TUE_ENV_WS_DIR}/.vscode" if [[ ! -f "${workspacefile}" ]] then tue-install-cp workspace_settings.json "${workspacefile}" @@ -23,14 +23,17 @@ else fi fi -# Install and configure catkin tools extension -if ! catkin config --workspace "$TUE_SYSTEM_DIR" | grep -q "DCMAKE_EXPORT_COMPILE_COMMANDS" +if [[ "${TUE_ENV_ROS_VERSION}" == "1" ]] then - catkin config --workspace "$TUE_SYSTEM_DIR" --append-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + # Install and configure catkin tools extension + if ! catkin config --workspace "$TUE_ENV_WS_DIR" | grep -q "DCMAKE_EXPORT_COMPILE_COMMANDS" + then + catkin config --workspace "$TUE_ENV_WS_DIR" --append-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + fi fi # Configure to build only active package -tasksfile="${TUE_SYSTEM_DIR}/.vscode/tasks.json" +tasksfile="${TUE_ENV_WS_DIR}/.vscode/tasks.json" if [[ ! -f "${tasksfile}" ]] # If user already has one, don't overwrite then tue-install-cp tasks.json "${tasksfile}" From e2d31faf131360774e0b634febea54274c9f7443 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Mon, 29 Apr 2024 08:45:44 +0200 Subject: [PATCH 06/20] [matthijs] ag not case insensitive --- matthijs/setup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/matthijs/setup b/matthijs/setup index e7091a01e..c133e9dc6 100644 --- a/matthijs/setup +++ b/matthijs/setup @@ -19,7 +19,7 @@ function sb source ~/.bashrc } -alias ag='ag -fi' +alias ag='ag -f' alias ccat='pygmentize -g -O style=colorful' From 931af9a1b09609bfbf649eddd4969ac5e55d97f8 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Mon, 29 Apr 2024 08:46:35 +0200 Subject: [PATCH 07/20] [qtcreator] more env var fixes --- qtcreator/setup | 1 + 1 file changed, 1 insertion(+) diff --git a/qtcreator/setup b/qtcreator/setup index 46f296371..e3d3608b7 100644 --- a/qtcreator/setup +++ b/qtcreator/setup @@ -5,6 +5,7 @@ function qtcreator /opt/Qt/Tools/QtCreator/bin/qtcreator.sh } +# TODO(anyone): remove when tue-env is updated to new variable names if [[ ! -v TUE_ENV_ROS_VERSION && -v TUE_ROS_VERSION ]] then TUE_ENV_ROS_VERSION=${TUE_ROS_VERSION} From d9a8728ee2f49db6da18e4df1509d347868ab084 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Mon, 29 Apr 2024 08:46:58 +0200 Subject: [PATCH 08/20] [ros-swri_console] more env var fixes --- ros-swri_console/setup | 1 + 1 file changed, 1 insertion(+) diff --git a/ros-swri_console/setup b/ros-swri_console/setup index e215ac5cc..f6d49d44f 100644 --- a/ros-swri_console/setup +++ b/ros-swri_console/setup @@ -1,5 +1,6 @@ #! /usr/bin/env bash +# TODO(anyone): remove when tue-env is updated to new variable names if [[ ! -v TUE_ENV_ROS_VERSION && -v TUE_ROS_VERSION ]] then TUE_ENV_ROS_VERSION=${TUE_ROS_VERSION} From ac02ddba2ec2486693d330c0f907d81055d8cdb2 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Mon, 29 Apr 2024 08:47:25 +0200 Subject: [PATCH 09/20] [ros1] more env var fixes --- ros1/install.bash | 6 +++++- ros1/setup | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ros1/install.bash b/ros1/install.bash index 6203e904c..87783d6e3 100644 --- a/ros1/install.bash +++ b/ros1/install.bash @@ -1,6 +1,7 @@ #! /usr/bin/env bash # shellcheck disable=SC1090 +# TODO(anyone): remove when tue-env is updated to new variable names if [[ ! -v TUE_ENV_ROS_DISTRO && -v TUE_ROS_DISTRO ]] then TUE_ENV_ROS_DISTRO=${TUE_ROS_DISTRO} @@ -28,9 +29,12 @@ then touch "$rosdep_update_file" fi +# TODO(anyone): remove when tue-env is updated to new variable names +[[ -v TUE_ENV_WS_DIR || ! -v TUE_WS_DIR ]] || TUE_ENV_WS_DIR=${TUE_WS_DIR} + mkdir -p "${TUE_ENV_WS_DIR}" -if [ ! -f "${TUE_ENV_WS_DIR}"/devel/setup.bash ] +if [[ ! -f "${TUE_ENV_WS_DIR}"/devel/setup.bash ]] then [[ -z "${TUE_ENV_ROS_VERSION}" ]] && { tue-install-warning "tue-env variable TUE_ENV_ROS_VERSION is not set. This will not be allowed in the future.\nSetting TUE_ENV_ROS_VERSION=1 temporarily."; } [[ "$CI" == "true" ]] && status_args=" --no-status" diff --git a/ros1/setup b/ros1/setup index bb9a46d3d..541744d59 100644 --- a/ros1/setup +++ b/ros1/setup @@ -1,5 +1,6 @@ #! /usr/bin/env bash +# TODO(anyone): remove when tue-env is updated to new variable names if [[ ! -v TUE_ENV_ROS_DISTRO && -v TUE_ROS_DISTRO ]] then TUE_ENV_ROS_DISTRO=${TUE_ROS_DISTRO} @@ -11,7 +12,10 @@ then return 1 fi -if [ -f "${TUE_ENV_WS_DIR}"/devel/setup.bash ] +# TODO(anyone): remove when tue-env is updated to new variable names +[[ -v TUE_ENV_WS_DIR || ! -v TUE_WS_DIR ]] || TUE_ENV_WS_DIR=${TUE_WS_DIR} + +if [[ -f "${TUE_ENV_WS_DIR}"/devel/setup.bash ]] then # shellcheck disable=SC1091 source "${TUE_ENV_WS_DIR}"/devel/setup.bash From 9cc8fda07445c21620d71b8be9c7906146196b82 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Mon, 29 Apr 2024 08:48:19 +0200 Subject: [PATCH 10/20] [ros2] more env var fixes --- ros2/install.bash | 6 +++++- ros2/setup | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ros2/install.bash b/ros2/install.bash index a468e6ed4..3ec7d7afa 100644 --- a/ros2/install.bash +++ b/ros2/install.bash @@ -1,6 +1,7 @@ #! /usr/bin/env bash # shellcheck disable=SC1090 +# TODO(anyone): remove when tue-env is updated to new variable names if [[ ! -v TUE_ENV_ROS_DISTRO && -v TUE_ROS_DISTRO ]] then TUE_ENV_ROS_DISTRO=${TUE_ROS_DISTRO} @@ -15,10 +16,13 @@ fi # Install basic ROS packages and eProsima DDS implementation. tue-install-system-now ros-"${TUE_ENV_ROS_DISTRO}"-ros-core ros-"${TUE_ENV_ROS_DISTRO}"-rmw-fastrtps-cpp +# TODO(anyone): remove when tue-env is updated to new variable names +[[ -v TUE_ENV_WS_DIR || ! -v TUE_WS_DIR ]] || TUE_ENV_WS_DIR=${TUE_WS_DIR} + # Setup the build environment mkdir -p "${TUE_ENV_WS_DIR}" -if [ ! -f "$TUE_ENV_WS_DIR"/install/setup.bash ] +if [[ ! -f "${TUE_ENV_WS_DIR}"/install/setup.bash ]] then [[ -v TUE_ENV_ROS_VERSION || -v TUE_ROS_VERSION ]] || { TUE_ENV_ROS_VERSION=${TUE_ROS_VERSION}; tue-install-warning "Change the config of your environment to use 'TUE_ENV_ROS_DISTRO' instead of 'TUE_ROS_DISTRO'"; } [[ -z "${TUE_ENV_ROS_VERSION}" ]] && { tue-install-warning "tue-env variable TUE_ENV_ROS_VERSION is not set. This will not be allowed in the future.\nSetting TUE_ENV_ROS_VERSION=2 temporarily."; } diff --git a/ros2/setup b/ros2/setup index 61e285b4d..aaf726e66 100644 --- a/ros2/setup +++ b/ros2/setup @@ -1,5 +1,6 @@ #! /usr/bin/env bash +# TODO(anyone): remove when tue-env is updated to new variable names if [[ ! -v TUE_ENV_ROS_DISTRO && -v TUE_ROS_DISTRO ]] then TUE_ENV_ROS_DISTRO=${TUE_ROS_DISTRO} @@ -20,6 +21,9 @@ else echo -e "\033[33;1m[ros2] ROS 2 ${TUE_ENV_ROS_DISTRO} setup.bash not found. \033[0m" fi +# TODO(anyone): remove when tue-env is updated to new variable names +[[ -v TUE_ENV_WS_DIR || ! -v TUE_WS_DIR ]] || TUE_ENV_WS_DIR=${TUE_WS_DIR} + if [[ -f "${TUE_ENV_WS_DIR}/install/local_setup.bash" ]] then # shellcheck disable=SC1091 From 68bdba58040650df7857b01357a0a75b3f9e35e6 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Mon, 29 Apr 2024 08:48:45 +0200 Subject: [PATCH 11/20] [vscode] more env var fixes --- vscode/install.bash | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/vscode/install.bash b/vscode/install.bash index 5107f44f5..c0fa0267b 100644 --- a/vscode/install.bash +++ b/vscode/install.bash @@ -10,6 +10,9 @@ code --install-extension ms-iot.vscode-ros\ --install-extension tyriar.sort-lines\ --force +# TODO(anyone): remove when tue-env is updated to new variable names +[[ -v TUE_ENV_WS_DIR || ! -v TUE_WS_DIR ]] || TUE_ENV_WS_DIR=${TUE_WS_DIR} + # Configure workspace workspacefile="${TUE_ENV_WS_DIR}/.vscode/settings.json" mkdir -p "${TUE_ENV_WS_DIR}/.vscode" @@ -26,9 +29,9 @@ fi if [[ "${TUE_ENV_ROS_VERSION}" == "1" ]] then # Install and configure catkin tools extension - if ! catkin config --workspace "$TUE_ENV_WS_DIR" | grep -q "DCMAKE_EXPORT_COMPILE_COMMANDS" + if ! catkin config --workspace "${TUE_ENV_WS_DIR}" | grep -q "DCMAKE_EXPORT_COMPILE_COMMANDS" then - catkin config --workspace "$TUE_ENV_WS_DIR" --append-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + catkin config --workspace "${TUE_ENV_WS_DIR}" --append-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON fi fi From bc7da9a81e207653772df19feacc56ee4ba86f6f Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Mon, 29 Apr 2024 09:06:51 +0200 Subject: [PATCH 12/20] [amigo-user] more env var fixes --- amigo-user/setup | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/amigo-user/setup b/amigo-user/setup index 8d65d5692..aae3c7a47 100644 --- a/amigo-user/setup +++ b/amigo-user/setup @@ -1,6 +1,9 @@ #! /usr/bin/env bash -export ROBOT_BRINGUP_PATH=$TUE_SYSTEM_DIR/src/amigo_bringup +# TODO(anyone): remove when tue-env is updated to new variable names +[[ -v TUE_ENV_WS_DIR || ! -v TUE_WS_DIR ]] || TUE_ENV_WS_DIR=${TUE_WS_DIR} + +export ROBOT_BRINGUP_PATH=${TUE_ENV_WS_DIR}/src/amigo_bringup alias amigo-get-and-view-pdf-from-amigo1.local-home='mkdir -p ~/amigo1pdf && cd ~/amigo1pdf && scp amigo1.local:~/*.pdf . && evince *.pdf' alias amigo-core='_robot-core amigo1' @@ -78,7 +81,7 @@ alias amigo-show-ed-kinect='rosrun rgbd multitool --rgbd /amigo/ed/kinect/viz/up # #################### -alias amigo='export ROBOT_BRINGUP_PATH=$TUE_SYSTEM_DIR/src/amigo_bringup' +alias amigo='[[ -v TUE_ENV_WS_DIR || ! -v TUE_WS_DIR ]] || TUE_ENV_WS_DIR=${TUE_WS_DIR}; export ROBOT_BRINGUP_PATH=${TUE_ENV_WS_DIR}/src/amigo_bringup' alias amigo-continui='rosrun hmi_server continue_gui.py __ns:=amigo/hmi' alias amigo-continui-gpsr='rosrun hmi_server continue_gui.py $TUE_SYSTEM_DIR/src/challenge_gpsr/src/grammar_gui.fcfg __ns:=amigo/hmi' From 62b5cc5bcf9c63a4e25b8e7394c5084a460bd506 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Mon, 29 Apr 2024 09:07:43 +0200 Subject: [PATCH 13/20] [hero-demo-laptop] more env var fixes This is breaking for now, but also unused at the moment --- hero-demo-laptop/shortcuts/hero-rviz.desktop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hero-demo-laptop/shortcuts/hero-rviz.desktop b/hero-demo-laptop/shortcuts/hero-rviz.desktop index 2e45dfc8d..76ebb1819 100755 --- a/hero-demo-laptop/shortcuts/hero-rviz.desktop +++ b/hero-demo-laptop/shortcuts/hero-rviz.desktop @@ -1,6 +1,6 @@ [Desktop Entry] Type=Application -Exec=bash -c "shopt -s expand_aliases && source ~/.tue/setup.bash; cp -f $TUE_SYSTEM_DIR/src/hero_bringup/parameters/tools/rviz_config.rviz /tmp/rviz_config.rviz; hero-rviz; cp -f /tmp/rviz_config.rviz $TUE_SYSTEM_DIR/src/hero_bringup/parameters/tools/rviz_config.rviz" +Exec=bash -c "shopt -s expand_aliases && source ~/.tue/setup.bash; cp -f ${TUE_ENV_WS_DIR}/src/hero_bringup/parameters/tools/rviz_config.rviz /tmp/rviz_config.rviz; hero-rviz; cp -f /tmp/rviz_config.rviz ${TUE_ENV_WS_DIR}/src/hero_bringup/parameters/tools/rviz_config.rviz" Name=HERO-rviz GenericName=Open rviz with hero config X-KDE-StartupNotify=true From 695011b31d2b8dc3fee5be95d2f4fecf1cf8cc2f Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Mon, 29 Apr 2024 09:08:00 +0200 Subject: [PATCH 14/20] [hero-demo-user] more env var fixes --- hero-demo-user/setup | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/hero-demo-user/setup b/hero-demo-user/setup index 86f3b4697..9d9a7cc84 100644 --- a/hero-demo-user/setup +++ b/hero-demo-user/setup @@ -1,8 +1,11 @@ #! /usr/bin/env bash -export ROBOT_BRINGUP_PATH=$TUE_SYSTEM_DIR/src/hero_bringup +# TODO(anyone): remove when tue-env is updated to new variable names +[[ -v TUE_ENV_WS_DIR || ! -v TUE_WS_DIR ]] || TUE_ENV_WS_DIR=${TUE_WS_DIR} -alias hero='export ROBOT_BRINGUP_PATH=$TUE_SYSTEM_DIR/src/hero_bringup' +export ROBOT_BRINGUP_PATH=${TUE_ENV_WS_DIR}/src/hero_bringup + +alias hero='[[ -v TUE_ENV_WS_DIR || ! -v TUE_WS_DIR ]] || TUE_ENV_WS_DIR=${TUE_WS_DIR}; export ROBOT_BRINGUP_PATH=${TUE_ENV_WS_DIR}/src/hero_bringup' alias hero-core='_robot-core hero1' From 26c0d4d6d9ca6eb800d0fe710e967609ff5a8949 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Mon, 29 Apr 2024 09:08:20 +0200 Subject: [PATCH 15/20] [robot-demo-user] more env var fixes --- robot-demo-user/setup | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/robot-demo-user/setup b/robot-demo-user/setup index 93d4e76d3..d718c6540 100644 --- a/robot-demo-user/setup +++ b/robot-demo-user/setup @@ -29,7 +29,13 @@ GIT_PS1_DESCRIBE_STYLE="branch" GIT_PS1_SHOWUPSTREAM="auto git" function _ROS_MASTER_NAME { - [[ "${TUE_ROS_VERSION}" -ne 1 ]] && return + # TODO(anyone): remove when tue-env is updated to new variable names + if [[ ! -v TUE_ENV_ROS_VERSION && -v TUE_ROS_VERSION ]] + then + TUE_ENV_ROS_VERSION=${TUE_ROS_VERSION} + >&2 echo "Change the config of your environment to use 'TUE_ENV_ROS_VERSION' instead of 'TUE_ROS_VERSION'" + fi + [[ "${TUE_ENV_ROS_VERSION}" -ne 1 ]] && return # shellcheck disable=SC2001 ROS_MASTER=$(echo "$ROS_MASTER_URI" | sed 's#http://\(.*\):.*#\1#') if [ "$ROS_MASTER" == "localhost" ] || [ "$ROBOT_REAL" == "true" ]; then @@ -40,7 +46,13 @@ function _ROS_MASTER_NAME { } function _ROS2_DISCOVERY { - [[ "${TUE_ROS_VERSION}" -ne 2 ]] && return + # TODO(anyone): remove when tue-env is updated to new variable names + if [[ ! -v TUE_ENV_ROS_VERSION && -v TUE_ROS_VERSION ]] + then + TUE_ENV_ROS_VERSION=${TUE_ROS_VERSION} + >&2 echo "Change the config of your environment to use 'TUE_ENV_ROS_VERSION' instead of 'TUE_ROS_VERSION'" + fi + [[ "${TUE_ENV_ROS_VERSION}" -ne 2 ]] && return # shellcheck disable=SC2153 local ros_domain_id=${ROS_DOMAIN_ID} [[ -n "${ros_domain_id}" ]] || ros_domain_id=0 # default From 809779474fff0754bd0fe46c231d41c3732e26b6 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Mon, 29 Apr 2024 09:08:40 +0200 Subject: [PATCH 16/20] [sergio-user] more env var fixes --- sergio-user/setup | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sergio-user/setup b/sergio-user/setup index 8d12608f4..ce19e356e 100644 --- a/sergio-user/setup +++ b/sergio-user/setup @@ -1,6 +1,9 @@ #! /usr/bin/env bash -export ROBOT_BRINGUP_PATH=$TUE_SYSTEM_DIR/src/sergio_bringup +# TODO(anyone): remove when tue-env is updated to new variable names +[[ -v TUE_ENV_WS_DIR || ! -v TUE_WS_DIR ]] || TUE_ENV_WS_DIR=${TUE_WS_DIR} + +export ROBOT_BRINGUP_PATH=${TUE_ENV_WS_DIR}/src/sergio_bringup alias sergio-core='_robot-core sergio1' # ---------------------------------------------------------------------------- @@ -70,10 +73,10 @@ alias sergio-show-ed-kinect='rosrun rgbd multitool --rgbd /sergio/ed/kinect/viz/ # #################### -alias sergio='export ROBOT_BRINGUP_PATH=$TUE_SYSTEM_DIR/src/sergio_bringup' +alias sergio='[[ -v TUE_ENV_WS_DIR || ! -v TUE_WS_DIR ]] || TUE_ENV_WS_DIR=${TUE_WS_DIR}; export ROBOT_BRINGUP_PATH=${TUE_ENV_WS_DIR}/src/sergio_bringup' alias sergio-continui='rosrun hmi_server continue_gui.py __ns:=sergio/hmi' -alias sergio-continui-gpsr='rosrun hmi_server continue_gui.py $TUE_SYSTEM_DIR/src/challenge_gpsr/src/grammar_gui.fcfg __ns:=sergio/hmi' +alias sergio-continui-gpsr='[[ -v TUE_ENV_WS_DIR || ! -v TUE_WS_DIR ]] || TUE_ENV_WS_DIR=${TUE_WS_DIR}; rosrun hmi_server continue_gui.py ${TUE_ENV_WS_DIR}/src/challenge_gpsr/src/grammar_gui.fcfg __ns:=sergio/hmi' #################### # From ce4a1c751de71e8bb3f7fb57ba526955ff319a93 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Mon, 29 Apr 2024 09:10:38 +0200 Subject: [PATCH 17/20] [tue-documentation] more env var fixes --- tue-documentation/README.md | 2 +- tue-documentation/setup | 29 +++++++++++++++++++++-------- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/tue-documentation/README.md b/tue-documentation/README.md index 534b7e68b..40aa21ae9 100644 --- a/tue-documentation/README.md +++ b/tue-documentation/README.md @@ -13,7 +13,7 @@ To do this create a yaml file in the main folder of your package, for consistenc Check [Python](#Python) and [C++](#c) for the configuration of the `rosdoc` configuration. -The overview page is configured by the [catkin_tools_document_config.yaml](./catkin_tools_document_config.yaml) in this target. The image path is relative to the `$TUE_SYSTEM_DIR/build/docs`. It ends up here in this target. This is possible as the target location relative to the workspace is fixed. +The overview page is configured by the [catkin_tools_document_config.yaml](./catkin_tools_document_config.yaml) in this target. The image path is relative to the `${TUE_ENV_WS_DIR}/build/docs`. It ends up here in this target. This is possible as the target location relative to the workspace is fixed. ## Generation diff --git a/tue-documentation/setup b/tue-documentation/setup index b432c62f6..79459b81b 100644 --- a/tue-documentation/setup +++ b/tue-documentation/setup @@ -8,21 +8,31 @@ export CATKIN_TOOLS_DOCUMENT_CONFIG_FILE # Function to generate doucmentation of current workspace function tue-make-documentation { - if [ -n "$TUE_ROS_DISTRO" ] && [ -d "$TUE_SYSTEM_DIR" ] + # TODO(anyone): remove when tue-env is updated to new variable names + [[ -v TUE_ENV_WS_DIR || ! -v TUE_WS_DIR ]] || TUE_ENV_WS_DIR=${TUE_WS_DIR} + + # TODO(anyone): remove when tue-env is updated to new variable names + if [[ ! -v TUE_ENV_ROS_DISTRO && -v TUE_ROS_DISTRO ]] + then + TUE_ENV_ROS_DISTRO=${TUE_ROS_DISTRO} + >&2 echo "Change the config of your environment to use 'TUE_ENV_ROS_DISTRO' instead of 'TUE_ROS_DISTRO'" + fi + + if [[ -n "${TUE_ENV_ROS_DISTRO}" ]] && [[ -d "${TUE_ENV_WS_DIR}" ]] then local build_tool="" - if [ -f "$TUE_SYSTEM_DIR"/build/.built_by ] + if [[ -f "${TUE_ENV_WS_DIR}"/build/.built_by ]] then - build_tool=$(cat "$TUE_SYSTEM_DIR"/build/.built_by) + build_tool=$(cat "${TUE_ENV_WS_DIR}"/build/.built_by) fi case $build_tool in 'catkin build') - catkin document --workspace "$TUE_SYSTEM_DIR" "$@" + catkin document --workspace "${TUE_ENV_WS_DIR}" "$@" ;; '') - catkin config --init --mkdirs --workspace "$TUE_SYSTEM_DIR" --extend /opt/ros/"$TUE_ROS_DISTRO" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCATKIN_ENABLE_TESTING=OFF - catkin document --workspace "$TUE_SYSTEM_DIR" "$@" - touch "$TUE_SYSTEM_DIR"/devel/.catkin # hack to allow overlaying to this ws while being empty + catkin config --init --mkdirs --workspace "${TUE_ENV_WS_DIR}" --extend /opt/ros/"${TUE_ENV_ROS_DISTRO}" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCATKIN_ENABLE_TESTING=OFF + catkin document --workspace "${TUE_ENV_WS_DIR}" "$@" + touch "${TUE_ENV_WS_DIR}"/devel/.catkin # hack to allow overlaying to this ws while being empty ;; *) echo -e "\e$build_tool is not supported (anymore), use catkin tools\e[0m" @@ -36,6 +46,9 @@ export -f tue-make-documentation # Use complete function of tue-make complete -F _tue-make tue-make-documentation +# TODO(anyone): remove when tue-env is updated to new variable names +[[ -v TUE_ENV_WS_DIR || ! -v TUE_WS_DIR ]] || TUE_ENV_WS_DIR=${TUE_WS_DIR} + # Export docs path to open with desiserd browser -TUE_DOCS_PATH="$TUE_SYSTEM_DIR"/docs/index.html +TUE_DOCS_PATH="${TUE_ENV_WS_DIR}"/docs/index.html export TUE_DOCS_PATH From 81f970cf375757e2fa15113221c3cfd9603b36ad Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Mon, 29 Apr 2024 09:11:01 +0200 Subject: [PATCH 18/20] [tue_gazebo_plugins] more env var fixes --- tue_gazebo_plugins/setup | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tue_gazebo_plugins/setup b/tue_gazebo_plugins/setup index 1f24840c7..2e0d78425 100644 --- a/tue_gazebo_plugins/setup +++ b/tue_gazebo_plugins/setup @@ -1,7 +1,10 @@ #! /usr/bin/env bash -export GAZEBO_PLUGIN_PATH=~/ros/$TUE_ROS_DISTRO/system/devel/lib:$GAZEBO_PLUGIN_PATH +# TODO(anyone): remove when tue-env is updated to new variable names +[[ -v TUE_ENV_WS_DIR || ! -v TUE_WS_DIR ]] || TUE_ENV_WS_DIR=${TUE_WS_DIR} -export GAZEBO_MODEL_PATH=~/ros/$TUE_ROS_DISTRO/system/src/tue_gazebo_models/database:$GAZEBO_MODEL_PATH +export GAZEBO_PLUGIN_PATH=~/${TUE_ENV_WS_DIR}/devel/lib:${GAZEBO_PLUGIN_PATH} -export GAZEBO_RESOURCE_PATH=~/ros/$TUE_ROS_DISTRO/system/src/tue_gazebo_models/database:$GAZEBO_RESOURCE_PATH +export GAZEBO_MODEL_PATH=~/${TUE_ENV_WS_DIR}/src/tue_gazebo_models/database:${GAZEBO_MODEL_PATH} + +export GAZEBO_RESOURCE_PATH=~/${TUE_ENV_WS_DIR}/src/tue_gazebo_models/database:${GAZEBO_RESOURCE_PATH} From 9c578cd26e0f727d6d5d358273533f2c3043bdc0 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Mon, 29 Apr 2024 11:33:54 +0200 Subject: [PATCH 19/20] [ros1] more env var fixes --- ros1/install.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ros1/install.bash b/ros1/install.bash index 87783d6e3..b3865cb68 100644 --- a/ros1/install.bash +++ b/ros1/install.bash @@ -5,7 +5,7 @@ if [[ ! -v TUE_ENV_ROS_DISTRO && -v TUE_ROS_DISTRO ]] then TUE_ENV_ROS_DISTRO=${TUE_ROS_DISTRO} - >&2 echo "Change the config of your environment to use 'TUE_ENV_ROS_DISTRO' instead of 'TUE_ROS_DISTRO'" + tue-install-warning "Change the config of your environment to use 'TUE_ENV_ROS_DISTRO' instead of 'TUE_ROS_DISTRO'" fi if [[ -z "${TUE_ENV_ROS_DISTRO}" ]] then From 06c9b214f5c31f95d329496251dc2932651e1944 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Mon, 29 Apr 2024 11:34:15 +0200 Subject: [PATCH 20/20] [ros2] more env var fixes --- ros2/install.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ros2/install.bash b/ros2/install.bash index 3ec7d7afa..c8fc3c772 100644 --- a/ros2/install.bash +++ b/ros2/install.bash @@ -5,7 +5,7 @@ if [[ ! -v TUE_ENV_ROS_DISTRO && -v TUE_ROS_DISTRO ]] then TUE_ENV_ROS_DISTRO=${TUE_ROS_DISTRO} - >&2 echo "Change the config of your environment to use 'TUE_ENV_ROS_DISTRO' instead of 'TUE_ROS_DISTRO'" + tue-install-warning "Change the config of your environment to use 'TUE_ENV_ROS_DISTRO' instead of 'TUE_ROS_DISTRO'" fi if [[ -z "${TUE_ENV_ROS_DISTRO}" ]] then