-
Notifications
You must be signed in to change notification settings - Fork 6
Extract plugin interface and logger/cache plugins #63
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
Comments
I think this is a good idea. But we should be careful not to over engineer our package design. The more packages you have the more maintenance you will get. At the moment there is quite a few issues (#56, #57, #58, #59) that will add complexity to the cache plugin. So it might be worth considering moving the cache plugin to a different package. |
Our current setup makes it quite hard to create separate/custom plugins without tons of dependencies. So what we should/could do:
Optionally: extract any plugins with external dependencies. This one is a bit harder, as we either cannot make hard dependencies in the already existing plugins, or they will kind of conflict with the current plugins package. |
i share the concern of tobias, the complexity. why would we need the
plugin interface and the plugin client separate? and does it hurt having
trivial plugins distributed along with that?
maybe we should rather move more complex plugins into separate
repositories. cache would be the most likely candidate for that. its
also less universally needed than the basic header things and retry and
similar.
|
👎 on this, we currently have too many packages IMO and don't want to separate this even more. I'm more on moving complex plugins into their own repository like @dbu said on the cache one. On the contrary i would be more in favor on merging the plugin package with the common-client package, (for me PluginClient is a common client) So that in fact we have the following packages :
|
Moving the PluginClient to client-common sounds an interesting idea. How would the dependency look like in that case:
Keeping PluginClient and Plugin interface together is a good idea, I just wrote it for the sake of completeness. Another upside of this idea: Creating separate plugin packages becomes a little bit cleaner this way IMO. The plugin implementations require a few dependencies, while client-common only require two small ones. So my vote goes two option three from the list above. |
See php-http/client-common#14 and #64 |
i can agree with the 2 pull requests. i am not sure if we gain anything by it, but it is also not worse. we need to keep the doc in sync here as well, e.g. the description of what the plugin repo provides. |
As mentioned in #61
The text was updated successfully, but these errors were encountered: