Normalize dependency key names.#1
Conversation
TinyXML is provided by the rosdep key tinyxml and urdfdom-headers should just be urdfdom_headers.
urdf/package.xml
Outdated
| <exec_depend>urdfdom</exec_depend> | ||
| <exec_depend>urdfdom-headers</exec_depend> | ||
| <exec_depend>TinyXML</exec_depend> | ||
| <exec_depend>urdfdom_headers</exec_depend> |
There was a problem hiding this comment.
not sure what we want to do here, usually we use upstream debian package, the rosdep key for it is liburdfdom-headers-dev. I think we can use urdfdom_headers for now but keep in mind that this should be packaged and be a thirdparty dependency that we install rather than a ros2 package by itself.
Also I'm not sure if we need to depend on both tinyxml and tinyxml_vendor now that we have a chocolatey package for it. But @nuclearsandwich knows much more about this so I'll leave it to you
wjwwood
left a comment
There was a problem hiding this comment.
lgtm other than the urdfdom_header comment (for which perhaps nothing should be done)
urdf/package.xml
Outdated
| <exec_depend>urdfdom</exec_depend> | ||
| <exec_depend>urdfdom-headers</exec_depend> | ||
| <exec_depend>TinyXML</exec_depend> | ||
| <exec_depend>urdfdom_headers</exec_depend> |
There was a problem hiding this comment.
I'm not sure about this one. What's the situation, urdfdom-header points to an upstream deb via rosdep which we cannot use in ROS 2? So this change allows us to use a fork of urdfdom_headers?
If that is the case. I guess that's the right thing to do, but it's an unfortunately subtle change, which I hope we remember to change back at some point.
I guess my unease could be put to rest if we have a comment on it, saying it needs to be resolved at some point.
Here's some related stuff:
There was a problem hiding this comment.
We recently updated the REP to allow ROS packages to have names like urdfdom-headers. That makes it unnecessary to change the rosdep keys in downstream packages to e.g. urdfdom_headers. We should make use of that and not require these changes to change.
There was a problem hiding this comment.
The same rational should also apply to TinyXML.
There was a problem hiding this comment.
The same rationale should also apply to TinyXML
Can you elaborate on this. I see no reason to create a rosdistro specific "TinyXML" package when the rosdep key named tinyxml exists and is suitable.
There was a problem hiding this comment.
Looks like the tinyxml dependency has been introduced when porting because it was before provided by another package that has been striped. I think that tinyxml is fine as it and that using TinyXML was an oversight by using the "cmake package name" rather than the rosdep key
When I last asked about removing the vendor packages the response from @wjwwood was
The vendor packages were low effort to produce and are in now, so I'm inclined to just leave them be for beta2. Handling the use of either system or vendor packages is a case we should examine when we discuss build/dependency groups after beta2. |
Upstream urdfdom-headers on Xenial is version 0.4.1 whereas the ros2 fork is based on 1.0.0 with one header change. Which means that even if we land ros/urdfdom_headers#34 for this release we still can't use the upstream xenial package. ros/urdfdom_headers@0.4...ros2:ros2 Because of the restrictions on ament package names. I can't directly shadow urdfdom-headers with a rosdistro package of urdfdom-headers. I'm open to suggestions about how to resolve this. It was not an issue with my vendored |
Oh, this is news to me. I'll just change my urdfdom-headers package name then. |
Per the discussion here: ros2/robot_model#1 This allows us to directly shadow the rosdep key for upstream urdfdom-headers.
|
A fun added cost of renaming the package. Other ros2 packages depend on the underscored name. I'll be going through and normalizing those to use the dashed name instead. |
We're shadowing this key for r2b2 since upstream is out of date but we should use the rosdep key so we can eventually target upstream. ros2/robot_model#1
We're shadowing this key for r2b2 since upstream is out of date but we should use the rosdep key so we can eventually target upstream. ros2/robot_model#1
We're shadowing this key for r2b2 since upstream is out of date but we should use the rosdep key so we can eventually target upstream. ros2/robot_model#1
|
Would love a second round of review on this and the three other PRs settling on the dependency key |
|
still looks good to me along with referenced PRs. As long as the decision has been to create a package shadowing the rosdep key (I didnt follow the entire urdfdom discussion so I can't give an explicit greenlight) |
We're shadowing this key for r2b2 since upstream is out of date but we should use the rosdep key so we can eventually target upstream. ros2/robot_model#1
We're shadowing this key for r2b2 since upstream is out of date but we should use the rosdep key so we can eventually target upstream. ros2/robot_model#1
We're shadowing this key for r2b2 since upstream is out of date but we should use the rosdep key so we can eventually target upstream. ros2/robot_model#1
We're shadowing this key for r2b2 since upstream is out of date but we should use the rosdep key so we can eventually target upstream. ros2/robot_model#1 This is the second attempt to do so after the first failed due to the urdfdom_headers package not being renamed for source builds. That is being resolved by placing a package.xml with the updated name in the source tree rather than in a release patch.
We're shadowing this key for r2b2 since upstream is out of date but we should use the rosdep key so we can eventually target upstream. #1 This is the second attempt to do so after the first failed due to the urdfdom_headers package not being renamed for source builds. That is being resolved by placing a package.xml with the updated name in the source tree rather than in a release patch.
We're shadowing this key for r2b2 since upstream is out of date but we should use the rosdep key so we can eventually target upstream. ros2/robot_model#1 This is the second attempt to do so after the first failed due to the urdfdom_headers package not being renamed for source builds. That is being resolved by placing a package.xml with the updated name in the source tree rather than in a release patch.
We're shadowing this key for r2b2 since upstream is out of date but we should use the rosdep key so we can eventually target upstream. #1 This is the second attempt to do so after the first failed due to the urdfdom_headers package not being renamed for source builds. That is being resolved by placing a package.xml with the updated name in the source tree rather than in a release patch.
TinyXML is provided by the rosdep key tinyxml and urdfdom-headers should
just be urdfdom_headers.