Skip to content
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

Drop support of HTTPlug 1.x #106

Merged
merged 2 commits into from
Nov 29, 2020
Merged

Drop support of HTTPlug 1.x #106

merged 2 commits into from
Nov 29, 2020

Conversation

mxr576
Copy link
Contributor

@mxr576 mxr576 commented Oct 12, 2020

Closes #41

@google-cla google-cla bot added the cla: yes Indicates CLA has been signed label Oct 12, 2020
"php-http/client-implementation": "^1.0",
"php-http/discovery": "^1.0",
"php-http/httplug": "^1.1",
"php-http/discovery": "^1.6.0",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"php-http/message": "^1.0",
"php-http/message-factory": "^1.0",
"phpdocumentor/reflection-docblock": "^3.0 || ^4.0",
"psr/http-message": "^1.0",
"symfony/options-resolver": "^3.4 || ^4.0",
"symfony/property-access": "^3.4 || ^4.0",
"symfony/property-access": "^3.4.41 || ^4.4.9",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mxr576
Copy link
Contributor Author

mxr576 commented Nov 5, 2020

@arshad @arlina-espinoza @cnovak hi, may I get a review on this? These are old dependencies and having them here blocks upstream projects to depend on newer, supported versions if they would like to use them together with this library.

Copy link
Contributor

@arlina-espinoza arlina-espinoza left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mxr576 When trying to install with the latest template for Kickstart (https://github.com/apigee/devportal-kickstart-project-composer/blob/8.x/composer.json), I get the following errors:

arlina@system76:/v/w/h/c/d9$ composer require apigee/apigee-client-php:"dev-issue/41 as 2.0.6" --update-with-dependencies
./composer.json has been updated
Loading composer repositories with package information                                              Updating dependencies (including require-dev)         
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: don't install apigee/apigee-client-php 2.0.6|remove php-http/guzzle6-adapter v1.1.1
    - Conclusion: install apigee/apigee-client-php 2.0.6
    - Conclusion: don't install php-http/httplug 2.2.0
    - apigee/apigee-client-php 2.0.6 requires php-http/client-implementation ^1.0 -> satisfiable by php-http/guzzle6-adapter[v1.1.1].
    - Conclusion: don't install php-http/guzzle6-adapter v1.1.1
    - Conclusion: remove php-http/httplug v1.1.0
    - Conclusion: don't install php-http/httplug 2.1.0
    - Installation request for apigee/apigee-client-php dev-issue/41 as 2.0.6 -> satisfiable by apigee/apigee-client-php[dev-issue/41].
    - Installation request for drupal/apigee_m10n (locked at 1.7.0, required as ^1.0.0) -> satisfiable by drupal/apigee_m10n[1.7.0].
    - php-http/guzzle6-adapter v1.1.1 requires php-http/httplug ^1.0 -> satisfiable by php-http/httplug[v1.1.0, v1.0.0, v1.0.0-RC1, v1.0.0-alpha, v1.0.0-alpha2, v1.0.0-alpha3, v1.0.0-beta].
    - Can only install one of: php-http/httplug[v1.1.0, 2.x-dev].
    - Can only install one of: php-http/httplug[2.x-dev, v1.1.0].
    - Can only install one of: php-http/httplug[v1.0.0, 2.x-dev].
    - Can only install one of: php-http/httplug[v1.0.0-RC1, 2.x-dev].
    - Can only install one of: php-http/httplug[v1.0.0-alpha, 2.x-dev].
    - Can only install one of: php-http/httplug[v1.0.0-alpha2, 2.x-dev].
    - Can only install one of: php-http/httplug[v1.0.0-alpha3, 2.x-dev].
    - Can only install one of: php-http/httplug[v1.0.0-beta, 2.x-dev].
    - apigee/apigee-client-php 2.0.6 requires php-http/httplug ^2.0 -> satisfiable by php-http/httplug[2.1.0, 2.2.0, 2.x-dev, v2.0.0].
    - Conclusion: don't install php-http/httplug v2.0.0


Installation failed, reverting ./composer.json to its original content.

Looking into what other dependencies are locking php-http/httplug to ^1.0, I find:

arlina@system76:/v/w/h/c/d9$ composer why php-http/httplug -t
php-http/httplug v1.1.0 HTTPlug, the HTTP client abstraction for PHP
├──apigee/apigee-client-php 2.0.5 (requires php-http/httplug ^1.1)
│  ├──apigee/devportal-kickstart-project (requires apigee/apigee-client-php dev-issue/41 as 2.0.6)
│  ├──drupal/apigee_edge 1.18.0 (requires apigee/apigee-client-php ^2.0.4)
│  │  ├──apigee/apigee_devportal_kickstart 1.21.0 (requires drupal/apigee_edge ^1.16)
│  │  │  └──apigee/devportal-kickstart-project (requires apigee/apigee_devportal_kickstart ^1.0.0)
│  │  └──drupal/apigee_m10n 1.7.0 (requires drupal/apigee_edge ^1.16)
│  │     └──apigee/devportal-kickstart-project (requires drupal/apigee_m10n ^1.0.0)
│  └──drupal/apigee_m10n 1.7.0 (requires apigee/apigee-client-php ~2.0.3)
│     └──apigee/devportal-kickstart-project (requires drupal/apigee_m10n ^1.0.0)
├──php-http/client-common 1.10.0 (requires php-http/httplug ^1.1)
│  └──apigee/apigee-client-php 2.0.5 (requires php-http/client-common ^1.9)
│     ├──apigee/devportal-kickstart-project (requires apigee/apigee-client-php dev-issue/41 as 2.0.6)
│     ├──drupal/apigee_edge 1.18.0 (requires apigee/apigee-client-php ^2.0.4)
│     │  ├──apigee/apigee_devportal_kickstart 1.21.0 (requires drupal/apigee_edge ^1.16)
│     │  │  └──apigee/devportal-kickstart-project (requires apigee/apigee_devportal_kickstart ^1.0.0)
│     │  └──drupal/apigee_m10n 1.7.0 (requires drupal/apigee_edge ^1.16)
│     │     └──apigee/devportal-kickstart-project (requires drupal/apigee_m10n ^1.0.0)
│     └──drupal/apigee_m10n 1.7.0 (requires apigee/apigee-client-php ~2.0.3)
│        └──apigee/devportal-kickstart-project (requires drupal/apigee_m10n ^1.0.0)
└──php-http/guzzle6-adapter v1.1.1 (requires php-http/httplug ^1.0)
   └──drupal/apigee_edge 1.18.0 (requires php-http/guzzle6-adapter ^1.1.1)
      ├──apigee/apigee_devportal_kickstart 1.21.0 (requires drupal/apigee_edge ^1.16)
      │  └──apigee/devportal-kickstart-project (requires apigee/apigee_devportal_kickstart ^1.0.0)
      └──drupal/apigee_m10n 1.7.0 (requires drupal/apigee_edge ^1.16)
         └──apigee/devportal-kickstart-project (requires drupal/apigee_m10n ^1.0.0)

So it seems that to drop support for HTTPlug 1.x we would also need to require the 2.x from the apigee_edge module. Does this sound right to you?

@mxr576
Copy link
Contributor Author

mxr576 commented Nov 10, 2020

@arlina-espinoza yes it does, just php-http/guzzle6-adapter v1.1.1 has to be bumped to ^2.0, that is all.

Copy link
Contributor

@arlina-espinoza arlina-espinoza left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, created apigee/apigee-edge-drupal#525 to support it from the drupal/apigee_edge side.

@arlina-espinoza arlina-espinoza merged commit def375a into apigee:2.x Nov 29, 2020
arlina-espinoza added a commit to apigee/apigee-mock-client-php that referenced this pull request Dec 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes Indicates CLA has been signed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support PSR-17 and PSR-18 interfaces and php-http 2.x packages
3 participants