API documentation generation broken with doxygen > 1.8.7 #131

Closed
pmatilai opened this Issue Jan 20, 2017 · 3 comments

Comments

Projects
None yet
3 participants
@pmatilai
Contributor

pmatilai commented Jan 20, 2017

For whatever reason, the modules page is not generated anymore with newer doxygen versions, see http://ftp.rpm.org/api/4.13.0/ vs http://ftp.rpm.org/api/4.12.0.1/. In git master the main page is supposed to have content as well but that's also missing when the modules breakage happens.

I chased the breakage starting with doxygen 1.8.8 but didn't spot anything obvious, it's not warning or whining about anything that I can see. Help figuring that out would be most welcome.

@rpm-maint

This comment has been minimized.

Show comment
Hide comment
@rpm-maint

rpm-maint Jan 20, 2017

@pavlinamv

This comment has been minimized.

Show comment
Hide comment
@pavlinamv

pavlinamv Feb 5, 2017

Contributor

The problem is because:

In version 1.8.8 a change has taken place about handling files
with unknown / unsupported extension. Till that version they were seen as
C-like files. In version 1.8.8 and up they are skipped, but it is possible
to use your own extension and map it to a supported version.

Thus files
doc/librpm/Doxyheader
doc/hacking/Doxyheader
are skipped and that is why "Modules" are missing.

To solve the problem:
Add to both files "Doxyheader" an extension. According to the extension, change files "hacking.doxy.in" and "librpm.doxy.in" as it is in change.diff (for extension "xxx").

Another option is to configure "hacking.doxy.in" and "librpm.doxy.in" to process files without extension (no_extension). Doxygen would start to go through all files without extension - README, INSTALL, ... as C files, which could lead to undesired results. Therefore I prefer the first option.

change.txt

Contributor

pavlinamv commented Feb 5, 2017

The problem is because:

In version 1.8.8 a change has taken place about handling files
with unknown / unsupported extension. Till that version they were seen as
C-like files. In version 1.8.8 and up they are skipped, but it is possible
to use your own extension and map it to a supported version.

Thus files
doc/librpm/Doxyheader
doc/hacking/Doxyheader
are skipped and that is why "Modules" are missing.

To solve the problem:
Add to both files "Doxyheader" an extension. According to the extension, change files "hacking.doxy.in" and "librpm.doxy.in" as it is in change.diff (for extension "xxx").

Another option is to configure "hacking.doxy.in" and "librpm.doxy.in" to process files without extension (no_extension). Doxygen would start to go through all files without extension - README, INSTALL, ... as C files, which could lead to undesired results. Therefore I prefer the first option.

change.txt

pmatilai added a commit that referenced this issue Feb 6, 2017

Make peach with doxygen >= 1.8.8 (#131)
Doxygen >= 1.8.8 skips files with unknown (or missing) extension,
whereas previously they were assumed C-like. Rename the Doxyheader
files to Doxyheader.h to keep the C-association, adjust makefiles.

Thanks to Pavlina Varekova for chasing this down!
@pmatilai

This comment has been minimized.

Show comment
Hide comment
@pmatilai

pmatilai Feb 6, 2017

Contributor

Oh. I suppose it even makes sense. Fixed now, by simply giving the Doxyheader files a .h extension (commit e843855).

Thank you for figuring this out!

Contributor

pmatilai commented Feb 6, 2017

Oh. I suppose it even makes sense. Fixed now, by simply giving the Doxyheader files a .h extension (commit e843855).

Thank you for figuring this out!

@pmatilai pmatilai closed this Feb 6, 2017

pmatilai added a commit that referenced this issue Feb 16, 2017

Make peach with doxygen >= 1.8.8 (#131)
Doxygen >= 1.8.8 skips files with unknown (or missing) extension,
whereas previously they were assumed C-like. Rename the Doxyheader
files to Doxyheader.h to keep the C-association, adjust makefiles.

Thanks to Pavlina Varekova for chasing this down!

(cherry picked from commit e843855)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment