CMakePP / CMinx

Generates API documentation for CMake functions and macros
https://cmakepp.github.io/CMinx/
Apache License 2.0
14 stars 5 forks source link

Update dependencies for python 3.10 and fix docs command #63

Closed AutonomicPerfectionist closed 2 years ago

AutonomicPerfectionist commented 2 years ago

Both Sphinx and PyInstaller required updates to work with python 3.10, this PR updates them. There was also a small inconsistency in how the make docs command worked: with CMinx, it required you to manually install cminx to the virtual environment so Sphinx can access it. I did not notice this because until recently I always had it installed there for testing anyway. This PR fixes this by installing it in editable mode to the build virtual environment during dependency resolution.

@ryanmrichard we can also change the dependency requirements to use ~= to get security updates while staying in the same major and minor version, is that something that would be of interest?

Fixes #62

codecov[bot] commented 2 years ago

Codecov Report

Merging #63 (7d92696) into master (d544b42) will increase coverage by 85.65%. The diff coverage is 96.87%.

@@             Coverage Diff             @@
##           master      #63       +/-   ##
===========================================
+ Coverage        0   85.65%   +85.65%     
===========================================
  Files           0        9        +9     
  Lines           0      955      +955     
===========================================
+ Hits            0      818      +818     
- Misses          0      137      +137     
Flag Coverage Δ
unittests 85.65% <96.87%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
cminx/__init__.py 89.74% <92.85%> (ø)
cminx/documenter.py 100.00% <100.00%> (ø)
cminx/parser/aggregator.py 89.89% <100.00%> (ø)
cminx/rstwriter.py 98.21% <100.00%> (ø)
cminx/parser/CMakeParser.py 69.64% <0.00%> (ø)
cminx/parser/__init__.py 100.00% <0.00%> (ø)
cminx/parser/CMakeVisitor.py 0.00% <0.00%> (ø)
... and 3 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 508569b...7d92696. Read the comment docs.

ryanmrichard commented 2 years ago

@AutonomicPerfectionist admittedly I'm having a bit of problem finding the definition of ~= online (I can find <, <=, etc.). Am I understanding you correctly that it only matches X and Y in X.Y.Z? If so, I'm okay with that.

ryanmrichard commented 2 years ago

Also what's the motivation for switching to editable mode? My understanding is that's more of a developer thing for when you're testing CMinx in a downstream dependency. If CMinx is installed in editable mode, than any changes to CMinx get picked up by the downstream dependency.

Typically when something gets installed that thing, along with everything it needs, gets moved to the install location. For example, it's not uncommon to want to do something like: clone repo, install executable, delete cloned repo, use installed executable. As I understand it, with editable mode CMinx will link to files in the repo so deleting the repo would break it.

AutonomicPerfectionist commented 2 years ago

It's only installing in editable mode to the build virtual environment, the actual installation done via make install creates a standalone binary decoupled from the repo. The reason I chose editable mode is because changing files in the repo and rerunning make docs is expected to produce modified documentation, without it you would also need to reconfigure the project.

AutonomicPerfectionist commented 2 years ago

@ryanmrichard this PR should be good to go, let me know if there's anything you'd like changed