Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

urdfdom headers should be included in the urdfdom repository #80

Open
Smit-tay opened this issue Nov 11, 2024 · 6 comments
Open

urdfdom headers should be included in the urdfdom repository #80

Smit-tay opened this issue Nov 11, 2024 · 6 comments

Comments

@Smit-tay
Copy link

I understand the requirement for a separate Headers package.

BUT, I fail to understand why the headers are not a part of the urdfdom source. Surely this could be as simple as a submodule reference from the urdfdom to the headers. It really makes no sense to me that I should have to clone a completely seperate repository (headers) with a completely different versioning system.

BTW - how do I know which header is associated with which dom version ?

@clalancette
Copy link
Contributor

BUT, I fail to understand why the headers are not a part of the urdfdom source. Surely this could be as simple as a submodule reference from the urdfdom to the headers. It really makes no sense to me that I should have to clone a completely seperate repository (headers) with a completely different versioning system.

I'm not quite sure when the split between urdfdom and urdfdom_headers happened; that was before I started working on all of this. @scpeters may be able to provide context.

That said, I'm not a fan of using submodules here. In my experience, submodules usually cause more problems than they solve. My preferred solution would be to recombine urdfdom and urdfdom_headers into a single repository, but that may have other problems I'm not aware of.

@Smit-tay
Copy link
Author

I actually agree regarding the submodules, since this is really only about packaging (I think).

@scpeters
Copy link
Contributor

The headers were part of urdfdom until ros/urdfdom@6f4fbab, which was pushed just a few months before I joined OSRF. I think the rationale was to make it easier for folks to use the data structures in their own parser without needing to install the urdfdom parser dependencies? I'm not sure exactly.

@Smit-tay
Copy link
Author

I think It's pretty common to have a XXX-dev package, which I think normally supplies headers, and sometimes (hopefully) cmake and/or package kit files, and maybe other stuff. And separate package for the runtime stuff. But that's all handled by the packaging system (cpack or whatever is used). I'd expect it all to originate with the same source repo, not separate repos with divorced versioning.

But, the divorced versions is most confusing.

@scpeters
Copy link
Contributor

In SDFormat we have separate version numbers for the specification (currently SDFormat 1.12 in Gazebo Ionic) and the parser library (currently libsdformat15 in Gazebo Ionic), but they are so different that it's obvious that they shouldn't be the same. I can see how it's confusing.

It would be a big effort to merge urdfdom_headers back into this repository I think. Regarding the confusing relationship between these packages, does the diagram in the following link help? Should we link to that or include it directly in the README for these packages?

though the diagram is slightly out-of-date since it doesn't include sdformat_urdf

@Smit-tay
Copy link
Author

I think I see my confusion.
The name urdfdom is misleading.
It's really a urdfdomParser.

Like XML.
There is an XML specification, and an XML DOM. There are many XMLParssers which parse XML files into XMLDOM.

Is this correct ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants