Skip to content
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

Regression - Class list missing in Group page [1.8.16 -> 1.8.17] #7772

Closed
kobalicek opened this issue May 13, 2020 · 13 comments
Closed

Regression - Class list missing in Group page [1.8.16 -> 1.8.17] #7772

kobalicek opened this issue May 13, 2020 · 13 comments
Labels

Comments

@kobalicek
Copy link

kobalicek commented May 13, 2020

Describe the bug

Doxygen 1.8.17 (and 1.8.18) won't generate class list in a documentation group while 1.8.16 generates it as expected. It's worth noting that enumerations and namespaces are generated, only class list is missing.

Attachments

If the attachment is not working for some reason, here is the content of two files that can be used to reproduce the issue:

//! \defgroup my_group My Group
//! \brief Brief description of my group
//!
//! Detailed description of my group...

//! \addtogroup my_group
//! \{

//! I'm a namespace within \ref my_group.
namespace Namespace {}

//! I'm some enum.
enum Enum {
  //! I'm enum value
  kEnumValue = 0
};

//! I'm a class defined in \ref my_group.
class GroupedClass {
public:
  //! I'm some method in a class.
  void method(const char* str) {}

  // Undocumented
  void undocumentedMethod() {}
};
//! \}

Doxyfile:

PROJECT_NAME            = "Doxygen Test Project"
INPUT                   = .
XML_OUTPUT              = doc_xml
HTML_OUTPUT             = doc
CASE_SENSE_NAMES        = YES
RECURSIVE               = YES
QUIET                   = YES
FILE_PATTERNS           = *.h
ENABLE_PREPROCESSING    = YES
PREDEFINED              = __cplusplus=201703

WARN_IF_UNDOCUMENTED    = NO
MACRO_EXPANSION         = YES
EXTRACT_STATIC          = YES
EXTRACT_PRIVATE         = NO
EXTRACT_LOCAL_CLASSES   = NO
EXCLUDE_SYMBOLS         =

BRIEF_MEMBER_DESC       = NO
ALWAYS_DETAILED_SEC     = YES
GROUP_NESTED_COMPOUNDS  = YES
SHOW_FILES              = NO
SHOW_USED_FILES         = NO
SHOW_NAMESPACES         = NO
SHOW_INCLUDE_FILES      = NO
SOURCE_BROWSER          = NO
VERBATIM_HEADERS        = NO
REFERENCES_LINK_SOURCE  = NO
GROUP_GRAPHS            = NO
COLLABORATION_GRAPH     = NO
ENUM_VALUES_PER_LINE    = 0
SORT_BRIEF_DOCS         = NO
SORT_MEMBER_DOCS        = NO
SORT_GROUP_NAMES        = NO
DISABLE_INDEX           = YES
INLINE_INFO             = NO
SORT_BY_SCOPE_NAME      = NO
#INLINE_GROUPED_CLASSES = YES
SOURCE_TOOLTIPS         = NO
ALPHABETICAL_INDEX      = NO
HIDE_SCOPE_NAMES        = NO

CLASS_GRAPH             = NO
DIRECTORY_GRAPH         = NO

GENERATE_HTML           = YES
GENERATE_XML            = NO
GENERATE_LATEX          = NO
GENERATE_TREEVIEW       = NO
XML_PROGRAMLISTING      = NO

# Custom search support
SEARCHENGINE            = YES
SERVER_BASED_SEARCH     = YES
EXTERNAL_SEARCH         = YES
SEARCHDATA_FILE         = doc/searchdata.xml

doxygen-bug.zip

@albert-github
Copy link
Collaborator

albert-github commented May 13, 2020

@doxygen
Looks like this is a regression due to:

Commit: d38df57 [d38df57]
Date: Monday, October 28, 2019 9:56:03 PM
Commit Date: Tuesday, October 29, 2019 10:54:21 PM
Replaced QList<Grouping> with std::vector<Grouping>

as here the classes are not available anymore on the group / Module page, whilst after:

Commit: 94e8899 [94e8899]
Date: Monday, October 28, 2019 9:29:16 PM
Commit Date: Tuesday, October 29, 2019 10:54:17 PM
Replaced QList<BaseInfo> with std::vector<BaseInfo>

they still are.

  • See page: doc/group__my__group.html
    or
  • grep -r nested doc

@pss959
Copy link

pss959 commented Sep 6, 2020

I just came here to report a similar bug, which probably has the same cause. I hope the extra data here helps make it easier to find the problem.
Running on this C# input:

/*!
 * \defgroup TestGroup Nothing to see here
 */

/*!
 * A test.
 * \ingroup TestGroup
 */
public class Class1ThatWorks {}

/*!
 * Another test.
 * \ingroup TestGroup
 */
public class Class2ThatDoesNotWork {
}

The second class is not added to the group if GROUP_NESTED_COMPOUNDS = YES in the Doxyfile. It is added to the group if the variable is set to NO.
Fails in Version 1.8.17; used to work in 1.8.16.

@kobalicek
Copy link
Author

Shouldn't the commit that introduced the regression be reverted? I'm stuck with old doxygen now, because all recent versions are broken...

@albert-github
Copy link
Collaborator

I don't think the commit should be reverted but the problem should be solved or it should be explained why the current implementation is correct and the old one wasn't when that is the case.

@kobalicek
Copy link
Author

kobalicek commented Jan 20, 2021

I don't think not displaying classes in documentation groups should be considered a correct behavior. It's definitely a regression as older doxygen just works fine and produces the expected output. Should i upload also screenshots of the issue?

The problem is that I cannot use newer doxygen for generating documentation for my projects - all are broken now.

@albert-github
Copy link
Collaborator

No need for images as in the page doc/group__my__group.html it is quite clear between the 1.8.16 and newer versions (including 1.9.1)

@kobalicek
Copy link
Author

kobalicek commented Feb 7, 2021

Is there any chance that this will get fixed? Considering how many open issues are there I would suggest updating the documentation about the behavior and closing it. I will stay with 1.8.16 for now as it works well for my use cases.

I'm quite surprised that almost nobody else is affected by this issue though.

@albert-github
Copy link
Collaborator

albert-github commented Feb 8, 2021

I did a quick test with the 1.8.16 / 1.8.17 and the current master and it looks like the "Classes" are back but that the "Namespace" is gone now.

@doxygen
Copy link
Owner

doxygen commented Feb 9, 2021

Please try again using the referenced commit. It should make the namespace appear in the group again.

@kobalicek
Copy link
Author

kobalicek commented Feb 9, 2021

@doxygen Does it fix also missing classes in groups or just namespaces?

@doxygen
Copy link
Owner

doxygen commented Feb 9, 2021

@kobalicek as @albert-github already indicated the classes were already present in the latest version, but the namespaces had gone. That I now also repaired.

@kobalicek
Copy link
Author

I see, sorry I just reacted to the last message :) Happy to see this fixed!

@albert-github albert-github added the fixed but not released Bug is fixed in github, but still needs to make its way to an official release label Feb 10, 2021
@doxygen
Copy link
Owner

doxygen commented Aug 18, 2021

This issue was previously marked 'fixed but not released',
which means it should be fixed in doxygen version 1.9.2.
Please verify if this is indeed the case. Reopen the
issue if you think it is not fixed and please include any additional information
that you think can be relevant (preferably in the form of a self-contained example).

@doxygen doxygen removed the fixed but not released Bug is fixed in github, but still needs to make its way to an official release label Aug 18, 2021
@doxygen doxygen closed this as completed Aug 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants