Tracking package dependencies in pre-release builds
TL;DR: How do I define dependencies between not-yet-released catkin packages in distribution.yaml
such that their dependencies are resolved during the automatic build that is triggered by new commits.
I added two catkin packages (from separate git repos) to the distribution.yaml
mainly for generating documentation and for automatic tests on the build farm. Let's call these packages L
(a driver library) and N
(a ROS node with L
as dependency). Both of these packages have not been released yet.
As I understand from these topics:
http://answers.ros.org/question/23843... http://answers.ros.org/question/19006...
the build farm cannot track the dependency on L
when building N
because L
has not been released yet. E.g. a pre-release build will fail with the script generated at http://prerelease.ros.org
if only package N
is selected. I can workaround this in local pre-release builds by selecting both packages (L
and N
) in the pre-release script generation.
I don't want to release L
yet because it is still in development and I would need to re-release it every time when I change its interface or behaviour. However, I want to use the continuous integration feature on the build farm, e.g. get notification on failed builds. Currently, the build fails each time I commit to N
because its dependency on L
cannot be resolved automatically.
The build of N
definitely succeeds if L
is checked out manually. Thus, how do I define the dependency between N
and L
such that L
gets checked out when N
is built?