Ask Your Question
0

Automatically resolve source dependencies?

asked 2014-11-12 04:42:36 -0600

T045T gravatar image

We have a set of ros packages that depend on each other, but are all still in development, i.e. not released. This means the only way to get them is to check out their latest versions from git and build them in the local catkin workspace.

But then, one has to manually find the repository URLs for all dependencies and clone those too.

Actually, the same is true for system dependencies on a system where one does not have apt permissions (i.e. a lab computer).

Now, I'm aware I could set up a workspace with all the packages using wstool and then share that, but this is inconvenient for developers who only need an independent subset of packages.

What I'd instead like to do is resolve dependencies automatically, like rosdep does, but instead of using a package manager to globally install them, have their source checked out into a local catkin workspace.

This is what I imagine the workflow looking like:

$ mkdir -p catkin_workspace/src && cd catkin_workspace/src
$ catkin_init_workspace
$ git clone https://company_server.com/ourcoolpackage.git
$ cd ourcoolpackage
$ rospack deps | rosdep --download-source --target-folder=..
$ # recursive solving of dependencies would be great, too
$ cd ../..
$ catkin_make # everything magically works!

Adding a custom source to rosdep seems like a step in the right direction, but I can't find a way to have rosdep just download sources.

Is there already some tool that does this and that I overlooked?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2014-11-12 15:20:41 -0600

tfoote gravatar image

I think you're looking forrosinstall_generator which can do most of this. However it can only support publicly released packages or you need to create your own forked rosdistro file to add your private sources.

edit flag offensive delete link more

Comments

Thanks! Forking rosdistro looks like the way to go :) But it would be nice to have a way to "overlay" rosdistro, so we don't have to rebase our fork when the official rosdistro files are updated...

T045T gravatar imageT045T ( 2014-11-22 13:11:09 -0600 )edit

Also, if all of your dependencies are released then this answer may be useful for you: http://answers.ros.org/question/19476...

William gravatar imageWilliam ( 2014-11-23 20:05:39 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

4 followers

Stats

Asked: 2014-11-12 04:42:36 -0600

Seen: 1,020 times

Last updated: Nov 12 '14