Skip to content
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

Add guide on creating package docs #4196

Merged
merged 7 commits into from
Mar 19, 2024
Merged

Conversation

ottojo
Copy link
Contributor

@ottojo ottojo commented Feb 29, 2024

This adds a guide to (creating) package documentation for ros 2 packages.
It's cobbled together from my own blog, the ros2 cookbook of @mikeferguson and the rosdoc2 readme (and source code).

Suggestions and contributions are very welcome.

The idea is to gather on this page all the required information to produce a docs page containing api docs for any supported language and written documentation in a way that is supported by the ros buildfarm for hosting on https://docs.ros.org/<language>/<distro>/p/<package>/

@mikeferguson
Copy link
Contributor

Just a note that we have a (very recently added) guide on migrating stuff from ros wiki - might be some overlap or relevant cross references: 8fbb74d

Copy link
Collaborator

@kscottz kscottz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙌🏻 THANK YOU SO MUCH.

This is fantastic. I did a quick read through and fixed a couple nitpicky things. I also added some clarifications where I thought it would help. Please feel free to be less formal in your descriptions. I think our documentation works better when it is more informal.

I am a bit busy this next week but I would love to help out more with this when I can. Perhaps once you wrap up the last two sections and I can do a final read through while attempting to apply this guide to an existing ROS 2 package that could use some improvement.

source/How-To-Guides/Documenting-a-ROS-2-Package.rst Outdated Show resolved Hide resolved
source/How-To-Guides/Documenting-a-ROS-2-Package.rst Outdated Show resolved Hide resolved
source/How-To-Guides/Documenting-a-ROS-2-Package.rst Outdated Show resolved Hide resolved
source/How-To-Guides/Documenting-a-ROS-2-Package.rst Outdated Show resolved Hide resolved
source/How-To-Guides/Documenting-a-ROS-2-Package.rst Outdated Show resolved Hide resolved
source/How-To-Guides/Documenting-a-ROS-2-Package.rst Outdated Show resolved Hide resolved
source/How-To-Guides/Documenting-a-ROS-2-Package.rst Outdated Show resolved Hide resolved
source/How-To-Guides/Documenting-a-ROS-2-Package.rst Outdated Show resolved Hide resolved
source/How-To-Guides/Documenting-a-ROS-2-Package.rst Outdated Show resolved Hide resolved
source/How-To-Guides/Documenting-a-ROS-2-Package.rst Outdated Show resolved Hide resolved
@ottojo
Copy link
Contributor Author

ottojo commented Mar 8, 2024

Thanks for the review and suggestions! I think it's now in a somewhat consistent state, so i will un-draft the PR. I removed the python-bindings part, since i dont have any experience with that (yet), but i think that would be a good future addition.

edit: documenting python packages which are implemented in c++ may require more work altogether, see ros-infrastructure/rosdoc2#58 for instance

@ottojo ottojo marked this pull request as ready for review March 8, 2024 23:54
@ottojo ottojo changed the title WIP: Guide on creating package docs Add guide on creating package docs Mar 8, 2024
@ottojo ottojo requested a review from kscottz March 18, 2024 12:10
Copy link
Collaborator

@kscottz kscottz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ottojo this is fantastic and I can't thank you enough! I am a bit busy this week so I can't do a complete test run of the guide, but I did read through it, and suggest a few minor clarity / grammatical changes, otherwise it looks good to me. I want to @clalancette to get a quick read through before final merge.

Once this gets merged I would appreciate it if you made a post about this guide on ROS Discourse. I think a lot of package maintainers are really going to appreciate the work you put into this.


The buildfarm hosts the documentation for every distribution separately, and periodically rebuilds it from the latest commit on the specified branch.
It is not required to tag a new release to update the hosted documentation.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@clalancette where do package API documentation builds show up on the build farm? Are they part of the package's build or a distinct entity? We should probably point out where package maintainers can check their documentation builds.

@ottojo We should probably have a line that is something like, "To view the status of your package's documentation build, please check ."

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a note on where to find the doc jobs on build.ros2.org 👍

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Beautiful. Thanks so much.

Copy link
Collaborator

@kscottz kscottz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me.

@clalancette @fujitatomoya can I get a second opinion on this before the end of the week? I'll be talking to a fair number of maintainers at ROS-I next week and I think this warrants a call out. This is extremely useful information and certainly better than the current state of affairs.

Copy link
Contributor

@clalancette clalancette left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In short; this is fantastic. I've left a number of minor fixes and cleanups, but once those are fixed I'll be happy with this.

source/How-To-Guides/Documenting-a-ROS-2-Package.rst Outdated Show resolved Hide resolved
source/How-To-Guides/Documenting-a-ROS-2-Package.rst Outdated Show resolved Hide resolved
source/How-To-Guides/Documenting-a-ROS-2-Package.rst Outdated Show resolved Hide resolved
source/How-To-Guides/Documenting-a-ROS-2-Package.rst Outdated Show resolved Hide resolved
source/How-To-Guides/Documenting-a-ROS-2-Package.rst Outdated Show resolved Hide resolved
source/How-To-Guides/Documenting-a-ROS-2-Package.rst Outdated Show resolved Hide resolved
ottojo and others added 2 commits March 19, 2024 21:28
Co-authored-by: Chris Lalancette <[email protected]>
Signed-off-by: Jonas Otto <[email protected]>
Co-authored-by: Chris Lalancette <[email protected]>
Signed-off-by: Jonas Otto <[email protected]>
Copy link
Contributor

@clalancette clalancette left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I just found one more typo. With that fixed, I'll approve and merge it in.

source/How-To-Guides/Documenting-a-ROS-2-Package.rst Outdated Show resolved Hide resolved
@clalancette clalancette added the backport-all backport at reviewers discretion; from rolling to all versions label Mar 19, 2024
Co-authored-by: Chris Lalancette <[email protected]>
Signed-off-by: Jonas Otto <[email protected]>
Copy link
Contributor

@clalancette clalancette left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is fantastic, thank you!

@clalancette clalancette merged commit 84dd416 into ros2:rolling Mar 19, 2024
4 checks passed
mergify bot pushed a commit that referenced this pull request Mar 19, 2024
* Add guide on creating package API docs

Signed-off-by: Jonas Otto <[email protected]>
Co-authored-by: Chris Lalancette <[email protected]>
(cherry picked from commit 84dd416)
mergify bot pushed a commit that referenced this pull request Mar 19, 2024
* Add guide on creating package API docs

Signed-off-by: Jonas Otto <[email protected]>
Co-authored-by: Chris Lalancette <[email protected]>
(cherry picked from commit 84dd416)
@ottojo ottojo deleted the package-doc-guide branch March 19, 2024 21:04
clalancette pushed a commit that referenced this pull request Mar 19, 2024
* Add guide on creating package API docs

Signed-off-by: Jonas Otto <[email protected]>
Co-authored-by: Chris Lalancette <[email protected]>
(cherry picked from commit 84dd416)

Co-authored-by: Jonas Otto <[email protected]>
clalancette pushed a commit that referenced this pull request Mar 19, 2024
* Add guide on creating package API docs

Signed-off-by: Jonas Otto <[email protected]>
Co-authored-by: Chris Lalancette <[email protected]>
(cherry picked from commit 84dd416)

Co-authored-by: Jonas Otto <[email protected]>
@kscottz
Copy link
Collaborator

kscottz commented Mar 19, 2024

@ottojo you are the project's hero of the week. Thank you so much!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-all backport at reviewers discretion; from rolling to all versions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants