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

Making guzzle dependencies optional for optional Remote Xdebug support #15

Open
ek9 opened this issue Oct 17, 2017 · 4 comments
Open

Making guzzle dependencies optional for optional Remote Xdebug support #15

ek9 opened this issue Oct 17, 2017 · 4 comments

Comments

@ek9
Copy link
Member

ek9 commented Oct 17, 2017

Currently for Remote XDebug functionality we are depending on Guzzle. As Guzzle is popular library, we have to be quite open about supported versions so this package does not conflict with versions of the library that developers can be using (related issues: #14 ).

It would be nice to gather feedback from everyone regarding what we do with Guzzle. I believe our options are:

  • Move guzzlehttp/guzle from required to suggested in composer.json. This would make this dependency optional and only those, who use Remote XDebug would need to install it separately. This would allow developers to use any version of guzzle and ignore the Remote XDebug functionality if they do not use it. This would be reflected in the documentation etc.

  • Leave the guzzlehttp/guzzle dependency as is.

I would like to request feedback from everyone: would moving from required to suggested break some kind of compatibility or workflow that you currently use? Are there any problems that you have encountered due to us depending on guzzle (i.e. if you use specific version of guzzle like in #10 )?

I personally would be in favour of move to suggested, but this might result in worse support for Remote Xdebug.

Thank you for your time and don't be shy to provide feedback!

@ek9
Copy link
Member Author

ek9 commented Oct 17, 2017

I have released 2 new versions of this extension today:

  • v3.1.0 - uses guzzlehttp/guzzle ~4.0||~5.0. This is legacy support release, mostly for those still stuck with 4.0 or 5.0 for whatever reason. This version will not likely to receive further updates, but can be used for transition period. It is temporarily maintained on v3.1 branch.
  • v3.2.0 - uses guzzlehttp/guzzle ~6.0. This will be maintained and will receive any updates (master branch).

Whatever decision we make after gathering feedback here, will affect only future versions (3.3 or 4.0 depending on the scope of updates).

@thijswitteveen
Copy link

Thanks for updating!

Making it optional wouldn't break anything here, as I don't use the Remote XDebug functionality. If a clear errormessage is thrown in case Guzzle is missing it would be very obvious how to fix things.

Perhaps providing adapters for different Guzzle versions is a solution for the longer term, as you can just maintain 1 version of this repo, which can be updated. Changes in Guzzle can be covered in the adapters.

@masterjus
Copy link

I'd prefer suggestion way.
You can make some strategies which will be applied depending on project settings

@dannylewis-sheffield
Copy link
Contributor

I agree with the suggested way, also update the docs and clean exit with info if running in in remote mode and guzzle is not available.

@ek9 ek9 added this to the 4.x milestone Mar 22, 2018
@ek9 ek9 removed this from the 4.x milestone Mar 22, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants