Skip to content

Ensure PHP 8.1 Compatibility#29

Merged
nibra merged 48 commits into1.x-devfrom
unified
Jan 27, 2022
Merged

Ensure PHP 8.1 Compatibility#29
nibra merged 48 commits into1.x-devfrom
unified

Conversation

@nibra
Copy link
Copy Markdown
Contributor

@nibra nibra commented Jan 25, 2022

Pull Request for Issue #

Summary of Changes

Testing Instructions

Documentation Changes Required

nibra added 30 commits December 16, 2021 13:53
A lot of files are identical throughout the different packages.
This is the base for unifying them for easier handling.
Some packages use 'tests' as tests directory, while other use 'Tests'. The reference in phpunit.xml.dist is adjusted accordingly.
The images used for tests with these versions have problems with using composer (giving curl error 60), so they are removed for now, until a solution is found.
Used for signing the generated .drone.yml file
Generate .drone.yml
There's a bug in the lowest possible version of phpunit/phpunit-mock-objects. Therefore, that dependency gets updated separately.
The public API contains methods being named _ (e.g., joomla/language)
Some libraries and APIs use snake case names, causing code style checker to complain.
As some packages irreversibly violate our code style by using underscores in variable and method names, the loose check will let names with underscore pass. This check must pass. The strict check is applied without any exceptions, but allowed to fail, so we still get informed about these violations.
Joomla.NamingConventions.ValidVariableName.NotCamelCaps was still checked.
Since the CMS has expressed a need for PHP 8.1 compatible versions of the packages from Framework 1, compatibility should also be tested.
PHPUnit 6.5 fails on PHP 8.1
Attempt to circumvent the problem with "Fatal error: Cannot acquire reference to $GLOBALS"
This reverts commit 3ff2c8566762d022c29c03f7370b4415708aa1fe.
This reverts commit 27ee84f71de1431043e7248a388c0989042b8b29.
Remove 'ignore-deps' directive from PHP 8 pipelines
This is an attempt to find the cause for tests not even being executed under certain, yet unknown, circumstances.
The phpunit.xml should only specify values that are required by the test environment. Everything that the tests themselves require should be made available via bootstrap.php.
The tests rely on JPATH_ROOT being defined.
The tests rely on JPATH_ROOT being defined.
Composer will use PHPUnit 4.8.36 otherwise.
A lot of files are identical throughout the different packages.
This is the base for unifying them for easier handling.
Some packages use 'tests' as tests directory, while other use 'Tests'. The reference in phpunit.xml.dist is adjusted accordingly.
There's a bug in the lowest possible version of phpunit/phpunit-mock-objects. Therefore, that dependency gets updated separately.
The public API contains methods being named _ (e.g., joomla/language)
Some libraries and APIs use snake case names, causing code style checker to complain.
As some packages irreversibly violate our code style by using underscores in variable and method names, the loose check will let names with underscore pass. This check must pass. The strict check is applied without any exceptions, but allowed to fail, so we still get informed about these violations.
Joomla.NamingConventions.ValidVariableName.NotCamelCaps was still checked.
Since the CMS has expressed a need for PHP 8.1 compatible versions of the packages from Framework 1, compatibility should also be tested.
PHPUnit 6.5 fails on PHP 8.1
Attempt to circumvent the problem with "Fatal error: Cannot acquire reference to $GLOBALS"
This reverts commit 3ff2c8566762d022c29c03f7370b4415708aa1fe.
nibra added 18 commits January 10, 2022 18:17
This reverts commit 27ee84f71de1431043e7248a388c0989042b8b29.
Remove 'ignore-deps' directive from PHP 8 pipelines
This is an attempt to find the cause for tests not even being executed under certain, yet unknown, circumstances.
The phpunit.xml should only specify values that are required by the test environment. Everything that the tests themselves require should be made available via bootstrap.php.
The tests rely on JPATH_ROOT being defined.
The tests rely on JPATH_ROOT being defined.
Composer will use PHPUnit 4.8.36 otherwise.
@nibra nibra merged commit e069ec3 into 1.x-dev Jan 27, 2022
@Hackwar Hackwar deleted the unified branch April 24, 2023 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant