Hydro uses this function from the catkin plugin:
generateMessageArtifact()
....
messageDependencies.each { d ->
if ( p.getParent().getChildProjects().containsKey(d) ) {
/* println(" Internal: " + d) */
p.dependencies.add("compile", p.dependencies.project(path: ':' + d))
} else {
/* println(" External: " + d) */
p.dependencies.add("compile", 'org.ros.rosjava_messages:' + d + ':[0.0,)')
}
}
Obviously, the open ended dependency is now bad as it will drag indigo released messages into the build.
Indigo doesn't have this problem as it generates exact version dependencies from one message package to another.