-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[question] colcon build handling of directories containing CATKIN_IGNORE files #137
Comments
You should be able to use colcon to build catkin packages just fine, meaning you could migrate from
I'm not sure what you're describing here, but it shouldn't be necessary. Could you please elaborate? |
Yeah, but the larger point I'm making is that changing the build system across potentially hundreds of packages all at once isn't something that should be necessary before even starting the real migration process. I should be able to do that piecemeal as I'm migrating specific packages and evaluating whether ROS2 adoption makes sense in the long run. Requiring a full build system migration first is a huge turn-off. There is an outstanding PR to fix this, but seems to have been completely ignored by the maintainers. So I can't help but wonder why the resistance and flawed group-think around something simple enough to address? The most sensible work-around that I can see for the time being, is to have two "src" directories to maintain ROS1 and ROS2 separation. Getting back to the original question, why not simply allow for a distinction between CATKIN_IGNORE and COLCON_IGNORE directives? This would be the obvious behavior to adopt that would actually follow the principle of least surprise. |
The
colcon build
command will skip directories containing a COLCON_IGNORE file, which is the expected (and desired) behavior. Thecolcon build
command however also skips directories containing a CATKIN_IGNORE file, which is not necessarily the expected behavior.My question is whether
colcon build
should really treat COLCON_IGNORE and CATKIN_IGNORE equivalently and if this is viewed as the desired behavior for colcon.This lack of a distinction between COLCON_IGNORE and CATKIN_IGNORE seems to impose some unnecessary limitations when laying out a migration path from a ROS1 codebase to ROS2. It doesn't allow for phasing out
catkin_make
in a codebase having both ROS1 and ROS2 packages. Instead, it seems to assume the adoption of colcon for building all ROS package types (1 & 2) which would require updating all ROS1 CMakeLists.txt with the updated install-space from the get-go -- or otherwise forces a need to maintain migrated ROS2 components in a separate top-level folder that has its own ./src directory.Is this lack of a distinction between COLCON_IGNORE and CATKIN_IGNORE really the intended and desired behavior for
colcon build
?The text was updated successfully, but these errors were encountered: