Skip to content

Conversation

zollqir
Copy link
Collaborator

@zollqir zollqir commented Apr 24, 2024

This PR fixes all outstanding documentation and compilation warnings in PythonMonkey's build system.

In addition, it adds a pre-commit hook that prevents committing code that does not match our style configurations for C++, JS, and python files using uncrustify, eslint, and autopep8, and tells you how to fix it (this can be toggled off if you know what you're doing though).

Finally, it implements 4 separate build types which can be configured using the BUILD_TYPE environment variable, as described in the README. For example, to do a debug build, you would do BUILD_TYPE=Debug poetry install. Another environment variable has been added to enable building the docs (which is off by default now), BUILD_DOCS. To build the docs, you would do BUILD_DOCS=1 poetry install.

NOTE: The 3 linting commits ( aae30e, 16dc31, 58cd4b ) consist solely of stylistic changes to many files in order to match our style configurations, as otherwise when anyone commits a file that has yet to be changed, the pre-commit hook will force them to lint it themselves before they can commit. I've added these to the .git-blame-ignore-revs file, which can be set with git config blame.ignorerevsfile .git-blame-ignore-revs to hide those commits from git blame (this is automatically done when running setup.sh.

This PR also removes JavaScript and TypeScript files from our Doxygen docs, as they were resulting in many errors due to Doxygen not actually supporting these languages. We would need to use either a Doxygen filter file (which basically just transforms the code into C++ or some other supported language), or a different documentation system like JSDoc.

Also, as Tom mentions here #283 (comment), we would be able to include mac11 in our CI now that we're not using prebuilt uncrustify binaries.

closes #205
closes #268
closes #283
closes #284

Xmader and others added 30 commits April 23, 2024 15:29
…` timers could be run

When a `std::vector` gets expanded, reallocation happens, and the memory block is moved to somewhere else.
We could no longer use a pointer to the handle after reallocation, but no problem if we use indices (i.e. the `timeoutId`).
fix English

Co-authored-by: philippedistributive <151072087+philippedistributive@users.noreply.github.com>
Co-authored-by: philippedistributive <151072087+philippedistributive@users.noreply.github.com>
…tivated again when a finished timer gets re-refed.
A new reference to `jobFn` is created in `enqueueWithDelay` by `PyCFunction_New`, so we are safe to decrease the reference count here.

Co-authored-by: Caleb Aikens <caleb@distributive.network>
@zollqir zollqir force-pushed the caleb/build/overhaul branch from 73a5015 to 8220674 Compare April 30, 2024 14:47
@zollqir zollqir force-pushed the caleb/build/overhaul branch 2 times, most recently from ff85b28 to d08ef40 Compare April 30, 2024 17:30
@zollqir zollqir force-pushed the caleb/build/overhaul branch from d08ef40 to 8c700e4 Compare April 30, 2024 17:37
@zollqir zollqir force-pushed the caleb/build/overhaul branch 2 times, most recently from ebc16f8 to b75327d Compare April 30, 2024 19:20
@zollqir zollqir force-pushed the caleb/build/overhaul branch from b75327d to e525634 Compare April 30, 2024 20:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request javascript Pull requests that update Javascript code release-blocker
Projects
None yet
3 participants