-
-
Notifications
You must be signed in to change notification settings - Fork 22
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
Proposal: Better integration with Doxygen config files #124
Comments
Hi, thank you very much for your help. My previous configuration worked for my small project, especially without a real Doxyfile. But for I think it's time to make a change. CompatibilityI don't know in which projects this tool is used, but this way of transformation will definitely help. The new schema doesn't support dashes, so it will be necessary to change it to underscore. ChangesIf you have the time to update this project and add a better integration with Doxygen, I would be very grateful. Thanks |
Hey, thanks for the positive feedback! CompatibilitySo if I understand correctly you suggest doing my suggested changes together with switching to the new MkDocs config schema, and do one compatibility breaking release for both? Sounds good in general. I've seen #110 before, it looks like a set of nice improvements! Is there much missing to get it finished? I guess issue is that such big changes are always hard to finish, esp for such a free time project. Maybe better to split it up an focus on the config schema changes first? I might be able to help a bit. Just as as side-note, I'm currently just experimenting with MkDoxy to see if we can eventually use it for Blender. This isn't too high priority and really just an experiment. I'll try to contribute to address issues I find meanwhile, but it's possible that I'll have to drop out at some point. If we end up using MkDoxy for Blender we might be able to contribute some more. |
Hi, thank you for the explanation. You got it right. The best way will be one braking release. I think the schema has the highest priority. Blender documentationI appreciate that you are trying this plugin 😇 |
👍 Is this something you're planning to get back at or do you need help? |
WIP PR: #123 (contains more fixes, planning to split this up depending on outcomes here).
MkDoxy already supports passing doxygen configuration files (I'll call them Doxyfiles) via
doxy-cfg-file
but has some issues. I found these while trying to run MkDoxy with Blender's Doxyfile.While it is useful to control the configuration via
mkdocs.yml
, more advanced setups will probably want to use Doxyfiles for configuration. This way projects can also keep using Doxygen independently of their MkDocs based documentation, e.g. to output their API documentation in different formats. Not much is needed to make this work well I think.Issue: Doxyfile's
"INPUT"
ignoredThe Doxyfile's
"INPUT"
configuration is completely ignored, and instead thesrc-dirs
configuration of MkDoxy is used, which isn't clear or expected. This is a quite important setting, it's good to respect.Possible solution
Not quite sure. Some options:
"INPUT"
could be merged withsrc-dirs
(make both absolute and de-duplicate - or does Doxygen ignore duplicates?)src-dirs
is only taken if"INPUT"
is empty"INPUT"
is error.Probably good to print out the resulting
"INPUT"
for the user.Issue: Relative paths in Doxyfile don't work
Doxyfiles often use relative paths, e.g. to refer to the source code as
INPUT
or additional assets, like afooter.html
. For this to work the Doxygen command needs to be executed from the directory these paths are relative to.Possible solution
Always execute
doxygen
from the directory containing the Doxyfile? I think this is typically what projects expect, although we might have to provide a way to provide a different directory.Issue: Fails because XML isn't generated
Our Doxyfile doesn't enable XML output, so running
MkDoxy
fails with little information:FileNotFoundError: [Errno 2] No such file or directory: '/tmp/mkdocs_qtqsplwy/assets/.doxy/Blender/xml/index.xml'
Possible solution
Since we run doxygen for the specific purpose of getting XML output, override the config so only XML output is generated.
Proposal on combining
mkdocs.yml
config with DoxyfileI'd propose the following way to build the final configuration:
doxy-cfg-file
if provided, otherwise defaults as nowXML = YES
,HTML = NO
,LATEX = NO
"INPUT"
issrc-dirs
merged (de-duplicated) with Doxyfile's"INPUT"
"OUTPUT_DIRECTORY"
is always overridden with a temp directory, as nowdoxy-cfg
entries always override (applied last, can override"INPUT"
and"OUTPUT_DIRECTORY"
)Unclear: Compatibility
The suggested changes would break compatibility. I'm not sure what the usual compatibility policy is in this project. It does seem to me however that the current doxygen configuration file support is too limited to be used, basic configuration files only work since #121.
The text was updated successfully, but these errors were encountered: