Skip to content

Update MkDoxy core to version 2.0 #126

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

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from
Draft

Update MkDoxy core to version 2.0 #126

wants to merge 7 commits into from

Conversation

JakubAndrysek
Copy link
Owner

@JakubAndrysek JakubAndrysek commented Feb 17, 2025

Update MkDoxy core to version 2.0

  • upgrade to new MkDocs config

TBD

Summary by Sourcery

Update the MkDoxy core to version 2.0, which includes updating the minimum MkDocs version, supported Python versions, and removing IDE configuration files.

Enhancements:

  • Update the minimum required version of MkDocs to 1.4.0.

Chores:

  • Update the package version to 2.0.0.
  • Update supported Python versions to include 3.13.
  • Remove the project's IDE configuration files.

Copy link

sourcery-ai bot commented Feb 17, 2025

Reviewer's Guide by Sourcery

This pull request updates the MkDoxy core to version 2.0. It includes changes to the package version, MkDocs dependency, and the removal of the .idea directory.

Updated class diagram for setup.py

classDiagram
    class setup.py {
        -name: str
        -version: str
        -description: str
        -long_description: str
        -long_description_content_type: str
        -url: str
        -author: str
        -author_email: str
        -license: str
        -classifiers: list
        -packages: list
        -install_requires: list
        -extras_require: dict
        -python_requires: str
        +readme()
        +import_dev_requirements()
    }
    note for setup.py "Updated version to 2.0.0 and added Python 3.13 to classifiers"
Loading

File-Level Changes

Change Details Files
Updated the MkDoxy package version and adjusted MkDocs dependency in setup.py and requirements.txt.
  • Incremented the package version from 1.2.7 to 2.0.0.
  • Updated the minimum required version of MkDocs to 1.4.0.
setup.py
requirements.txt
Removed the .idea directory.
  • Removed the .idea directory and all of its contents.
.idea/codeStyles/codeStyleConfig.xml
.idea/inspectionProfiles/Project_Default.xml
.idea/inspectionProfiles/profiles_settings.xml
.idea/main-mkdoxy.iml
.idea/misc.xml
.idea/modules.xml
.idea/vcs.xml
.idea/workspace.xml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!
  • Generate a plan of action for an issue: Comment @sourcery-ai plan on
    an issue to generate a plan of action for it.

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@EmilyBourne
Copy link

I have tried this out on my repo (https://github.com/gyselax/gyselalibxx) using my fork EmilyBourne:ebourne-131-bad-anchors-v2 to compare with the docs that we have live that use the equivalent fork for v1: EmilyBourne:ebourne-131-bad-anchors.

I see a few differences in the generated xml files:

  • There are lots of new files associated with markdown source files. This is despite the use of FILE_PATTERNS: "*.cpp *.hpp". Some of these files already appear elsewhere with better formatting and better folder handling.
    E.g (see details for contents):
    • geometryRTheta_2README_8md.html
    • md__home_emily_Code_gyselalibxx_src_geometryRTheta_README.html
    • geometryRTheta_2README_8md_source.html
  • Classes in undocumented namespaces are now shown. This is not the expected behaviour for doxygen. See https://www.doxygen.nl/manual/faq.html#fac_al . We have EXTRACT_ALL = False so we did not expect to see files such as:
    • classdetail_1_1CollisionConfigurationData.html
  • Some of the generated files have changed. This seems to be related to the previous point. Documentation for hpp files now also contains information about objects in undocumented namespaces.

geometryRTheta_2README_8md.html:
image

geometryRTheta_2README_8md_source.html
image

md__home_emily_Code_gyselalibxx_src_geometryRTheta_README.html
image

This last is equivalent to a file usually handled (better) by mkdocs:
image

@JakubAndrysek
Copy link
Owner Author

Hi @EmilyBourne , thank you for testing.
Have you found what is different and why it is not working correctly now?

What do you suggest? Approve your PR connected with master branch and fix core-update in future, or do you have time for investigating this issue now and first deploy core-update?
As I wrote previously, I do not have time for this now, but I will find time for accepting PR and sometime for discussing some issues.

So if you have time to help me, I will be happy to accept all your PRs, but let me know what is final and what is still in progress (same for other PRs).

Thnaks

@EmilyBourne
Copy link

What do you suggest? Approve your PR connected with master branch and fix core-update in future, or do you have time for investigating this issue now and first deploy core-update?

That is one solution. For our repo I am pointing to my fork so there is n rush on my side (although maybe your other users would appreciate bug fixes).

I don't really have time to investigate either. I have some of this in my head now so it would make sense to look now, but I still don't have a full grip on how the library handles everything. The save-api option doesn't seem to be working anymore and I was using that to debug.

I can have a quick look to see if I see anything obvious but if I haven't fixed it by Monday I think you'll be on your own unfortunately.

Regarding the other PRs I am happy with the results. The changes seem pretty independent of this PR so I have opened duplicates to update master and core-update. I leave it up to you to decide which you want to merge when. I guess they need reviewing first anyway

@JakubAndrysek
Copy link
Owner Author

Hi, thank you for your time. I will try to fix the save_api option in the evening.
But other fixes probably will have to wait.

@EmilyBourne
Copy link

EmilyBourne commented May 23, 2025

Good news! Digging through the source I realised that doxy-cfg was renamed to doxy_config_dict. The other options raised a warning when they were not recognised. This one was just ignored.

With the correct key the generated files are identical except the hash file 🥳

So I think the only things that actually need fixing are:

  • save_api (I think this is too useful for debugging to lose and it should be an easy fix, unless the files are available somewhere else I don't know about?)
  • Make sure warnings are raised for deprecated keys that are now ignored (Raise warnings for unused configuration keys #139)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed high priority
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants