Skip to content

doc/doxygen: do not include RIOTBASE in EXAMPLE_PATH#22415

Open
crasbe wants to merge 2 commits into
RIOT-OS:masterfrom
crasbe:pr/doxygen_fix_input_paths
Open

doc/doxygen: do not include RIOTBASE in EXAMPLE_PATH#22415
crasbe wants to merge 2 commits into
RIOT-OS:masterfrom
crasbe:pr/doxygen_fix_input_paths

Conversation

@crasbe

@crasbe crasbe commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Contribution description

The PR #17572 from @kfessel added the RIOTBASE to the EXAMPLE_PATH in Doxygen. This caused the undesired behavior of Doxygen to ignore the EXCLUDE_* commands in it's Doxyfile and search everywhere for files, including the build directory as well as the {tests,examples}/*/bin directories.

This is bad because we neither want to include manufacturer provided docs nor build generated docs (from Micropython) for example.

cbuec@W11nMate:~/RIOTstuff/riot-vanillaice/RIOT$ make doc-ci
"make" -C doc/doxygen doc-ci
make[1]: Entering directory '/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/doc/doxygen'
make[2]: Nothing to be done for 'all'.
make[2]: Entering directory '/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/doc/doxygen'
( cat riot.doxyfile ; echo "GENERATE_HTML = yes" ) | /home/cbuec/RIOTstuff/riot-vanillaice/RIOT/dist/tools/doxygen/doxygen -
warning: source '/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/examples/lang_support/community/micropython/bin/nucleo-g031k8/pkg/micropython/ports/esp32/modules/umqtt/simple.py' is not a readable file or directory... skipping.
warning: source '/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/examples/lang_support/community/micropython/bin/nucleo-g031k8/pkg/micropython/ports/esp32/modules/umqtt/robust.py' is not a readable file or directory... skipping.
warning: source '/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/examples/lang_support/community/micropython/bin/nucleo-g031k8/pkg/micropython/ports/esp32/modules/upysh.py' is not a readable file or directory... skipping.
warning: source '/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/examples/lang_support/community/micropython/bin/nucleo-g031k8/pkg/micropython/ports/esp32/modules/urequests.py' is not a readable file or directory... skipping.
warning: source '/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/build/pkg/u8g2/sys/arm-linux/drivers' is not a readable file or directory... skipping.
warning: source '/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/build/pkg/corejson/test/cbmc/stubs/README.md' is not a readable file or directory... skipping.
warning: source '/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/build/pkg/corejson/test/cbmc/sources/README.md' is not a readable file or directory... skipping.
warning: source '/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/build/pkg/corejson/test/cbmc/include/README.md' is not a readable file or directory... skipping.
warning: source '/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/build/pkg/corejson/test/cbmc/proofs/run-cbmc-proofs.py' is not a readable file or directory... skipping.
warning: source '/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/build/pkg/corejson/test/cbmc/proofs/Makefile.common' is not a readable file or directory... skipping.
/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/sys/include/net/gnrc/netif/pktq.h:16: warning: Potential recursion while resolving \ref command!
/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/sys/include/net/gnrc/netif/pktq/type.h:15: warning: Potential recursion while resolving \ref command!
/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/sys/include/net/gnrc/netif/pktq.h:0: warning: Potential recursion while resolving \ref command!

Reverting that PR will break the CI preview for some packages again, but considering Doxygen 1.9.1 at this point is OLD AF, it's a price worth paying. Also more motivation to finally migrate the Doxygen generation command to make doc-ci.

image

Note that EXAMPLE_PATH can't be empty either, because the @include commands only work for files specified in this path. I set it to use the same directories as INPUT currently does.

cbuec@W11nMate:~/RIOTstuff/riot-vanillaice/RIOT$ make doc-ci
"make" -C doc/doxygen doc-ci
make[1]: Entering directory '/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/doc/doxygen'
make[2]: Nothing to be done for 'all'.
make[2]: Entering directory '/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/doc/doxygen'
( cat riot.doxyfile ; echo "GENERATE_HTML = yes" ) | /home/cbuec/RIOTstuff/riot-vanillaice/RIOT/dist/tools/doxygen/doxygen -
/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/pkg/uwb-dw1000/doc.md:6: warning: \include{doc} file 'pkg/uwb-dw1000/README.md' not found
/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/sys/include/net/gnrc/netif/pktq.h:16: warning: Potential recursion while resolving \ref command!
/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/sys/include/net/gnrc/netif/pktq/type.h:15: warning: Potential recursion while resolving \ref command!
/home/cbuec/RIOTstuff/riot-vanillaice/RIOT/sys/include/net/gnrc/netif/pktq.h:0: warning: Potential recursion while resolving \ref command!

In PR #21290 I changed the @include command in the pkg/uwb-dw1000/doc.md file to @includedoc. That command is deprecated, so I changed it to @include{doc}.

Testing procedure

The generated documentation with and without this PR is identical:

cbuec@W11nMate:~/RIOTstuff/riot-vanillaice/RIOT$ diff doc/doxygen/html doc/doxygen/html-with-pr/
diff doc/doxygen/html/_formulas.log doc/doxygen/html-with-pr/_formulas.log
1c1
< This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2022/dev/Debian) (preloaded format=latex 2026.2.4)  24 JUN 2026 16:22
---
> This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2022/dev/Debian) (preloaded format=latex 2026.2.4)  24 JUN 2026 16:18
diff doc/doxygen/html/doxygen.css doc/doxygen/html-with-pr/doxygen.css
2071c2071
< --datetime: 'Wed Jun 24 2026 16:22:46';
---
> --datetime: 'Wed Jun 24 2026 16:18:32';
2073c2073
< --time: '16:22:46';
---
> --time: '16:18:32';
Common subdirectories: doc/doxygen/html/search and doc/doxygen/html-with-pr/search

Issues/PRs references

Partly reverts #17572 from @kfessel
Partly reverts #21290 from @crasbe

Declaration of AI-Tools / LLMs usage:

AI-Tools / LLMs that were used are:

  • none

crasbe added 2 commits June 24, 2026 16:26
The includedoc command is obsolete.

Partly reverts RIOT-OS#21290.
When the EXAMPLE path is set to the root path, Doxygen will search the entire
directory and ignore the filters set in EXCLUDE_*.
This is undesired as it will also search in */bin/* subdirectories and the build/*
directory, which may contain documentation too that should not be included.
Instead, just search in the same directories that INPUT searches in.

Partly reverts RIOT-OS#17572.
@crasbe crasbe requested a review from kfessel June 24, 2026 14:27
@crasbe crasbe added Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors) Impact: minor The PR is small in size and might only require a quick look of a knowledgeable reviewer CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR CI: skip compile test If set, CI server will run only non-compile jobs, but no compile jobs or their dependent jobs labels Jun 24, 2026
@github-actions github-actions Bot added Area: doc Area: Documentation Area: pkg Area: External package ports labels Jun 24, 2026
@riot-ci

riot-ci commented Jun 24, 2026

Copy link
Copy Markdown

Murdock results

✔️ PASSED

29a893b doc/doxygen: do not use RIOTBASE as the EXAMPLE path

Success Failures Total Runtime
1 0 1 01m:12s

Artifacts

@crasbe crasbe requested a review from mguetschow June 24, 2026 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: doc Area: Documentation Area: pkg Area: External package ports CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR CI: skip compile test If set, CI server will run only non-compile jobs, but no compile jobs or their dependent jobs Impact: minor The PR is small in size and might only require a quick look of a knowledgeable reviewer Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants