8000 Merging long standing refactor branches by michaeljones · Pull Request #1029 · breathe-doc/breathe · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Merging long standing refactor branches #1029

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

Open
wants to merge 154 commits into
base: main
Choose a base branch
from
Open

Merging long standing refactor branches #1029

wants to merge 154 commits into from

Conversation

michaeljones
Copy link
Collaborator
@michaeljones michaeljones commented May 29, 2025

This PR is designed to take over from:

It merges them into main and goes step by step to resolve the conflicts. It might be reasonable to squash all the conflict resolution down together but I think we're going to end up keeping some of the rest of the history as it is too large a change to reasonably be held in one commit in some ways.

Checklist

Sponsorship

Thank you to the GDAL Project and Melexis for sponsoring this work.

I messed this up during the merge. It should be available at the top
level as we reference the contents directly and not just in types.
As it has non standard code patterns that we need to keep.
To check if it is still needed, I don't think it is.
The 'parser' target is just an easy name now rather than a duplicate
entry.
@JasperCraeghs
Copy link

I am curious about your time estimate for this PR. I'm wondering if we should wait on an official release with this or start using a commit hash.

@michaeljones
Copy link
Collaborator Author

@JasperCraeghs - sorry for the slow response. I'm hopeful that it is only maybe 5 or so hours work to get this in a fit state but my life has been busy of late and I'm clearly not finding chunks of time to work on it. I have time today and have just settled in to work on it. I also have free time the first week of July and hope to finish it then at the latest.

@michaeljones
Copy link
Collaborator Author

@Rouslan - when you have time, could you let me know if the tests as run by 'make test' all pass on your branch? They don't pass for me on your branch and I'm wondering if I have the incorrect set up. I have tried with the latest doxygen and with 1.9.7 as that seems to be what we're targeting on CI.

With what are hopefully acceptable changes.

Some casts, some ignores, some reshuffles.

We could do with some explicit notes about what we're supporting.
Which I guess could be inferred from the github action files. But
some clarity on what versions are supported, what it means to support
certain older versions and some plan for when they can be dropped.

Some issues at the moment derive from supporting Python 3.9. Though I
think we probably want tests that type check on all versions to keep
us honest and clear. (We might have them already.)
I think this is missing and causing some errors on the jobs.
This is a guess about what is expected from looking at the doc
utils code.
We can't render the full docs for the same class twice.
We're happy enough if the pull request trigger is there and we don't
need both triggering for each push to a pull request.

We might considered having 'push to main' enabled but nothing else.
This renders the title of the groups & pages instead of their less
friendly assigned name.
So that we get 'file' instead of 'DoxCompoundKind.file'
@michaeljones
Copy link
Collaborator Author

I think the comparison is looking ok. Definitely a couple of references not being handled in this branch vs main but possibly just less than ideal rather than blocking. It would be good to get them fixed though.

The tests are failing and it would be good to better understand them. I'm afraid I'm not sure what the intention of the tests are or what needs to be updated when they fail. I guess sometimes it is the code and sometimes the fixtures but I'm not sure which in this case (though likely the code, I guess.)

@Rouslan
Copy link
Rouslan commented Jun 22, 2025

@michaeljones Unfortunately, I'm going to be quite busy myself for the next week or so. I'll check it out when I find some time. In the meantime, there are a few things to note:

First of all, for Doxygen 1.9.7 (I don't remember about 1.9.5 and 1.9.6, but 1.9.4 should be fine) and up, test_example[cpp_anon] will always fail. The way Doxygen handles anonymous entities changed and this has never been addressed.

Make sure you merge my latest changes. Updates to Sphinx and Doxygen broke some of the tests, so I had to make some changes.

Unfortunately, my tests are brittle. They rely on the specific output of Doxygen. Several XML attributes are ignored when doing the comparisons but otherwise the tags and non-whitespace text have to match. To accommodate multiple versions, I have a system that allows multiple versions of tests results. For example, in tests/data/examples/test_index, there is "compare.xml" and "compare-1.11.0.xml". For Doxygen versions 1.11.0 and up, "compare-1.11.0.xml" is used; otherwise, "compare.xml" is used. So far, I only made it work, up to version 1.12.0. 1.13.0 introduced a bug that affected the output (doxygen/doxygen#11541), and I had decided to wait instead of incorporating the undesired output.

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

Successfully merging this pull request may close these issues.

3 participants
0