RobotLocomotion / ros-drake-vendor

Maintainer scripts that package Drake in the ROS build farm
Other
1 stars 1 forks source link

Initial ROS drake package and repository information #6

Closed j-rivero closed 3 months ago

j-rivero commented 5 months ago

New ROS drake package based on just calling ament_vendor to download, build and install the version 1.24 of Drake.

In this initial phase the GUROBI, MOSEK and SNOPT components are disabled in the build using the CMake parameters. The ament_vendor uses a couple of patches to deal with issues related to clang version and to disable the assumption of platform having a libjchart2d-java package. Patches uses the Debian DEP-3 format to include metadata on the same file. Dependencies are based on the official Drake documentation and comments are in package.xml.

Together with the code there is Dockerfile that will build the code in a plain jammy image, resolving the dependencies installation using rosdep (this allow us to test the completeness/correctness of the dependencies in package.xml ) and call the CMake build interface using the same parameters used by the ROS buildfarm.

In draft (@jwnimmer-tri feel free to comment) until I can test the code in a real ROS buildfarm build and check that a Drake code example builds fine.


This change is Reviewable

jwnimmer-tri commented 5 months ago

FYI https://github.com/RobotLocomotion/drake/releases/tag/v1.25.0 was just tagged. We can drop the 0002 patch once we shift to that version.

j-rivero commented 3 months ago

I have updated the PR to use the drake name 0044fbd as discussed in #8 and do some other improvements:

With this I'm able to compile the drake_cmake_installed and drake_cmake_installed_aptand drake_ament_cmake_installed from RobotLocomotion/drake-external-examples without touching a single line (this is being done in the GitHub actions).

With this code I'm also able to create a testing ros-rolling-drake package in the ROS testing buildfarm Build Status that we can install and use to build the previous examples just fine. I'm starting to be moderately confident that it could be a good candidate for more wider testing.

j-rivero commented 3 months ago

@jwnimmer-tri excuse the change after the approval. I wanted to get the green CI before merging and changed the Rolling distro to Humble since Rolling seems to currently have some problems detecting the installation correctly. 6562fe9.

jwnimmer-tri commented 3 months ago

I'll just merge this now to get something committed onto the main branch. Future PRs can still improve things.