How is the info in the package.xml of a metapackage used?
My guess is that one of the usage is to let buildfarm know which pkgs in the given metapkg to be built.
From here is just fyi of what makes me wonder about this.
I know 1 of the pkgs in my metapkg that I'm trying to release into hydro
doesn't build yet since one of the dependent pkgs is not yet available in the buildfarm. Actually bloom-release
ing doesn't proceed at its internal rosdep
call. In an attempt to tell the buildfarm not to build this single pkg "A-a" that depends on not-yet-available pkg, I commented out a run_depend
entry of "A-a" in package.xml
of the metapkg. But bloom
still doesn't let me push it [0].
Am I doing something wrong with package.xml
? What is the recommended usage of ROS tools (eg. bloom
, package.xml
etc) to release a metapkg that some of its components don't build?
I know I can make a temporary branch on my vcs
tool locally but particularly I want to know how the information in package.xml
in metapkg is used. Thanks!
[0] Upon bloom-release
ing a metapkg, I get:
Could not resolve rosdep key 'foo'
Resolve problem with rosdep and then continue to try again.
Continue [Y/n]? Y
Running 'rosdep update'...
Could not resolve rosdep key 'foo'
Resolve problem with rosdep and then continue to try again.
Continue [Y/n]? n
[1] the depended pkg is not available yet:
$ rosdep --rosdistro hydro resolve foo
ERROR: no rosdep rule for 'foo'
Btw, foo
here is tf2_ros
. I'm trying to generalize the issue.
A metapackage need not necessarily be contained within the same repo as the packages on which it depends. Your question seems to assume that they are all released together, which is often done.
@Dirk Thomas your comment sounds like an answer to my question.