Closed seanyen closed 4 years ago
After some consideration and reviewing the behavior of the current functions provided by the extension create_hook_set_value()
is already providing the necessary behavior - but only for the dsv
extension. When passing an empty value (which are interpreted as relative paths) that already implies that the prefix path is being used. So I came up withe the following set of changes:
dsv
files are used.@seanyen Can you please try these proposed changes and comment if they work for your use case.
@seanyen Friendly ping.
@dirk-thomas Thanks for the reminder. I tried your rev and it works. I can see the path propagated to the environment:
ROS_DISTRO=noetic
ROS_ETC_DIR=f:\workspace\n_ws\install\/etc/ros
ROS_PACKAGE_PATH=f:\workspace\n_ws\install\share
ROS_PYTHON_VERSION=3
ROS_VERSION=1
There are some funny slash in the ROS_ETC_DIR
but colcon
does the job. And I think there are some path normalization work needs to be done in the ros_environment
side.
Thanks for testing the proposed patches. Closing in favor of #95.
This was manifesting when I tried to build ROS1 packages (I am using
colcon
to buildnoetic
distro JFYI). And in my case, whencolcon
buildsros_environment
, I sawcatkin_env_hook_workspace.bat
was generated in the install space and it has the following content:And subsequently,
CATKIN_ENV_HOOK_WORKSPACE
gets passed tocatkin
env-hook
, for example,1.ros_etc_dir.bat
, and the hook generated variable with wrong substitute:I think my solution may not be an elegant one, but I just wanted to surface where the issue comes from. Any feedback is welcome.