-
Notifications
You must be signed in to change notification settings - Fork 137
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
[REP-2013] ROS 2 Rust Client Library Integration #363
base: master
Are you sure you want to change the base?
Conversation
This pull request has been mentioned on ROS Discourse. There might be relevant details there: |
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.
Some thoughts based on an initial reading of the REP.
|
||
colcon is the recommended build tool for ROS 2. | ||
It is highly extensible and support for nearly all package build types is provided by extensions rather than built into colcon core. | ||
Support for most build types is also separated into base support and ros-specific support so that colcon can be used with that build type with or without ROS. |
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.
Support for most build types is also separated into base support and ros-specific support so that colcon can be used with that build type with or without ROS. | |
Support for most build types is also separated into base support and ROS-specific support so that colcon can be used with that build type with or without ROS. |
Should ROS be capitalized?
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.
Yeah this was probably just me writing fast and not editing.
|
||
* C and C++ with CMake | ||
* python and PyPI | ||
* C and C++ with Meson |
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.
Maybe put this next to the other C++ entry?
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.
I had ordered these based on their activity / proximity to core but that bears making explicit if I keep this line in the Rust-specific rewrite.
|
||
Integration and Infrastructure | ||
============================== | ||
|
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.
I think it would be useful here to have a summary saying what are all the parts at a high level and how do they relate to the full process of integrating a language?
|
||
bloom | ||
^^^^^ | ||
|
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.
It would be nice to add a leading line that says what bloom is and maybe to have a link to it.
Hopefully this will focus the rep and make it easier to review and at the same time provide a template for projects like rclada.
This is a mostly a description of the status quo but I am pushing to get most direct system build dependencies described via rosdep.
This REP should focus on Rust integration. Documentation providing explanatory material for infrastructure should not be inlined but referenced here.
Coming out of a recent thread on ROS Discourse I've started collecting information.
I'm looking to bikeshed a little on the REP title as I am not sure that client libraries is quite comprehensive.
I started with that because that was the subject of the discourse post which prompted the REP but I think that we're going to get into covering:
So whoever can help me condense that down will be doing me a favor. So far my favorite is "ROS 2 Programming Language Ecosystem Support".
(1) I think there are caveats here which make this not strictly required or even recommended but I also don't see an easy development path which doesn't include it.
I think there are several things that are going to start in this REP draft and then hopefully be removed to project-specific documentation for elaboration such as how to add build types to colcon and bloom, or how to add language-specific package managers to rosdep.
Since I'm going to link this publicly shortly after opening let me just say that this is an incredibly preliminary draft and is thus
With that in mind, I'm primarily seeking feedback from the ROS 2 core team about what else ought to be laid out in this document while I complete the draft.
Once I feel like there is something legible here I think it will be easier for client library contributors and ROS community members to review and I'll drop the draft status of this PR and update posts requesting more feedback.