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

Focus Doxygen documentation #8333

Merged
merged 1 commit into from
Aug 23, 2022
Merged

Conversation

jeffro256
Copy link
Contributor

@jeffro256 jeffro256 commented May 16, 2022

Right now Doxygen is documenting everything in the repo including submodules, everything in contrib, util, tests, etc. This bogs down the documentation to the point where it is very hard to navigate. I think it would be a good move to focus on documenting only the main C++ code which is specific to this repo.

Right now this means documenting src/ (without SUPERCOP) and contrib/epee/. After this commit, Doxygen went from running >6000 graphs to about 2200 graphs.

@jeffro256
Copy link
Contributor Author

I'm also planning on adding a main page in a later commit

Doxyfile Outdated
@@ -754,7 +754,7 @@ WARN_LOGFILE =
# spaces.
# Note: If this tag is empty the current directory is searched.

INPUT = .
INPUT = contrib/epee src
Copy link
Contributor

@mj-xmr mj-xmr May 21, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd add easylogging++, qrcode and db_drivers

Copy link
Contributor Author

@jeffro256 jeffro256 May 21, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is obviously up for debate, but I decided to not include easylogging++, qrcode, and db_drivers in the documentation since they all have their own separate documentation elsewhere and adding their documentation would just (IMO) clog up Monero's documentation. I can definitely add links to theirs within our docs later on though.

Copy link
Contributor

@mj-xmr mj-xmr May 21, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

easylogging++ is definitely under our maintenance now and is quite a large contributor to the compilation time. It would make sense not to hide its complexity.

It's basically exactly the same story as epee

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree with mj. Also, adding links to the docs of the other projects would definitely help.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mj-xmr done. @LeoNero I plan to add more documentation later, but this patch is more of a "remove a crap-ton of noise" kind of a thing.

@LeoNero
Copy link

LeoNero commented Jun 27, 2022

I agree with improving Doxygen, given that the first time I opened it, I found that there were to many information not related to the Monero codebase, which does not help beginners that much :)

@@ -805,7 +805,7 @@ EXCLUDE_SYMLINKS = NO
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories for example use the pattern */test/*

EXCLUDE_PATTERNS = */build/* */contrib/depends/*
EXCLUDE_PATTERNS = */src/crypto/crypto_ops_builder/ref10*
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just curiosity, why exclude it?

Copy link
Contributor Author

@jeffro256 jeffro256 Jul 12, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because the SUPERCOP ref10 is already documented outside of Monero and it causes a huge disproportionate amount of documentation to be generated

Right now Doxygen is documenting everything in the repo including submodules, everything in contrib,
util, tests, etc. This bogs down the documentation to the point where it is very hard to navigate. I think
it would be a good move to focus on documenting only the main C++ code which is specific to this repo.

Right now this means documenting `src/` (without SUPERCOP), `contrib/epee/`, `external/easylogging++`. After this commit,
Doxygen went from running >6000 graphs to about 2200 graphs.
@luigi1111 luigi1111 merged commit 8d0487d into monero-project:master Aug 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants