-
Notifications
You must be signed in to change notification settings - Fork 41
Improved Build System #322
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…` 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`).
…ss the job function succeeds or not
…tInterval` callback
…mented `Timeout.refresh()` method
…require the event-loop
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>
…SCode visual debugger
currently set to ignore linting commits
73a5015
to
8220674
Compare
ff85b28
to
d08ef40
Compare
d08ef40
to
8c700e4
Compare
…k/PythonMonkey into caleb/build/overhaul
ebc16f8
to
b75327d
Compare
b75327d
to
e525634
Compare
…k/PythonMonkey into caleb/build/overhaul
…k/PythonMonkey into caleb/build/overhaul
philippedistributive
approved these changes
May 1, 2024
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 doBUILD_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 doBUILD_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 withgit config blame.ignorerevsfile .git-blame-ignore-revs
to hide those commits fromgit blame
(this is automatically done when runningsetup.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