ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

First Release of Packages with cross dependencies

asked 2016-06-29 10:58:29 -0500

mdhorn gravatar image

I have two packages to be released for ROS for the first time; A and B. Package B has a dependency on Package A. B <-- A

My current assumption is I need to bloom-release Package A first, and wait for it to be released publicly before I can submit the bloom-release for Package B since it has a dependency on Package A.

Does the ROS Build Farm only use the public 'rosdistro/rosdep' database for checking dependencies? Or is the ROS Build Farm immediately aware of newly packages as possible dependencies once built?

Is there an existing process for releasing two independent packages simultaneously which have interdependencies? If not, is there any estimation of the release pipeline?

edit retag flag offensive close merge delete


If the two packages are in the same repository (ie: are released at the same time), then afaik you don't need to do anything special. Bloom should be able to resolve the dependency and release A and B in one go. This is all local, the buildfarm is not yet involved at that point.

gvdhoorn gravatar image gvdhoorn  ( 2016-06-29 13:16:16 -0500 )edit

Each package is in an independent repository unfortunately.

mdhorn gravatar image mdhorn  ( 2016-06-29 15:14:59 -0500 )edit

Then I believe that what you described (release A, wait, then release B) is the only option left. Maybe @William can comment on this? Note that afaik, the farm uses the shadow repository, so you wouldn't need to wait on the sync.

gvdhoorn gravatar image gvdhoorn  ( 2016-06-30 03:35:42 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2016-06-30 15:18:10 -0500

William gravatar image

If they're in the same repository then bloom can release them at the same time. If they are in different repositories then you need to wait until the release pull request of the first package is merged before releasing the second one. You don't have to wait for the build farm to build the package successfully or anything, just that the pr is merged. After the pr is merged it will be available via rosdep (which is actually via python-rosdistro) almost instantly.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2016-06-29 10:58:29 -0500

Seen: 178 times

Last updated: Jun 30 '16