ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

While it technically works to build build both wet and dry packages from a single folder there are issues related to that.

catkin_make will only consider folders containing a package.xml file. rosmake will only consider folders containing a manifest.xml file (after adding src to the ROS_PACKAGE_PATH). So building should not be an issue.

But on the one hand it can be difficult to keep track what is actually being build since it is not obvious anymore what kind of package a subfolder represents. And second after adding the src folder to the ROS_PACKAGE_PATH the wet packages are found twice - once from the underlayed wet workspace created by catkin_make (which adds the devel folder to the ROS_PACKAGE_PATH) and again from the src folder when manually adding it to build dry packages.

Therefore I would not recommend doing this - please see my other answer on an alternative.

While it technically works to build build both wet and dry packages from a single folder there are issues related to that.

catkin_make will only consider folders containing a package.xml file. rosmake will only consider folders containing a manifest.xml file (after adding src to the ROS_PACKAGE_PATH). So building should not be an issue.

But on the one hand it can be difficult to keep track what is actually being build since it is not obvious anymore what kind of package a subfolder represents. And second after adding the src folder to the ROS_PACKAGE_PATH the wet packages are found twice - once from the underlayed wet workspace created by catkin_make (which adds the devel folder to the ROS_PACKAGE_PATH) and again from the src folder when manually adding it to build dry packages.

Therefore I would not recommend doing this.

And alternative way how to deal with this - please see my could be:

  • you check out all repos to one location, e.g. "repos"
  • you create a catkin workspace and add symlinks one by one to repos or packages under "repos" as soon as you migrate them
  • you create a rosbuild workspace and symlink all repos/packages "under" as long as thy are not migrated yes This approach allows you to still manage your repos with one tool but maintain a clean separation of your wet and dry workspaces.

Another way (if e.g. multiple people should share the same setup) would be to modify the rosinstall file in a way that all wet and dry repos are checked out to a different subfolder. That way you can easily share the rosinstall file with other answer on an alternative.

people and they will immediately get the same splitting. (May be https://github.com/dirk-thomas/vcstool/ can be helpful to manage your repositories.)

While it It technically works to build build both wet and dry packages from a single folder there are issues related to that.

catkin_make will only consider folders containing a package.xml file. rosmake will only consider folders containing a manifest.xml file (after adding src to the ROS_PACKAGE_PATH). So building should not be an issue.

But on the one hand folder. The main drawback is that it can be gets more difficult to keep track what is actually being build since it is not obvious anymore what kind of package a subfolder represents. And second after represents.

catkin_make will only consider folders containing a package.xml file. rosmake will only consider folders containing a manifest.xml file (after adding the src folder to the ROS_PACKAGE_PATH the wet packages are found twice - once from the underlayed wet workspace created by catkin_make (which adds the devel folder to the ROS_PACKAGE_PATH) and again from the src folder when manually adding it to build dry packages.

Therefore I would not recommend doing this.to the ROS_PACKAGE_PATH).

And alternative way how to deal with this could be:

  • you check out all repos to one location, e.g. "repos"
  • you create a catkin workspace and add symlinks one by one to repos or packages under "repos" as soon as you migrate them
  • you create a rosbuild workspace and symlink all repos/packages "under" as long as thy are not migrated yes This approach allows you to still manage your repos with one tool but maintain a clean separation of your wet and dry workspaces.

Another way (if e.g. multiple people should share the same setup) would be to modify the rosinstall file in a way that all wet and dry repos are checked out to a different subfolder. That way you can easily share the rosinstall file with other people and they will immediately get the same splitting. (May be https://github.com/dirk-thomas/vcstool/ can be helpful to manage your repositories.)