-
-
Notifications
You must be signed in to change notification settings - Fork 159
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
Generate files for multiple versions #503
base: master
Are you sure you want to change the base?
Conversation
The CI looks unhappy because of redeclaration, probaly caused by files pending for clean up? I think we may split this huge PR into several small PR (one for generating scripts, and one for each PHP version), which makes the PR easy to read & review. |
174426b
to
3375fb4
Compare
I am unsure why the generator script is giving different outputs on my laptop and in CI testing D: |
Looks like CI was only checking out the most recent revision, and the |
If you want to test this, you can add a dependency on |
Jesus 😅 just seen the lines added and was a bit afraid |
I will check rector stuff tomorrow |
Update - I've split the "removal of manually-managed deprecated functions" into a separate commit (Which can be reviewed in isolation as #536), which is removing an important feature, but isn't technically breaking it (and the following commit adds automatically-managed deprecated functions, so once both commits land, we will be good) |
4932d32
to
73f30c3
Compare
5edb219
to
5fa0bcc
Compare
tl;dr: replace ```php $function_list = read_docs(); generate_files($function_list, "../generated/"); ``` with ```php foreach(["8.1", "8.2", "8.3", "8.4"] as $version) { exec("cd docs && git checkout $version"); $function_list = read_docs(); generate_files($function_list, "../generated/$version/"); } ``` generate a bunch of stubs like generated/misc.php: ```php <?php if(PHP_VERSION == "8.1") require_once __DIR__ . "/8.1/misc.php"; if(PHP_VERSION == "8.2") require_once __DIR__ . "/8.2/misc.php"; if(PHP_VERSION == "8.3") require_once __DIR__ . "/8.3/misc.php"; if(PHP_VERSION == "8.4") require_once __DIR__ . "/8.4/misc.php"; ``` This also automates generation of "deprecated" `safe` functions (ie, instead of hard-coding `deprecated/apache.php`, any functions which needed safe wrappers in 8.1 but no longer need safe wrappers in 8.2 will have no-op stubs generated instead) Currently the `Exceptions` are shared between all versions, which I _think_ is a good idea? (Thoughts, anybody?) -
tl;dr:
replace
with
generate a bunch of stubs like generated/misc.php:
This also automates generation of "deprecated"
safe
functions (ie, instead of hard-codingdeprecated/apache.php
, any functions which needed safe wrappers in 8.1 but no longer need safe wrappers in 8.2 will have no-op stubs generated instead)Currently the
Exceptions
are shared between all versions, which I think is a good idea? (Thoughts, anybody?)