Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

(Testing PHP 8) Allow double JSON pointers in configuration files. #1857

Conversation

aaronweeden
Copy link
Contributor

@aaronweeden aaronweeden commented May 21, 2024

This PR is a merge of #1806 and #1854 to test their compatibility via CircleCI. This PR is intended to be abandoned after the testing is completed.

eiffel777 and others added 13 commits May 17, 2024 14:59
- acl-config
  - `join` function signature has changed in PHP8
- RealmManager.php
  - The order in which these values were being returned differed between PHP7.2
    and PHP8.0. I've just added code to force the ordering to be as we expect.
- ExportBuilder.php
  - PHP8 is more strict in what it allows in function signatures and optional
    arguments (arguments with default values) cannot come before required
    arguments (arguments without default values).
- Visualization.php
  - HSVtoRGB: PHP7.2 did more coercing of types than PHP8 does so we needed an
    explicit cast to int here.
- pdoAggregator.php
  - The previous code here expected that `current` would always return an
    `array` when it can also return a `bool`. I've just updated the code to take
    this into account.
- HpcdbHostsIngestor.php
  - updated the function signature of `transform` so that it matches it's parent
    `pdoIngestor`
- aRdbmsDestinationAction.php
  - This code previously assumed that `$item['alias']` was going to be an array
    and that it would contain a key 'as'. I just made it explicit.
- composer.json
  - Added PHP8.0 to the list of supported PHP's.
  - Updated phpoffice/phpword's version to * because the previous version
    doesn't support PHP8
  - Updated PHPUnit to 9+ as it was the most recent version that supported
    PHP8.0

PHPUnit9+ changes

The "types" of changes in this commit are all related to PHPUnit9+ and PHP8:
- PHP8 reports a larger mantissa than in PHP7.2 so a few values have been
updated to reflect that.
- PHPUnit9+ uses actual namespacing so anywhere there was
  `PHPUnit_Framework_TestCase` has been changed to
  `\PHPUnit\Framework\TestCase`. The same basic idea was applied to Errors and
  Exceptions as well.
- PHPUnit9+ has added some new functions, deprecated others, and removed yet
  others. There are numerous locations where substitutions for curently
  recommended functions were made.
- phpunit.xml.dist files have been updated

Documentation Changes
- The upgrade documentation has been upgraded to reflect the update of PHP to
  8.0. Upgrade scenarios include:
  - XDMoD 10.5 on EL7
  - XDMoD 10.5 on EL8
Yeah, this was an interrim change that should have been removed /
consolidated.
Co-authored-by: Joe White <jpwhite4@buffalo.edu>
@aaronweeden aaronweeden deleted the fix-configuration-transform-object-php8 branch May 23, 2024 13:17
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants