1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-08 23:24:19 +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 e0faa5c255
commit 79e96b598c
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
# 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.
# 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.
# 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
# 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.
# 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
# (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.
# 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
# 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.
# 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
# generated by dot. A depth value of 3 means that only nodes reachable from the

View file

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

View file

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