Package Manifest 2 - <depend> attribute version does not work
I am currently looking into versioning my catkin packages and making sure that I am using the correct versions. I am using Package Manifest Version 2 and according to REP-140, I should be able to specify the versions of my dependencies.
E.g. I have a package A (version 1.1) and a package B that depends on package A. I now would like to make sure, that version 1.1 of package A is used when building package B. My package.xml's will contain the following (for the sake of simplicity, I only include the relevant parts):
package A package.xml
<?xml version="1.0"?>
<package format='2'>
<name>A</name>
<version>1.1.0</version>
...
</package>
package B package.xml
<?xml version="1.0"?>
<package format='2'>
<name>B</name>
<version>1.0.0</version>
<depend version_eq="1.1.0">A</depend>
...
</package>
So far so good, everything compiles fine. However, if I change that depend tag in package B package.xml above, e.g. to
<depend version_eq="2.0.0">A</depend>
..it still compiles fine! Meaning that it just does not care about the version attribute.
What am I doing wrong?
Edit: I just noticed that a warning is printed:
catkin_package() version mismatch: the package.xml of 'B' build_depends on 'A = 1.0.0', but 'A 0.9.0' found
Is this the expected behaviour or should the build fail?
Btw: the
depend
tag works just fine, it just doesn't do what you are expecting it to do. But that is something else :)