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

PyPI Package #98

Closed ryanmrichard closed 2 years ago

ryanmrichard commented 2 years ago

Is this pull request associated with an issue(s)? Fixes #69

Description To make this all work I relied heavily on this tutorial.

This PR makes it so that we are able to make PyPI packages from CMinx (a forthcoming PR will automate the process). To accomplish this I refactored CMinx's source into the src directory. Based on the tutorials I found online, it's strongly recommended to use such a layout to ensure that the PyPI package is tested (with this setup you have to basically install the package locally to test it). This required updating paths throughout the rest of the project.

This PR also overhauls the CMake build of CMinx. Upon moving the source to src I realized that our CMake build was quite different from the Python build. Ultimately, the CMake build is still different (we still use PyInstaller to make a self-contained executable), but now our CMake build uses the editable install of the Python build to seed PyInstaller. I also updated the packaging files so that they used the installed version of CMinx (the version in the stage directory while unit testing, and the version in the install directory after installation)

codecov[bot] commented 2 years ago

Codecov Report

Merging #98 (3edb1a4) into master (c796532) will increase coverage by 0.03%. The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #98      +/-   ##
==========================================
+ Coverage   96.00%   96.03%   +0.03%     
==========================================
  Files           6        6              
  Lines         800      807       +7     
==========================================
+ Hits          768      775       +7     
  Misses         32       32              
Flag Coverage Δ
unittests 96.03% <100.00%> (+0.03%) :arrow_up:

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

Impacted Files Coverage Δ
src/cminx/config.py 100.00% <ø> (ø)
src/cminx/documenter.py 99.11% <ø> (ø)
src/cminx/parser/__init__.py 100.00% <ø> (ø)
src/cminx/parser/aggregator.py 93.22% <ø> (ø)
src/cminx/rstwriter.py 98.26% <ø> (ø)
src/cminx/__init__.py 93.24% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

ryanmrichard commented 2 years ago

I don't understand why the coverage went down, but I'm inclined to not worry about it until @AutonomicPerfectionist completes his refactoring.

Other than that I think this PR is g2g.

AutonomicPerfectionist commented 2 years ago

@ryanmrichard I think codecov.yml needs to be updated to ignore the parser directory since it moved, codecov's coverage appears to have dropped because it started counting those again

ryanmrichard commented 2 years ago

@AutonomicPerfectionist Good catch. Yep that fixed the code coverage problem. Is this ready to merge then?