-
-
Notifications
You must be signed in to change notification settings - Fork 46
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
Add Composer Require Checker configuration #112
Conversation
9cb4e97
to
fab1a5a
Compare
e72a954
to
f5d0163
Compare
f5d0163
to
80e6264
Compare
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.
Ok, so what do we do about failures now? :D I suppose we replace some class references with strings at first?
+----------------------------------------------------------+--------------------+
| Unknown Symbol | Guessed Dependency |
+----------------------------------------------------------+--------------------+
| Interop\Container\ContainerInterface | |
| Laminas\Authentication\AuthenticationService | |
| Laminas\Authentication\AuthenticationServiceInterface | |
| Laminas\Escaper\Escaper | |
| Laminas\Feed\Writer\Feed | |
| Laminas\Feed\Writer\FeedFactory | |
| Laminas\Filter\FilterChain | |
| Laminas\Http\Response | |
| Laminas\I18n\Translator\TranslatorAwareInterface | |
| Laminas\I18n\Translator\TranslatorInterface | |
| Laminas\Mvc\ModuleRouteListener | |
| Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger | |
| Laminas\Navigation\AbstractContainer | |
| Laminas\Navigation\Navigation | |
| Laminas\Navigation\Page\AbstractPage | |
| Laminas\Paginator\Paginator | |
| Laminas\Permissions\Acl\Acl | |
| Laminas\Permissions\Acl\Role\RoleInterface | |
| Laminas\Router\RouteMatch | |
| Laminas\Router\RouteStackInterface | |
| Laminas\ServiceManager\AbstractPluginManager | |
| Laminas\ServiceManager\Exception\InvalidServiceException | |
| Laminas\ServiceManager\FactoryInterface | |
| Laminas\ServiceManager\Factory\InvokableFactory | |
| Laminas\ServiceManager\ServiceLocatorInterface | |
| Laminas\ServiceManager\ServiceManager | |
| Laminas\Uri\UriFactory | |
| Laminas\Validator\Sitemap\Changefreq | |
| Laminas\Validator\Sitemap\Lastmod | |
| Laminas\Validator\Sitemap\Loc | |
| Laminas\Validator\Sitemap\Priority | |
| Psr\Container\ContainerInterface | |
| Zend\Authentication\AuthenticationService | |
| Zend\Authentication\AuthenticationServiceInterface | |
| Zend\View\Helper\Asset | |
| Zend\View\Helper\BasePath | |
| Zend\View\Helper\Cycle | |
| Zend\View\Helper\DeclareVars | |
| Zend\View\Helper\Doctype | |
| Zend\View\Helper\EscapeCss | |
| Zend\View\Helper\EscapeHtml | |
| Zend\View\Helper\EscapeHtmlAttr | |
| Zend\View\Helper\EscapeJs | |
| Zend\View\Helper\EscapeUrl | |
| Zend\View\Helper\FlashMessenger | |
| Zend\View\Helper\Gravatar | |
| Zend\View\Helper\HeadLink | |
| Zend\View\Helper\HeadMeta | |
| Zend\View\Helper\HeadScript | |
| Zend\View\Helper\HeadStyle | |
| Zend\View\Helper\HeadTitle | |
| Zend\View\Helper\HtmlFlash | |
| Zend\View\Helper\HtmlList | |
| Zend\View\Helper\HtmlObject | |
| Zend\View\Helper\HtmlPage | |
| Zend\View\Helper\HtmlQuicktime | |
| Zend\View\Helper\HtmlTag | |
| Zend\View\Helper\Identity | |
| Zend\View\Helper\InlineScript | |
| Zend\View\Helper\Json | |
| Zend\View\Helper\Layout | |
| Zend\View\Helper\Navigation\Breadcrumbs | |
| Zend\View\Helper\Navigation\Links | |
| Zend\View\Helper\Navigation\Menu | |
| Zend\View\Helper\Navigation\Sitemap | |
| Zend\View\Helper\PaginationControl | |
| Zend\View\Helper\Partial | |
| Zend\View\Helper\PartialLoop | |
| Zend\View\Helper\Placeholder | |
| Zend\View\Helper\RenderChildModel | |
| Zend\View\Helper\RenderToPlaceholder | |
| Zend\View\Helper\ServerUrl | |
| Zend\View\Helper\Url | |
| Zend\View\Helper\ViewModel | |
+----------------------------------------------------------+--------------------+
Can we leave this pull open and periodically rebase it? I can list the stuff that we'll definitely skip and then eventually see it go green? |
@gsteel
You can convert the pull request to draft. |
Absolutely! However, it is definitely plausible because in these cases, view can be a dev dependency for these packages. i.e. Navigation already makes use of ACL right? and you couldn't use these view helpers without Alternatively, perhaps it's feasible to create new packages that integrate them together in the same way as I do understand that this would all require discussion - I feel it's worth bringing it up given the progress towards a 3 release |
That is exactly what I mean: the current planning for laminas-navigation contains the idea to allow the output with different template engines. Moving the view helper to the laminas-navigation package would therefore only be a temporary solution, which we have to think about. And this is only one example. But I like the direction for laminas-view! 👍 |
@froschdesign - I know there are larger maintenance issues at stake, but, I've (Quickly) made this: https://github.com/gsteel/laminas-view-plugin-navigation - something like this could become a hard dependency in a 2.x release here and then dropped and suggested in 3.x This alone would remove a load of dependencies from view. |
Creating a new repository is not the problem, but is it the right direction for each component or do we want to go down this path? At the moment there are open questions for me and especially from the point of view of the end user. |
Right now, view has a hard-dependency on nav but it's undeclared because the nav helpers are supposed to be optional - there's a With any luck, navigation itself could drop the dependency on view and then both navigation and view can evolve independently of each other. (Automatic dependency PRs would hopefully surface incompatibilities too) I do understand the documentation challenges, but also a package to integrate view & nav is the perfect target for this documentation. If something like this is deemed an acceptable course of action, it would make sense to relocate the existing docs for the nav related view helpers to that package too. |
And here is the problem: the handling is too complicated when I first have to read the documentation to install and run something. |
I guess I don't fully appreciate this argument. Users of view:2 will just carry on as normal. When they attempt to upgrade to view:3, the breaking changes, changelog and existing docs should be known to them, therefore it's a chore, but BC breaks are permitted in a major and they should likely know where to look or ask. New-comers to view diving in straight at 2 or 3 are going to have to read some docs to do anything, leave alone get their nav trees all setup and rendering menus and breadcrumbs etc. In both cases, the answer to "I want to render navigation trees" is effectively "Install this package and read these docs". I'd also argue that for users already familiar with both view and navigation, extracting it all into a separate package is a relatively trivial change and there's precedent with flash messenger for this. |
I mean the installation of a component and when I tried to run something and another component is needed. Please see the problems with laminas-form and laminas-paginator which needs laminas-view to render an output or laminas-feed which needs laminas-http to import feeds or Mezzio and the authentication adapters – always the same problem: trial and error. And if the dependencies are not clearly defined or no solution is found that communicates a clear next step of what needs to be installed additionally, then we repeat the old problems. To be clear, I am not against creating new components or moving the code into the related components. However, it is important to avoid expanding the patchwork and repeat old problems. Therefore, individual decisions are needed that will still fit tomorrow. |
80e6264
to
054a311
Compare
@Ocramius - OK if I rebase on 3.x for this one? I can't see a way of getting this into 2.x without loads of mucking about |
Yes, let's do it on |
4a163d9
to
e864842
Compare
Signed-off-by: George Steel <george@net-glue.co.uk>
Signed-off-by: George Steel <george@net-glue.co.uk>
Signed-off-by: George Steel <george@net-glue.co.uk>
Signed-off-by: George Steel <george@net-glue.co.uk>
Signed-off-by: George Steel <george@net-glue.co.uk>
The list is getting shorter…
|
Closing, pending resolution of laminas/laminas-ci-matrix-action#131 This PR will be a pig to rebase and merge and it'll be a long time before CI passes |
Description
Add composer-require-checker configuration so that CI runs it.