-
Notifications
You must be signed in to change notification settings - Fork 49
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
WIP: make sure we install php-interop 1 when asking for the psr factory #263
Conversation
abda0a6
to
3f92725
Compare
…he 0.x versions are for the php-http factories
3f92725
to
6475fb2
Compare
@@ -78,7 +78,7 @@ class Plugin implements PluginInterface, EventSubscriberInterface | |||
'slim/psr7' => [], | |||
'laminas/laminas-diactoros' => [], | |||
'phalcon/cphalcon:^4' => [], | |||
'http-interop/http-factory-guzzle' => [], | |||
'http-interop/http-factory-guzzle:>=1' => [], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@nicolas-grekas is this not the correct way to do this? i noticed in the FOSHttpCache --prefer-lowest installs that i end up with http-interop/http-factory-guzzle 0.2.0 which is for the legacy php-http factories and not the psr factories.
when i use this branch, the plugin adds a require for http-interop/http-factory-guzzle: *
and then goes into an endless loop. i accidentally created a reproducer in FriendsOfSymfony/FOSHttpCache#567
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had a look at the code and we don't support version constraints on the auto-installed packages.
Instead, conflict rules should be used on the consuming side (so that the correct dep is installed with or without the plugin)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the problem is that http-interop/http-factory-guzzle
is only a psr/http-factory-implementation
if we use at least version 1. we have version constraints on other packages in this list, just above, e.g. phalcon or guzzlehttp/psr7. would those also break if an older version was to be installed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The other version constraints apply on the "what's already installed" side, not on the "what should be installed" one...
thanks for the clarification. not perfect, but prefer lowest is a CI question rather than a real world use case. and with minimal php versions increasing, this particular issue will fade out. fixing this on the FOSHttpCache side for now. |
the 0.x versions are for the php-http factories