Closed jbohren closed 11 years ago
I have no idea why that ended up happening. I tried to recreate the problem running rosdoc_lite locally, could not, and then re-ran the doc job on jenkins. And, of course, whallah: http://ros.org/wiki/spacenav_node?distro=groovy.
So, yeah, it's fixed, but a cause would be good...
OK, I actually think I have one. Since packages are built and documented in dependency order, the "joystick_drivers" metapackage will only be documented after all of its dependencies. This includes "spacenav_node." So, the first time documentation ever runs on the repository, it's possible that there is no information available on what metpackages "spacenav_node" belongs to because "joystick_drivers" has never been documented.
This would normally be resolved the next time that documentation generation is run on the repository. However, I put in some checks to only run documentation generation when there have been changes to a repository. Since nothing actually changes in code, the repo won't have documentation generation run on it again, and the metapackage issue won't be resolved.
There are two options to fix this:
1) Run documentation generation all the time on everything. This sort of sucks in that we're wasting a lot of cycles documenting things that haven't changed.
2) Track changes that affect a given repository across the entire documentation system. This sucks in that it requires a lot of infrastructure to do things like recognize when a package becomes part of a new metapackage and resolve that event to a repository needing to be documented.
I don't really like either option at the moment, might think a bit more on it.
Could you say that if rosdoc is run on a package with a <metapackage/>
tag in its package.xml to then run on all of it's first-level package deps?
Seems to be no longer the case. Likely that is has been fixed implicitly since than.
Despite joystick_drivers showing it's contained packages, when you click through to any of the member packages, like spacenav_node, it no longer shows the metapackage "joystick_drivers" nor the other peers in the metapackage.