Commit 5ba50a1
committed
fix(docs): mock rcl_interfaces to fix empty Node API page
rclpy.node uniquely imports rcl_interfaces.msg (for parameter message
types such as FloatingPointRange, ParameterDescriptor, etc.) which in
turn requires rosidl_pycommon.interface_base_classes — a package not
available in the Sphinx/rosdoc2 docs build environment.
Without this mock, autodoc silently fails to import rclpy.node and
renders an empty page showing only the 'Node' section heading. Every
other module (publisher, client, clock, etc.) avoids this because they
don't directly import rcl_interfaces.msg at module level.
The regression was introduced when BaseNode was extracted as an ABC
(#1637), which moved the rcl_interfaces imports into a module that
autodoc must import standalone (previously they were pulled in lazily
through rclpy's own initialization chain).
Fixes: #1681
Assisted-by: Gemini CLI:Claude Sonnet 4.6 (Thinking) [gh, read_url_content, grep_search, run_command]1 parent 8593246 commit 5ba50a1
1 file changed
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
202 | 202 | | |
203 | 203 | | |
204 | 204 | | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
0 commit comments