feat(doc): Adding Doxygen documentation to core files#307
Conversation
|
Thanks for the contribution @AAGandomi ! I'll try to take a look in the following days |
|
Hey Aras, thanks for this (I expect, first!) PR. I'll also be reviewing it in the coming weeks! |
|
Almost done with mem.c and vm.c. I will push the second and last set of commits during |
7b4ed62 to
60f2cdb
Compare
|
Hello @josecm and @danielRep , I made myself familiar to https://bao-project.readthedocs.io/en/latest/development/code_documentation.html but I have prioritize content over form. My main focus for this contribution was to capture the objective of the functions and their coupling with the rest of the software. This is meant to be a starting point. The guidelines I have tried my best to stick to:
I have intentionally deviated from Bao's guidelines' form, which may be reverted or fixed in future iterations:
I can see the following improvements to be made (on top of a regular review) before merging:
|
Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
All the fixes resulting from everyone's review will be squashed here. Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
Co-authored-by: Daniel Oliveira <drawnpoetry@gmail.com> Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
Co-authored-by: Daniel Oliveira <drawnpoetry@gmail.com> Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
Hello @danielRep ,
Just for reference, this is generated when using 3 different return tags: While this is the doxygen output when only one is used (as you suggested): The indented format used for For context: I have introduced those @josecm @danielRep IMHO the only changes left for this PR are for linting (and CI issues). I will follow up with a new PR on CI/workflow to introduce doc linting and doxygen checks. |
This update addresses the Doxygen warnings on deprecated configurations. The version update itself was performed with doxygen assistance. On top of it, many improvements to the configuration have been performed manually (see below). To improve clarity, the following have been set/altered: - PROJECT_NAME - PROJECT_NUMBER - PROJECT_BRIEF Furthermore, this commit is part of an effort to document core files' functions. As such, the following configuration has been altered to (at least temporarily) prevent warnings and errors from doxygen. - EXTRACT_LOCAL_CLASSES - HIDE_UNDOC_MEMBERS - WARN_IF_UNDOC_ENUM_VAL - HIDE_UNDOC_MEMBERS - EXTRACT_LOCAL_CLASSES - EXCLUDE_PATTERNS As a clarifying note on EXCLUDE_PATTERNS: files in src/arch and src/platform, header files and remio.c are brought outside the scope of Doxygen to avoid errors. These files either 1. Lack documentation; 2. The documentation is insufficient; 3. The documentation is using custom formatting (e.g. @vm). In the opinion of the author, `remio.c` requires many QA improvements, many of which can result in a documentation rewrite. For this reason, the file has been excluded from doxygen's scope. The following settings are enabled for strict quality control over function documentation: - WARN_IF_INCOMPLETE_DOC - WARN_NO_PARAMDOC Finally, the following settings have been enabled to invite the use of Doxygen in the CI: - WARN_AS_ERROR - NUM_PROC_THREADS - TIMESTAMP Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
The following actions have been performed: 1. Grammar check and spell check on doxygen documentation. 2. Styling check: empty lines before and after detailed descriptions. 3. Styling check: end tags with a period (to close the sentence or list). All findings have been reviewed and fixed. Assisted-by: Qwen 3.5 9b, opencode, harper-cli. Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
Doxyfile has been modified to produce a warn log (doxywarn.log). This change should simplify processing any warning or error. Logs (.log) have been added to .gitignore, to prevent mishaps. Signed-off-by: Aras Ashraf Gandomi <aras.gandomi@gmail.com>
|
First, sorry for the delayed reply @AAGandomi . Very busy in the last weeks, but I'm back to this activity.
Agree.
Sounds good!
I see. Let's keep it as you've proposed then.
Got it.
I'm on those PRs too. Let's try to push this in the following weeks as soon as @josecm get's some free time. From my part, I'm just doing a last review and approve if nothing pops up. |
|
Alright, no problem. I will keep pushing some more stuff here, very small stuff (typos and leftover). As per the merge, I suggest to keep the commits on specific files and then squash any following fix in 62cf5d7. |


This is still a very early work in progress and the proposed documentation is still under an initial review for QA.
Get doxygen and run it in the repository to produce an HTML output in "build/doxygen/html".