-
Notifications
You must be signed in to change notification settings - Fork 48
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
Add XPath information when a parse error is encountered, rebased on indigo-devel #14
Add XPath information when a parse error is encountered, rebased on indigo-devel #14
Conversation
Hi @eacousineau, sorry for the delay. So, I looked over this code a bit. I like the final output of it, and the code itself seems pretty clean. However, I'm worried about changing the API of some of the methods to either take the path or other arguments in. In particular, since this is Python, I'm worried that downstream projects may be using some of those methods, and the change to the function signature will affect them. Indeed, if I check out srdfdom (https://github.com/ros-planning/srdfdom) and calibration (https://github.com/ros-perception/calibration) into my workspace, and use this branch, some of their tests start failing. I think we'll have to change some of this patch to maintain that backwards compatibility, particularly in indigo. |
@clalancette Ahhh, that makes sense! I am not sure of any mechanisms, at least at the moment, to try and maintain the API, but will tinker around with it and see if there's a way to prevent breaking |
Whoops, looks like it was just an issue of me not updating the backwards-compatible
Er... Realized that those changes are not at all backwards-compatible haha, will see if I can redo that. Stay tuned. EDIT: I've reverted the backwards compatibility commit, as it does not actually do that. (This allows core methods to be called with only I have tried looking into the following options, with the attempts in this branch:
Overall, if a change were to be made, my favor is with 3(a) [not even backwards compatible :P] as all of the other ones are dirty as all get out. |
So, let me ask this question; how badly do you want this in Indigo, Jade, and/or Kinetic? I have no problem changing this API for Lunar going forward, but for the older, long-term distributions, I'm reluctant to change things. In particular, we don't know about any out-of-tree code that is going to depend on this, and I hate to break things that are already working. What do you think of merging this for just Lunar? |
This is purely aesthetic (and not even "critical" aesthetics), so I could definitely go for merging it into Lunar. I can make that 3(a) change, and then resubmit rebased onto Lunar. Does that sound good to you? |
Actually, do we even need to make the 3(a) change? If we are just declaring backwards-incompatibility, can we go with the code as-is? Or am I missing something? |
bfea002
to
e0ee69b
Compare
I rebased this onto the latest (I caused all of the merge conflicts, so it was my responsibility to do that). I think I'm OK with putting this into a melodic-devel branch, given the backwards-compatibility concerns. @sloretz, do you have any issue with that? |
@clalancette melodic release for this sounds good to me. |
I've now run a prerelease with this PR against as many packages as possible. There were no failures relevant to this PR that I saw. I also did a by-hand inspection of the python code of the direct downstream users, just to see if there were any obvious breakage. This inspection is incomplete by the nature of Python, but at a basic glance, nothing looks like it will break. I've also retargeted this to melodic-devel. @sloretz unless you have any last-minute objections, I'm going to merge this in soon. |
Please see original PR #8 for details.
@clalancette Sorry for the delay, but I've rebased this feature on the latest revision of
indigo-devel
.Please let me know if there are any other changes that you would like to see.
Thanks!