After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 726219 - python3 import style causes doxygen to ignore some inheritances
python3 import style causes doxygen to ignore some inheritances
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.8.6
Other Linux
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2014-03-13 06:44 UTC by qz
Modified: 2016-01-09 18:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
config file + two very short .py files that reproduce the bug (78.34 KB, application/x-gzip)
2014-03-13 06:44 UTC, qz
Details

Description qz 2014-03-13 06:44:43 UTC
Created attachment 271685 [details]
config file + two very short .py files that reproduce the bug

An old python2's style of import statement was: "from foo import *"

In python3, it becomes "from .foo import *"
and also such statements do appear: "from . import something"

This small dot prevents doxygen from linking the classes correctly. The diagrams appear to be scattered in different sections instead of having only one diagram containing all classes.

In the attached example, run "doxygen Doxyfile" will create the wrong doc. (Also already included). Open html/index.html and check Classes > Root: the classes B1 and C1 are missing

If you suppress the dot (in another_class.py, just change the line "from .root_classes import *" to "from root_classes import *"), and then run "doxygen Doxyfile", you'll see that the classes B1 and C1 now show up when checking Classes > Root.

The example I provide does not execute correctly BUT it shows the bug very clearly and the same bug shows up on my project, which DOES execute correctly (but which is too big to provide as example) (plus, the workaround - see below, that's no patch... - that I applied successfully on my project, consists of deleting these dots that seem to cause problem to doxygen).

More details:
- I have also tested this with doxygen 1.7.6.1 (original install from my distro) but also doxygen-1.6.3/ and with doxygen-1.8.6/ (compiled from source)
- Kernal info: Linux 3.2.0-35-generic #55-Ubuntu SMP i686 i386 GNU/Linux
- I use Python 3.2.3

Workaround:
I make a copy of my project and in the main directory, I change the new statements back to the old ones by executing:
sed -i 's/from \. //g' */*.py */*/*.py */*/*/*.py */*/*/*/*.py
sed -i 's/from \./from /g' */*.py */*/*.py */*/*/*.py */*/*/*/*.py

For information, the project that executes correctly and where the bug shows up:
Python2 version: (no bug when doxygenning)
https://sourceforge.net/p/mathmaker/code/ci/legacy_python2/tree/
Python3 version: (bug shows up)
For now, on the dev branch, the last commit (116adc0) executes fines
Comment 1 Dimitri van Heesch 2014-04-12 14:04:34 UTC
Confirmed. Should be fixed in the next GIT update.
Comment 2 Dimitri van Heesch 2014-04-21 10:09:26 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.7. Please verify if this is indeed the case. Reopen the
bug if you think it is not fixed and please include any additional information 
that you think can be relevant (preferrably in the form of a self-contained example).
Comment 3 c.buhtz 2016-01-09 18:16:02 UTC
It would be easier for me to monitor that code change when you would point to the concrete commit or if you would use the Issue-system of your git-hoster.

It would be easier and more secure than for you, too. Because I am able to test the new code quickly out of git.
Comment 4 Dimitri van Heesch 2016-01-09 18:20:57 UTC
For this just look at the change log and search for this bug number:
https://www.doxygen.org/manual/changelog.html

I resolve all assigned bugs in one go, so I cannot put different text in each report.
Comment 5 Dimitri van Heesch 2016-01-09 18:21:58 UTC
Sorry link should be http://www.doxygen.org/changelog.html
Comment 6 c.buhtz 2016-01-09 18:43:58 UTC
Sorry, this was definitly the wrong bug. :)