Open vrabaud opened 8 years ago
Yes they are non-standard. Doc jobs don't perform real builds but replace the package CMake file with a simplified template which only tries to generate messages. So all your custom CMake logic is not being used.
This is a duplicate of ros-infrastructure/jenkins_scripts#58. During the development of this new build farm it was decided to not update the doc jobs to perform real builds (to save development time).
In any case it would need to support both cases since for some repos their dependencies are not released and therefore the repo can't be built completely.
ok, so to summarize: it only parses Python files and headers, and generates message docs right ?
So generated code (except for messages and I guess dynamic reconfigure and such) is lost ? Anything else we should be aware of ?
That is a good summary. No custom logic is being executed - so anything custom being done in package CMake code is not happening.
FYI, same for tf2: http://build.ros.org/job/Idoc__geometry2__ubuntu_trusty_amd64/15/consoleFull#console-section-29 I fixed the cv_bridge doc jobs that way: https://github.com/ros-perception/vision_opencv/blob/kinetic/cv_bridge/python/cv_bridge/__init__.py#L5
python_orocos_kdl is also affected by this issue: http://build.ros.org/view/Kdoc/job/Kdoc__orocos_kinematics_dynamics__ubuntu_xenial_amd64/1/consoleFull#console-section-25
The package invokes SIP in its CMakeLists.txt to generate the PyKDL
module. Is there anything we can do to fix the documentation built at http://docs.ros.org/kinetic/api/python_orocos_kdl/html/doc/?
@meyerj sadly there is nothing for a specific job you can do. This requires the implementation of a different logic for doc jobs. Since not for all jobs all dependencies are available as Debian packages you can not always build the code. But in the cases they are there should be an option to build the original CMake code.
At best someone could contribute that. I am not sure if I can get the time approved to work on it myself but I will try to bring it up in an upcoming meeting.
Thanks, @dirk-thomas! The documentation that would be generated from the SIP module is actually quite limited and basically a list of available classes and functions. So the priority of this is quite low, at least for PyKDL.
The cv_bridge job generates warnings: http://build.ros.org/job/Jdoc__vision_opencv__ubuntu_trusty_amd64/20/consoleFull#console-section-30 because the cv_bridge doc build does not build a Boost Python module (cv_bridge_boost.so). Now, the CMake logic for it is hairy and that's probably why it is failing: https://github.com/ros-perception/vision_opencv/blob/indigo/cv_bridge/src/CMakeLists.txt#L43 On the other hand, the doc build does not even install headers (like rgb_colors.h) which are not protected by that ANDROID logic: https://github.com/ros-perception/vision_opencv/blob/kinetic/cv_bridge/CMakeLists.txt#L34
A normal bin build is located here: http://build.ros.org/view/Jbin_uT64/job/Jbin_uT64__cv_bridge__ubuntu_trusty_amd64__binary/5/consoleFull
Are the doc builds non-standard ?