1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-09 23:34:20 +00:00

Docs: Show the paths to the files used to generate the Doxygen output

This commit is contained in:
Tom Poole 2025-09-29 10:20:36 +01:00
parent 33ab417117
commit 1b460fe089
3 changed files with 23 additions and 26 deletions

View file

@ -168,7 +168,7 @@ INLINE_INHERITED_MEMB = NO
# shortest path that makes the file name unique will be used # shortest path that makes the file name unique will be used
# The default value is: YES. # The default value is: YES.
FULL_PATH_NAMES = NO FULL_PATH_NAMES = YES
# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. # The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
# Stripping is only done if one of the specified strings matches the left-hand # Stripping is only done if one of the specified strings matches the left-hand
@ -180,7 +180,7 @@ FULL_PATH_NAMES = NO
# will be relative from the directory where Doxygen is started. # will be relative from the directory where Doxygen is started.
# This tag requires that the tag FULL_PATH_NAMES is set to YES. # This tag requires that the tag FULL_PATH_NAMES is set to YES.
STRIP_FROM_PATH = STRIP_FROM_PATH = ../../modules
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
# path mentioned in the documentation of a class, which tells the reader which # path mentioned in the documentation of a class, which tells the reader which
@ -709,7 +709,7 @@ FORCE_LOCAL_INCLUDES = NO
# documentation for inline members. # documentation for inline members.
# The default value is: YES. # The default value is: YES.
INLINE_INFO = NO INLINE_INFO = YES
# If the SORT_MEMBER_DOCS tag is set to YES then Doxygen will sort the # If the SORT_MEMBER_DOCS tag is set to YES then Doxygen will sort the
# (detailed) documentation of file and class members alphabetically by member # (detailed) documentation of file and class members alphabetically by member
@ -812,7 +812,7 @@ MAX_INITIALIZER_LINES = 32
# list will mention the files that were used to generate the documentation. # list will mention the files that were used to generate the documentation.
# The default value is: YES. # The default value is: YES.
SHOW_USED_FILES = NO SHOW_USED_FILES = YES
# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This # Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
# will remove the Files entry from the Quick Index and from the Folder Tree View # will remove the Files entry from the Quick Index and from the Folder Tree View
@ -2891,7 +2891,7 @@ PLANTUMLFILE_DIRS =
# Minimum value: 0, maximum value: 10000, default value: 50. # Minimum value: 0, maximum value: 10000, default value: 50.
# This tag requires that the tag HAVE_DOT is set to YES. # This tag requires that the tag HAVE_DOT is set to YES.
DOT_GRAPH_MAX_NODES = 50 DOT_GRAPH_MAX_NODES = 65
# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
# generated by dot. A depth value of 3 means that only nodes reachable from the # generated by dot. A depth value of 3 means that only nodes reachable from the

View file

@ -49,6 +49,7 @@
<class> <class>
<briefdescription visible="no"/> <briefdescription visible="no"/>
<detaileddescription visible="yes" title=""/> <detaileddescription visible="yes" title=""/>
<usedfiles visible="$SHOW_USED_FILES"/>
<includes visible="$SHOW_HEADERFILE"/> <includes visible="$SHOW_HEADERFILE"/>
<inheritancegraph visible="yes"/> <inheritancegraph visible="yes"/>
<collaborationgraph visible="yes"/> <collaborationgraph visible="yes"/>
@ -100,13 +101,13 @@
<events visible="yes" title=""/> <events visible="yes" title=""/>
</memberdef> </memberdef>
<allmemberslink visible="yes"/> <allmemberslink visible="yes"/>
<usedfiles visible="$SHOW_USED_FILES"/>
<authorsection visible="yes"/> <authorsection visible="yes"/>
</class> </class>
<!-- Layout definition for a namespace page --> <!-- Layout definition for a namespace page -->
<namespace> <namespace>
<briefdescription visible="yes"/> <briefdescription visible="no"/>
<detaileddescription visible="yes" title=""/>
<memberdecl> <memberdecl>
<nestednamespaces visible="yes" title=""/> <nestednamespaces visible="yes" title=""/>
<constantgroups visible="yes" title=""/> <constantgroups visible="yes" title=""/>
@ -124,7 +125,6 @@
<properties visible="yes" title=""/> <properties visible="yes" title=""/>
<membergroups visible="yes"/> <membergroups visible="yes"/>
</memberdecl> </memberdecl>
<detaileddescription visible="yes" title=""/>
<memberdef> <memberdef>
<inlineclasses visible="yes" title=""/> <inlineclasses visible="yes" title=""/>
<typedefs visible="yes" title=""/> <typedefs visible="yes" title=""/>
@ -140,16 +140,17 @@
<!-- Layout definition for a concept page --> <!-- Layout definition for a concept page -->
<concept> <concept>
<briefdescription visible="yes"/> <briefdescription visible="no"/>
<detaileddescription visible="yes" title=""/>
<includes visible="$SHOW_HEADERFILE"/> <includes visible="$SHOW_HEADERFILE"/>
<definition visible="yes" title=""/> <definition visible="yes" title=""/>
<detaileddescription visible="yes" title=""/>
<authorsection visible="yes"/> <authorsection visible="yes"/>
</concept> </concept>
<!-- Layout definition for a file page --> <!-- Layout definition for a file page -->
<file> <file>
<briefdescription visible="yes"/> <briefdescription visible="no"/>
<detaileddescription visible="yes" title=""/>
<includes visible="$SHOW_INCLUDE_FILES"/> <includes visible="$SHOW_INCLUDE_FILES"/>
<includegraph visible="yes"/> <includegraph visible="yes"/>
<includedbygraph visible="yes"/> <includedbygraph visible="yes"/>
@ -172,7 +173,6 @@
<properties visible="yes" title=""/> <properties visible="yes" title=""/>
<membergroups visible="yes"/> <membergroups visible="yes"/>
</memberdecl> </memberdecl>
<detaileddescription visible="yes" title=""/>
<memberdef> <memberdef>
<inlineclasses visible="yes" title=""/> <inlineclasses visible="yes" title=""/>
<defines visible="yes" title=""/> <defines visible="yes" title=""/>
@ -189,7 +189,8 @@
<!-- Layout definition for a group page --> <!-- Layout definition for a group page -->
<group> <group>
<briefdescription visible="yes"/> <briefdescription visible="no"/>
<detaileddescription visible="yes" title=""/>
<groupgraph visible="yes"/> <groupgraph visible="yes"/>
<memberdecl> <memberdecl>
<nestedgroups visible="yes" title=""/> <nestedgroups visible="yes" title=""/>
@ -216,7 +217,6 @@
<friends visible="yes" title=""/> <friends visible="yes" title=""/>
<membergroups visible="yes"/> <membergroups visible="yes"/>
</memberdecl> </memberdecl>
<detaileddescription visible="yes" title=""/>
<memberdef> <memberdef>
<pagedocs/> <pagedocs/>
<inlineclasses visible="yes" title=""/> <inlineclasses visible="yes" title=""/>
@ -241,7 +241,8 @@
<!-- Layout definition for a C++20 module page --> <!-- Layout definition for a C++20 module page -->
<module> <module>
<briefdescription visible="yes"/> <briefdescription visible="no"/>
<detaileddescription visible="yes" title=""/>
<exportedmodules visible="yes"/> <exportedmodules visible="yes"/>
<memberdecl> <memberdecl>
<concepts visible="yes" title=""/> <concepts visible="yes" title=""/>
@ -252,7 +253,6 @@
<variables visible="yes" title=""/> <variables visible="yes" title=""/>
<membergroups visible="yes" title=""/> <membergroups visible="yes" title=""/>
</memberdecl> </memberdecl>
<detaileddescription visible="yes" title=""/>
<memberdecl> <memberdecl>
<files visible="yes"/> <files visible="yes"/>
</memberdecl> </memberdecl>
@ -260,12 +260,12 @@
<!-- Layout definition for a directory page --> <!-- Layout definition for a directory page -->
<directory> <directory>
<briefdescription visible="yes"/> <briefdescription visible="no"/>
<detaileddescription visible="yes" title=""/>
<directorygraph visible="yes"/> <directorygraph visible="yes"/>
<memberdecl> <memberdecl>
<dirs visible="yes"/> <dirs visible="yes"/>
<files visible="yes"/> <files visible="yes"/>
</memberdecl> </memberdecl>
<detaileddescription visible="yes" title=""/>
</directory> </directory>
</doxygenlayout> </doxygenlayout>

View file

@ -6,10 +6,6 @@ import xml.etree.ElementTree as ET
from xml.etree.ElementTree import Element from xml.etree.ElementTree import Element
import re import re
MODULES_DIR = Path('../../modules')
assert MODULES_DIR.is_dir()
ABS_MODULES_DIR = MODULES_DIR.resolve()
def get_module_description(module_header: Path) -> str: def get_module_description(module_header: Path) -> str:
with open(module_header, 'r') as f: with open(module_header, 'r') as f:
content = f.read() content = f.read()
@ -29,8 +25,7 @@ def createContentDict() -> dict:
} }
def getContentObjectFromPath(root_object: dict, location: str) -> dict: def getContentObjectFromPath(root_object: dict, location: str) -> dict:
path_in_modules = Path(location).relative_to(ABS_MODULES_DIR) path_components = Path(location).parts
path_components = path_in_modules.parts
contents = root_object[path_components[0]] contents = root_object[path_components[0]]
for path_component in path_components[1:-1]: for path_component in path_components[1:-1]:
if not (path_component in contents['dirs']): if not (path_component in contents['dirs']):
@ -128,9 +123,11 @@ print('--- Running Doxygen')
subprocess.run("doxygen", shell=True, check=True) subprocess.run("doxygen", shell=True, check=True)
print('--- Parsing module headers') print('--- Parsing module headers')
modules_dir = Path('../../modules')
assert modules_dir.is_dir()
modules = {} modules = {}
for module_name in os.listdir(MODULES_DIR): for module_name in os.listdir(modules_dir):
module_dir = MODULES_DIR / module_name module_dir = modules_dir / module_name
if not module_dir.is_dir(): if not module_dir.is_dir():
continue continue
module_header = module_dir / f'{module_name}.h' module_header = module_dir / f'{module_name}.h'