colcon / colcon-mixin

Extension for colcon to read CLI mixins from files
http://colcon.readthedocs.io
Apache License 2.0
2 stars 7 forks source link

Add installation instructions for colcon-mixin #38

Closed KeisukeShima closed 2 years ago

KeisukeShima commented 2 years ago

@cottsay Hi, Thank you for developing a great tool.

The documentation for colcon-mixin is extensive (See here and here). It is also preinstalled in official docker environment and setup-ros.

However, the official documentation of ROS2 and colcon does not contain much information on the installation procedure for users (link). Also, colcon-common-extensions, which is described as an installation procedure, does not include a mixin (link), so users have to install the colcon-mixin manually. In order to make the installation procedure clearer for users, I would like to suggest one of the following

  1. Create a PR to add the colcon-mixin to colcon-common-extensions.
  2. Create a PR that adds a colcon-mixin to the ros2_documentation installation instructions.

My personal opinion is that 1 is better because it simplifies the installation procedure, but I would like to hear the opinion of the maintainer.

cottsay commented 2 years ago

Hello @KeisukeShima.

The colcon-mixin extension provides some great functionality, and while it is useful for many, I'm not sure it qualifies as a "common" extension. As the number of available colcon extensions grows, it increases the need for us to draw the line on what is included in the colcon-common-extensions metapackage.

That said, I think we need to improve awareness about colcon extensions which aren't part of colcon-common-extensions - a problem that I don't think is specific to colcon-mixin.

Maybe we should have a small snippet in the installation instructions redirecting users to a landing page in the colcon documentation, or maybe we could develop an extension for colcon itself to help users discover extensions that they don't currently have installed. I'm open to ideas here.

KeisukeShima commented 2 years ago

@cottsay Thank you for your comment. I think both of the ideas you suggested are great!

Discovering extensions that are not installed is a very good approach. However, as more colcon extensions are added, the hassle for users to install them will increase. How about creating a new metapackage to avoid that?

I think that colcon extensions can be classified into three types as follows:

  1. Extension packages that currently exist in colcon-common-extensions
  2. Extension packages provided by the colcon organization
  3. Extension packages provided by other communities.

1 is an existing colcon-common-extension package. My idea is to create a metapackage with 2 as an colcon-extra-extension. Then add it to the installation documentation. This will allow users to use the various colcon features out-of-the-box. This is inspired by the ROS core and desktop package.

That said, I think we need to improve awareness about colcon extensions which aren't part of colcon-common-extensions - a problem that I don't think is specific to colcon-mixin.

Yes, I am aware that this is not limited to colcon-mixin. If there is a more appropriate place for discussion, I would like to move it there.