Drupal 10 dependency updates

Created on 18 October 2023, about 1 year ago
Updated 10 November 2023, about 1 year ago

Problem/Motivation

Several dependencies of the Commerce Cybersource module cannot be installed due to version requirements.

Steps to reproduce

* Drupal 10.1.5
* Install Commerce
* Install Commerce Cybersource

Failure due to unmet dependencies
cybersource/rest-client-php
ยป requires php-cache/apcu-adapter
ยป requires psr/cache 2.0

Drupal 10.1.5 (core-recommended) uses psr/cache ~3.0.

* https://packagist.org/packages/cache/apcu-adapter
* https://packagist.org/packages/psr/cache

Proposed resolution

Use forks of projects for now until they support the proper versions.

๐Ÿ“Œ Task
Status

Fixed

Version

1.0

Component

Code

Created by

๐Ÿ‡บ๐Ÿ‡ธUnited States jeff.hartman

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @jeff.hartman
  • Assigned to Shreya_98
  • @shreya_th opened merge request.
  • Issue was unassigned.
  • Status changed to Needs review about 1 year ago
  • ๐Ÿ‡บ๐Ÿ‡ธUnited States jeff.hartman

    Please note: This should not be merged. This references forks of projects in my personal repo. It can be used as a reference until the original packages are updated with proper dependency versions.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States rszrama

    This is a tricky problem to solve, because the incompatibilities at the CyberSource PHP level are with Drupal core itself. There's not much we can do about it. I tried using a repositories array in this module's composer.json, but that apparently only works at the project level. As such, what I've done is fork the CyberSource client library and am trying to figure out if everything still works.

    At this point, SAHC appears to work fine, but I'm getting a token generation error in testing Flex v2 that may be related to the fact that I had to update to a new version of the JWT library CyberSource depends on in order to resolve a Symfony Console incompatibility with Drupal core. ๐Ÿคฆ๐Ÿปโ€โ™‚๏ธ

    Ultimately, we need CyberSource to update their library. We need to figure out how to make this work in the meantime through our own fork. I'm not 100% sure yet the issue is in the dependency update, so leaving this as needs review until we can sort it out.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States rszrama

    fwiw, you can find the fork as the centarro/cybersource-rest-client-php on Packagist. I've already committed the composer.json update to 8.x-1.x.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States rszrama

    Ok, my issue was really just that the Merchant ID is case sensitive for Flex even if it isn't for logging in to the sandbox or using SAHC. ๐Ÿคฆ๐Ÿปโ€โ™‚๏ธ

    All working great, but the module is now D10 only as a result (given D9 and D10 have incompatible Symfony Console dependencies).

  • Status changed to Fixed about 1 year ago
    • rszrama โ†’ committed 0570fbcb on 8.x-1.x
      Issue #3394990 by rszrama: revise the .info.yml to only support D10
      
  • Automatically closed - issue fixed for 2 weeks with no activity.

Production build 0.71.5 2024