-
Notifications
You must be signed in to change notification settings - Fork 172
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
Added dependency to python3-argcomplete to ros2cli #564
Conversation
Signed-off-by: Yoan Mollard <ymollard@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Other packages that need the dependency:
- ament_index_python
- ros2launch
- sros2
- ros2cli (dependency being added here)
- ros2run
I'm not sure if we need to all the dependency to all of them, as it's an optional dependency.
Most of the packages in the above list depend on ros2cli, so they will get the dependency transitively (except ament_ind
8000
ex_python
).
@clalancette thoughts?
Note: we will probably need to modify the CI scripts before trying this, to make sure the pip
installed version of argcomplete is not available.
ros2cli/package.xml
Outdated
@@ -13,6 +13,7 @@ | |||
<exec_depend>python3-netifaces</exec_depend> | |||
<exec_depend>python3-packaging</exec_depend> | |||
<exec_depend>python3-pkg-resources</exec_depend> | |||
<exec_depend>python3-argcomplete</exec_depend> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: alpha order
Signed-off-by: Yoan Mollard <ymollard@users.noreply.github.com>
I'm usually in favor of 'include-what-you-use'; you never know if a downstream transitive dependency gets changed or removed. That means for this particular PR, I would add an |
Why should packages which only contribute extension points to
|
Sure, but generally anything that does an And while it is conditional (I think in all cases?), I think that most users want it installed by default. So it makes sense to optimize for those users. Is there a way to declare a dependency as "Recommends" in the Debian packages? That way it will get installed by default, but users who don't want it can uninstall it by hand. |
Totally agreeing to this case. It is a separate executable and its own environment hook 👍
I disagree on that because they (e.g. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Regardless of the other conversation going on here, I think we can go ahead with this change, so I'll approve. @dirk-thomas Do you agree?
@ros-pull-request-builder retest this please |
Following ros2/ros2_documentation#841 (comment) here's a proposal so that all ros2cli commands no longer require a manual install of python3-argcomplete
TODO: to be updated in https://github.com/ros2/ros2_documentation also